• Nenhum resultado encontrado

3 Trabalhos Relacionados

5.2 Verificação do Modelo

5.3.5 Teste Estatístico

Conforme observado nos resultados apresentados, algumas diferenças de latência fo- ram de menos 100 ciclos. Dessa forma, é preciso analisar se essas diferenças são realmente significativas para determinar qual algoritmo é mais eficiente. Para analisar a significância

dos resultados, dois testes estatísticos foram considerados. O primeiro teste é o de Kruskal- Wallis (BRESLOW, 1970) o qual verifica se há diferença estatística entre os resultados de todos os algoritmos avaliados. Ou seja, ele toma como entrada todas as amostras de todos os algoritmos e verifica se pelo menos um dos conjuntos de dados em análise possui uma distribuição diferente dos restantes. Contudo, ele não indica qual algoritmo é diferente, sendo necessária a aplicação de um pós-teste. O segundo teste aplicado é o Mann-Whitney (RUXTON, 2006), o qual testa se há diferença estatística entre dois conjuntos de dados analisados. Com isso usamos o Kruskal-Wallis como um teste para verificar se os resulta- dos dos algoritmos apresentam ou não diferenças entre si e usamos o Mann-Whitney no caso onde há diferença para saber quais algoritmos apresentam tais diferenças.

Em ambos testes estatísticos aplicados, objetiva-se verificar as seguintes hipóteses nulas:

• (Kruskal-Wallis) H0: As distribuições dos resultados de todos os algoritmos são

iguais.

• (Mann-Whitney) H0: As distribuições das amostras são iguais.

Para esse casos, nós podemos rejeitar ou não rejeitar H0 baseando-se nos resultados

dos p-valores dados pela aplicação dos testes estatísticos de acordo com um determinado valor de significância, que para este trabalho foi fixado em 0, 05. No caso do Kruskal-Wallis, quando de rejeita H0 diz-se que pelo menos um algoritmo avaliado apresenta distribuição

diferente dos restantes, contudo não se sabe qual algoritmo é diferente. Quando H0 não

é rejeitado diz-se que todos os algoritmo apresentam desempenho similares. Já no caso do Mann-Whitney, quando se rejeita H0 diz-se que as performances dos dois algoritmos

testados são diferentes e se consegue saber qual obteve o melhor desempenho através dos cálculos das métricas de tendência central como médias, medianas, por exemplo. E quando H0 não é rejeitado, diz-se que as performances de ambos são iguais.

O teste estatístico de Kruskal-Wallis foi aplicado considerando um total de 700 con- juntos de dados, variando PIR, roteamentos e tamanho da NoC (20 x 5 x 7 = 700). Os resultados para o GAD mostraram que em todas as aplicações existe diferença, sendo elas de no mínimo 8% (MPEG4) e máximo 94% (VOPD). O teste para o MD mostrou que também há diferença estatística entre os resultados nessa métrica. Contudo, houve uma redução no percentual de resultados onde há significância. Nesse caso, existe diferença de no mínimo 13% (IR) e no máximo 49% (TREE).

Para verificar quais algoritmos que são estatisticamente diferentes dos demais, é apre- sentado na Tabela 8 os percentuais de resultados significativos quando um determinado algoritmo apresenta melhor desempenho do que o outro comparado (em termos de média das métricas avaliadas). Na sequência, é apresentada uma análise por aplicação dos testes apresentados na Tabela 8.

Tabela 8: Percentual de resultados significativos identificados com a aplicação do teste estatístico de Mann-Whitney. GAD (%) MD (%) AT AG AM BLS TP AGT AT AG AM BLS TP AGT IR AT 0 15 16 29 7 33 0 5 5 7 3 9 AG 0 0 1 15 3 9 3 0 1 4 3 3 AM 0 2 0 14 3 8 4 2 0 3 2 3 BLS 0 0 1 0 0 4 4 2 2 0 2 2 TP 3 14 13 30 0 33 2 6 5 7 0 8 AGT 0 0 0 10 1 0 5 2 2 2 4 0 MPEG4 AT 0 2 3 2 1 3 0 5 4 2 6 5 AG 2 0 4 3 3 3 4 0 2 2 5 4 AM 2 2 0 3 3 3 4 2 0 2 7 2 BLS 2 2 2 0 2 2 3 3 4 0 4 4 TP 5 5 5 6 0 6 15 14 12 10 0 18 AGT 1 2 1 2 1 0 4 2 2 2 7 0 MWD AT 0 78 79 76 49 85 0 18 19 26 5 25 AG 0 0 2 30 4 15 5 0 2 4 3 4 AM 0 1 0 31 4 14 4 1 0 5 5 2 BLS 0 4 4 0 0 7 4 3 3 0 5 2 TP 0 26 29 59 0 56 1 8 5 14 0 12 AGT 0 0 1 24 0 0 6 2 3 5 5 0 PIPE AT 0 18 15 34 4 33 0 18 18 34 4 34 AG 4 0 2 7 2 5 4 0 2 9 5 3 AM 3 1 0 7 1 4 3 2 0 6 3 3 BLS 1 2 3 0 3 4 2 2 3 0 2 4 TP 2 10 8 22 0 22 2 8 11 24 0 20 AGT 3 2 2 3 2 0 3 2 2 5 3 0 TREE AT 0 26 21 39 8 40 0 26 28 41 8 41 AG 6 0 2 9 3 5 6 0 2 7 5 6 AM 5 1 0 9 2 6 4 2 0 8 2 7 BLS 3 2 4 0 4 4 3 4 4 0 4 5 TP 2 11 9 25 0 23 3 10 10 27 0 26 AGT 4 3 3 6 3 0 8 4 3 4 3 0 VOPD AT 0 83 83 77 17 90 0 12 12 22 3 19 AG 0 0 2 38 0 15 3 0 1 5 4 4 AM 0 1 0 39 0 14 3 2 0 3 4 3 BLS 0 11 10 0 0 16 2 1 3 0 5 4 TP 2 86 85 81 0 91 2 11 9 20 0 17 AGT 0 1 0 26 0 0 3 2 1 3 4 0

• Para a aplicação IR, os resultados dos testes estatísticos mostraram que o AT e o TP são bastante competitivos entre si e melhores do que os outros algoritmos. Ambos

chegaram a apresentar 33% de resultados significativos quando ganham, quando comparados com o AGT na métrica GAD. Os testes para o MD mostraram que todos os algoritmos são bastante similares nessa métrica.

• Na aplicação MPEG4, os testes mostraram que todos os algoritmos são bastante similares na métrica GAD e que o TP é melhor na métrica MD chegando a apresentar 18% de resultados significativos quando ganhar, quando comparado com o AGT. • Para a aplicação MWD, os testes mostraram que o AT é superior em ambas as

métricas, mostrando percentuais de 85% e 26% para o GAD e MD, respectivamente. • Na aplicação PIPE, os testes estatísticos mostram uma superioridade do AT, uma vez que ele apresenta percentuais chegando a 34% em ambas as métricas (GAD e MD).

• Na aplicação TREE, os testes estatísticos mostram superioridade do AT, uma vez que ele apresenta percentuais chegando a 40% e 41% para a métricas GAD e MD, respectivamente.

• Por fim, na aplicação VOPD, os testes estatísticos mostraram que o AT e o TP são bastante superiores do que os outros algoritmos na métrica GAD, chegando o AT apresentar a 90% e o TP a apresentar 91% de resultados significativos, quando comparados com AGT. Contudo, o AT se mostrou superior, pois apresenta maior percentual de resultados significativos quando ganha do TP, sendo 17% contra 2% do TP. Quando analisados os testes para a métrica MD, ambos se mostram competitivos e superiores aos outros algoritmos.

5.3.6

Considerações

Com base nos resultados apresentadas, é notório que o AT se destaca entre os algo- ritmos comparados apresentando melhores resultados na maioria das aplicações (MWD, PIPE, TREE) e com resultados estatisticamente similares ao TP em duas aplicações (IR e VOPD). Observe que as outras propostas (AG e AM) não apresentaram desempenho tão bom quanto ao do AT. O motivo estar na forma como esses algoritmos tratam a questão da alocação. Neles, manipulações dos cromossomos possuem um caráter mais aleatório. Já no AT, assim como no TP, a manipulação das soluções são mais voltadas ao problema abordado. No AT o operador de Plasmídeo age juntando as comunicações com maior in- tensidade em núcleos vizinhos, já o operador de Renovação atua criando novas soluções

que são geradas aleatoriamente, porém essa aleatoriedade é limitada, guiando a geração de soluções satisfatórias para o problema abordado. No caso do algoritmo TP, existem dois operadores que atuam nas linhas e colunas do MPSoC baseado em NoC alvo, os quais aplicam perturbações na estrutura das soluções, gerando soluções de qualidade.

5.4

Mapeamento Dinâmico

Os resultados experimentais para as heurísticas de mapeamento dinâmico de tarefas descritas na seção 4.3 são mostrados nesta seção. Como apresentado na seção 4.3, foram propostas duas heurísticas, ambas baseadas na metáfora dos Algoritmos Transgenéticos. Apesar disso, elas são conceitualmente diferentes, pois uma usa o conceito de população e a outra não, porém ambas se beneficiam das mesmas informações heurísticas, sendo elas a ordenação das tarefas baseando-se na quantidade de informações trocadas entre cada par de tarefas, e nas informações já contidas na estrutura cromossômica dos endossimbiontes (ou soluções).

Para comparação, foi escolhido um trabalho na literatura de alocação dinâmica de tarefas que seja relativamente recente e que no artigo em que ele foi proposto, ele apre- sente a melhor performance quando comparado com outros algoritmos da literatura. Além disso, foi escolhido um trabalho cuja reprodução (implementação) seja claramente des- crita. Logo, o algoritmo escolhido para comparação foi o Weighted-based Neighborhood Allocation (WeNA) proposto por Huang et al. (2015). Conforme descrito em Huang et al. (2015), esse algoritmo apresenta resultados de latência de comunicação e potência melho- res do que os outros algoritmos da literatura como o Contiguous Neighborhood Allocation (CoNA) (FATTAH et al., 2012), First Free (FF) e Nearest Neighbor (NN) (CARVALHO; CALAZANS; MORAES, 2007).

Os experimentos foram realizados considerando o mesmo ambiente computacional usado para os resultados dos algoritmos para mapeamento estático de tarefas e que é descrito nas seções 5.2 e 5.3. Para esses experimentos as mesmas aplicações avaliadas no mapeamento estático também foram consideradas, porém aqui é assumido que todas devem executar ao mesmo tempo no sistema, variando apenas quais tarefas e comunicações de cada uma delas deverão estar ativas em um determinado momento. Como ao todo são 68 tarefas, então, no máximo, teremos essa quantidade de tarefas ativas. Por esse motivo foram escolhidas duas dimensões de NoC que já haviam sido consideradas para avaliação nos resultados do mapeamento estático e que possibilitem a alocação de todas as tarefas

de maneira que cada núcleo receba no máximo uma tarefa. Logo, são consideradas duas NoCs com topologia mesh 2D, sendo uma com dimensão 9x9 (81 núcleos) e a outra com dimensão 10x10 (100 núcleos).

Como mencionado na seção 5.3.3, o fluxo para obtenção dos resultados de simulação é similar ao apresentado na Figura 20 para o mapeamento estático, diferenciando-se apenas em como a instância é representada, uma vez que cada instância possui várias matrizes de fluxo, onde cada uma representa uma aplicação diferente. Além disso, as soluções geradas pelos algoritmos de otimização são apenas de mapeamento e o fluxo apresentado na Figura 20 é executado durante uma quantidade específica de iterações.