O processo de avaliação de desempenho é realizado pela análise de um conjunto de quatro fatores, identificados como P, C, S e B, referidos adiante como fatores PCSB. O fator
Pconsiste em um valor numérico inteiro correspondente ao número de unidades distribuídas disponíveis para processamento, sendo associado com os seguintes níveis: 1, 2, 4, 6, 8, 10, 20 e 30. O fator C consiste nas cargas de trabalho a serem processadas, cujos níveis encontram-se definidos na Tabela 13: AMA, SKI, POK, LIV . O fator S consiste nos sistemas que serão comparados, sendo os níveis Gust, Gust-Metis, GraphX e Giraph respectivamente abreviados da seguinte forma, respectivamente: GUS, MET , GRA e GIR. Gust-Metis representa o próprio Gust, porém com balanceamento de carga realizado pela ferramenta Metis (KARYPIS; KUMAR, 1995). O fator B consiste nos tipos de benchmarks usados, os quais implementam os algoritmos de ranqueamento de páginas, enumeração de triângulos e caminho mínimo, respectivamente representados pelos níveis PR, T RI, SSSP.
Configuração Total
P[20, 30] ×C[LIV ] × S[GUS,GRA] × B[PR,T RI,SSSP] 12 P[6, 8, 10] ×C[AMA,SKI,POK,LIV ] × S[GUS,MET,GRA,GIR] × B[PR,T RI,SSSP] 144
P[4] ×C[AMA,SKI,POK,LIV ] × S[GUS,MET,GRA] × B[PR,T RI,SSSP] 36 P[4] ×C[AMA,SKI,POK] × S[GIR] × B[PR,T RI,SSSP] 9
P[4] ×C[LIV ] × S[GIR] × B[T RI,SSSP] 2
P[2] ×C[AMA,SKI,POK,LIV ] × S[GUS,MET ] × B[PR,T RI,SSSP] 24 P[1] ×C[AMA,SKI,POK,LIV ] × S[GUS] × B[PR,T RI,SSSP] 12
Total 239
Tabela 15 – Configuração de experimentos
No processo experimental, definem-se os fatores e seus conjuntos de níveis com expressões do tipo X[x1, ..., xn], onde X é um dos fatores PCSB, e x1, ..., xno conjunto de níveis
utilizado por X. A Tabela 15 apresenta todas as configurações de experimentos a serem realizados. Por exemplo, a expressão P[6,8,10] ×C[AMA,SKI,POK,LIV] × S[GUS,MET,GRA,GIR] × B[PR, T RI, SSSP] refere-se a um total de 144 experimentos, combinando o número de níveis. A remoção de níveis significa que o nível que deveria ser avaliado não conseguiu ser executado com a devida configuração. Por exemplo, Giraph não conseguiu executar em 4 unidades distribuídas com a carga LIV no PR, em decorrência de falta de memória. Isso implica na remoção de GIRpara PR, pois atingiu seu limite para o número de unidades distribuídas/carga. De fato, o critério de eliminação consiste em o framework não conseguir executar seu trabalho em pelo menos 50% das tentativas, ou seja, quando o sistema começa falhar repetidas vezes torna- se inviável coletar suas medidas. Além disso, realizam-se testes com 20 e 30 unidades de processamento apenas com o Gust e o GraphX, uma vez que Giraph excedeu o limite de memória com processadores com múltiplos núcleos, usados a partir do nível 10. Dessa forma, 10, 20 e 30 consistem respectivamente na alocação de 1, 2 e 3 processos por processo trabalhador.
O ponto de corte é em 30, uma vez que, acima disso, GraphX também excedeu o limite de memória. Aos experimentos que se aplicam apenas ao Gust, como é o caso de P[1]/P[2], cada experimento é realizado através da repetição de 10 execuções, uma vez que o desvio padrão é mínimo e as medidas servem apenas como parâmetros do próprio Gust. Para as demais experiências, conforme sugerido na literatura, cada experimento é realizado através da repetição de 31 execuções, gerando 31 medições de tempo. Isso caracteriza uma variável aleatória cuja média define a tendência central do tempo de execução.
Optamos pela eliminação de valores discrepantes (outliers), permitindo que os dados amostrais sejam aproximados a uma distribuição normal. Um outlier consiste em um valor com tempo de resposta baixo ou elevado demais em comparação às respostas de outras medições. Suas ocorrências são provavelmente originárias de variações inesperadas em um ou mais nós do clusterdurante uma determinada execução. Para as características destes experimentos, devem ser eliminados outliers relativos a valores elevados. Porém, todo tempo medido só é confirmado após validação dos dados de saída da execução, feita por soma de verificação (checksum), bem como análise manual em busca de eventuais falhas. Com essa confirmação, inserem-se dados em uma planilha eletrônica, para que ao término dos experimentos sejam identificados e eliminados os outliers. A taxa de remoção foi abaixo dos 20%.
Além dos fatores diretamente relacionados com métodos estatísticos, inclui-se tam- bém uma seção para discussão sobre as características de programação oferecidas pelos sistemas, resultado da adaptabilidade, modularidade e abstração nesses sistemas. Em seguida, destacam-se os métodos estatísticos aplicados aos dados medidos.
6.1.1.1 Métodos
Fatores PCSB e seus níveis são organizados para realização de avaliação de desem- penho, que consiste em cálculo de intervalos de confiança (IC) a 95%, casos de testes com Test-t, tabelas de experimentos fatoriais (JAIN, 1991) e gráficos. Além disso, define-se o IC também para a sobrecarga do uso do Gust frente aos outros sistemas. Para isso, na comparação entre dois sistemas, um IC de sobrecarga (em valor percentual) é calculado da seguinte forma: dados os intervalos [g0, g1] para Gust e [x0, x1] para algum framework GRA ou GIR, os valores mínimo
e máximo da sobrecarga de uma execução Gust são dados respectivamente por (g0− x1)/x e
(g1− x0)/x, tal que x = (x0+ x1)/2. Sobrecargas negativas indicam melhor desempenho na
Fatores Níveis/efeitos Definições
P [6, 8, 10]/Pk Número de unidades de processamento
C LIV Carga LiveJournal
S [MET, GUS, GRA, GIR]/Sj Sistemas comparáveis
B [PR, SSSP, T RI]/Bi Benchmarks
yi jk= média de um conjunto de medições yi jkn, onde n é o índice da medição válida µ= média geral
µi..= média do i µ. j.= média do j µ..k= média do k
Sj= µ. j.− µ, é o efeito do fator S no nível j Bi= µi..− µ, é o efeito do fator B no nível i Pk= µ..k− µ, é o efeito do fator P no nível k Por exemplo, P8é a média das linhas cinza - µ
S P B média efeito PR SSSP TRI 6 yi jk yi jk yi jk MET 8 yi jk yi jk yi jk µ. j. Sj 10 yi jk yi jk yi jk 6 yi jk yi jk yi jk GUS 8 yi jk yi jk yi jk µ. j. Sj 10 yi jk yi jk yi jk LIV 6 yi jk yi jk yi jk GRA 8 yi jk yi jk yi jk µ. j. Sj 10 yi jk yi jk yi jk 6 yi jk yi jk yi jk GIR 8 yi jk yi jk yi jk µ. j. Sj 10 yi jk yi jk yi jk
média µi.. µi.. µi.. µ efeito Bi Bi Bi
P média efeito 6 µ..k Pk 8 µ..k Pk 10 µ..k Pk
Tabela 16 – Tabela de experimentos fatoriais com a carga fixa LIV e processadores limitados a 6, 8, 10
Tabelas de experimentos fatoriais são destinadas a calcular efeitos de nível de fator, especificamente Pk, Sj e Bi, conforme descrito nos exemplos da Tabela 16. Um efeito apenas
diz o quanto a média de execuções do nível está afastada da média geral, de modo que a soma dos efeitos é zero. Quando a média geral é subtraída da média do nível, efeitos com melhores resultados ficam abaixo de zero, enquanto os piores ficam acima. Portanto, zero ou próximo de zero representa igualdade. Neste trabalho, as tabelas de experimentos fatoriais serão apresentadas com P[6,8,10] unidades de processamento, quando todos os sistemas estão presentes e conseguem executar a carga LIV , bem como quando a distribuição dos dados tende a atingir todo o cluster. Através disso, busca-se verificar numericamente quais são os níveis com desempenho próximo ou divergente.