• Nenhum resultado encontrado

3 Trabalhos Relacionados

5.2 Verificação do Modelo

5.3.3 Metodologia de Simulação

Os experimentos foram executados no mesmo ambiente computacional descrito na seção 5.2, porém aqui foi alocado apenas 1 núcleo de processamento e 4 GB de RAM para cada execução. Para cada algoritmo avaliado foram feitas 30 execuções independentes. Cada simulação realizada é resultado de uma configuração de solução diferente. Ou seja, para cada simulação foi executada uma otimização que resultou em uma determinada configuração de mapeamento. Para os experimentos foram considerados 20 diferentes va- lores de Taxa de Injeção de Pacotes (do inglês, Packet Injection Rate - PIR), variando de 0,0001 a 0,002 com incremento de 0,0001. Os experimentos consideraram 7 dimensões de NoC variando de 4x4 a 10x10. Além disso, para uma melhor avaliação da qualidade das soluções foram considerados cinco algoritmos de roteamento diferentes, sendo eles: o roteamento dado pelo modelo (Math), XY, Odd-Even (OE), West First (WF) e Ne- gative First (NF). Logo, para cada combinação de algoritmo, PIR, dimensão de NoC e roteamento, foram executadas 30 sequências de otimizações e suas respectivas simulações. Ou seja, cada simulação é dependente de uma determinada otimização. Contudo, cada sequência de otimização e simulação nas diferentes combinações são independentes entre si. A Tabela 6 apresenta um resumo da quantidade de simulações realizadas.

Tabela 6: Resumo da quantidade de simulações realizadas.

Combinação Número de Simulações

Total 756000 Algoritmo 126000 Algoritmo/Roteamento 25200 Algoritmo/Roteamento/Aplicação 4200 Algoritmo/Roteamento/Mesh 3600 Algoritmo/Roteamento/Mesh/Aplicação 600 Algoritmo/Roteamento/Aplicação/PIR 210 Algoritmo/Roteamento/Mesh/PIR 180 Algoritmo/Roteamento/Mesh/Aplicação/PIR 30

A ferramenta de simulação utilizada foi a Noxim (CATANIA et al., 2015). Para se obter os resultados de simulação foi necessário adaptar a ferramenta para inserção dos mapeamentos gerados pelos algoritmos, assim como a inserção do roteamento gerado pelo modelo do PMR. No primeiro caso, o comportamento da aplicação foi inserido como um novo padrão de tráfego e as origens e destinos foram as alocações das tarefas. Para o segundo caso, foi inserida uma tabela de roteamento global, onde todos os roteadores têm acesso a ela. Os parâmetros de simulação da Noxim são apresentados na Tabela 7. Nesta tabela os valores dos parâmetros com um marcador * foram inseridos para os experimentos

realizados neste trabalho. O restante são valores default da ferramenta. Como critério de parada das simulações foram definidas as seguintes condições: entrega de 100.000 flits ou limite de tempo de simulação de 100.000.000 de ciclos.

Tabela 7: Parâmetros usados na Noxim.

Parâmetro Valor

Profundidade do buffer 4 flits Tamanho do flit 32 bits Período de clock 1.000 ps Tempo de reset 1.000 ciclos Tempo de simulação * 100.000.000 ciclos Tamanho do Pacote * Fluxo de comunicação

Para simplificação da explicação sobre o fluxo de otimização realizado para obten- ção dos resultados do mapeamento estático, na Figura 20, apresentamos cada estágio de realizado para o obtenção dos resultados.

Figura 20: Representação gráfica do fluxo da otimização realizada para obtenção dos resultados.

Como pode ser visto, primeiramente a instância é passada para a estratégia de otimi- zação usada, a qual dará como resultado a solução de mapeamento e roteamento assim como o custo associado a solução obtida. Depois disso, essa solução é passada para o simu- lador, o qual executará, gerando os resultados das métricas de desempenho. Note que esse fluxo descreve como é feita a simulação para o contexto de alocação estática de tarefas. Já no contexto da alocação dinâmica, a diferença é em como é representada a instância, pois cada instância possui várias matrizes de fluxo (cada uma representando uma aplicação), as soluções geradas pelos algoritmos de otimização são apenas de mapeamento e esse fluxo apresentado na Figura 20 é executado durante uma quantidade específica de iterações.

5.3.4

Resultados

Nas seções seguintes são apresentados os resultados das simulações. Primeiramente, será apresentado o percentual de simulações que foram desconsideradas da análise e ex-

plicados os motivos para tal fato.

5.3.4.1 Informações Desconsideradas

Nos dados obtidos nas simulações para os algoritmos BLS, TP e AGT, foi obser- vado que algumas simulações não possuíam resultados de latências e outras não haviam ocorrido. O motivo do primeiro caso foram as configurações de solução geradas pelos algoritmos. Tais configurações acarretaram em um grande congestionamento que o flit terminador das mensagens não pode ser entregue, o que fez a simulação terminar com valor indefinido de latência. No segundo caso, o motivo foi a não existência de roteamento viável dado pelo modelo para a configuração de solução gerada. Note que para os algorit- mos híbridos isso não ocorre. Ou seja, as soluções geradas proveem um melhor escoamento das informações na rede.

Na Figura 21 são mostrados os percentuais de informações descartadas devido a (a) congestionamento e (b) não existir roteamento viável. Nos gráficos são plotados apenas os resultados para os algoritmos da literatura, uma vez que para as math-heurísticas propostas isso não ocorreu.

Na Figura 21a, considerando um total de 25.200 simulações para cada algoritmo nos diferentes roteamentos, vê-se que o BLS é o que mais apresenta esse comportamento, sendo o que possui o maior percentual em todos os roteamentos. Esses percentuais representam um total de 69, 45, 49, 66 e 26 simulações, respectivamente, para cada um dos roteamen- tos. Na Figura 21b, considerando o mesmo número de simulações para cada algoritmo apenas no roteamento Math (25.200), tem-se que o BLS também apresenta um maior percentual, sendo esses 2,04% representando 513 simulações. Nos outros dois algoritmos, esses percentuais representam 154 e 162, respectivamente, para o TP e AGT. Logo, para os resultados de simulação, foram desconsiderados esses percentuais de simulações, uma vez que não se teve as métricas analisadas.

Todas as simulações que foram desconsideradas chega a um percentual de 4,65, distri- buídas em 3,05 para o BLS, 0,76 para o TP e 0,84 para o GAT. Esses valores percentuais são baixos, contudo servem para mostrar que existem casos onde os algoritmos compara- dos geram soluções com alto grau de congestionamento quando simuladas, já os algoritmos propostos não geram esse tipo de solução.

Note que todos os algoritmos híbridos propostos neste trabalho (AG, AM e AT) ba- seiam sua otimização no modelo do Problema de Mapeamento e Roteamento (PMR), o

(a)

(b)

Figura 21: Percentuais de informações desconsideradas.

qual considera uma restrição de capacidade dos canais. Isso mostra que, considerar essa restrição no processo de otimização, possibilita a geração soluções com menores congestio- namentos na simulação, o que pode ser visto pela análise dos percentuais de simulações que não tiveram pacotes entregues (Figura 21a). Em todas as propostas de math-heurísticas deste trabalho os pacotes foram entregues.

Além disso, os resultados também mostram que quando se considera o produto de fluxo e distância as soluções geradas podem estar muito agrupadas, fazendo com que alguns canais sejam bastante utilizados, tornando inviável a construção de um roteamento que se baseia na capacidade.

5.3.4.2 Simulações

Os resultados apresentados nesta seção são agrupados considerando os percentuais to- tais de ganhos em atraso médio global (do inglês, Global Average Delay - GAD) e atraso máximo (do inglês, Maximal Delay - MD) de cada algoritmo nos seguintes aspectos: ga- nhos totais; por roteamento; e por aplicação. Em outras palavras, fixando um dos aspectos, é calculado quantas vezes na média das 30 sequências de otimizações e simulações um de- terminado algoritmo foi melhor do que todos os outros nas diferentes combinações desses aspectos. Para mostrar as diferenças em termos de ciclos entre cada um desses algorit- mos, também são apresentados os resultados considerando essas métricas por aplicação e tomando o AT como referência, uma vez que ele apresentou um maior percentual de ganho em todos os aspectos analisados. Por fim, resultados de testes estatísticos também são apresentados, os quais verificam a significância dos dados.

Na Figura 22 são apresentados os percentuais totais de ganho dos algoritmos. Para esses resultados foram consideradas 126.000 simulações, como descrito na Tabela 6. Os resultados mostram que o Algoritmo Transgenético (AT) é o que mais ganha, sendo 50,71% e 41,79% das simulações para GAD e MD, respectivamente. O algoritmo que compete com ele é o Two-Phase (TP). Contudo, os valores percentuais do TP são muito inferiores, sendo 24,66% e 14,73% menores do que os do AT nas duas respectivas métricas avaliadas.

Figura 22: Percentuais de ganho dos algoritmos.

Os ganhos percentuais por roteamento são apresentados na Figura 23. Para o GAD, o AT é melhor em todos os roteamentos, mostrando ganhos maiores de 54%, com exceção do roteamento Math, onde o ganho foi de 31,67%. Na métrica MD, o AT ganha na maioria

dos casos com valores percentuais acima dos 45%, porém perde no roteamento Math para o TP, o qual apresentou ganho de 26,43%.

Note que, no roteamento Math, o percentual de ganho de todos os algoritmos foi ele- vado tanto no GAD quanto no MD. Ou seja, o Math proporcionou um balanceamento entre os algoritmos. Note também que os valores percentuais do TP no Math se man- tiveram similares aos apresentados nos outros roteamentos. Ou seja, não foi o TP que melhorou o seu percentual de ganho, foi o ganho que ficou melhor distribuído entre todos os algoritmos.

Analisando a Figura 23a nota-se que usar o roteamento dado pelo modelo do PMR garante a geração de soluções mais otimizadas em latência de comunicação. O motivo disso é que as soluções geradas são ótimas, considerando a abstração do problema no modelo proposto, o que garante que elas satisfaçam não só restrição de largura de banda, evitando grandes congestionamentos na rede, como também garante que as rotas gerada para cada comunicação sejam mínimas, o que faz com que os flits dos pacotes transferidos percorram distâncias menores.

Na Figura 24 são apresentados os ganhos por aplicação. Os resultados mostram que para todas as aplicações, com exceção da MPEG4, o AT se apresenta melhor. Os ganhos para o GAD chegam a 84,43% (MWD) e para o MD chega a 62,29%. O TP se apresenta melhor do que todos os outros algoritmos na MPEG4, sendo melhor em todas as métricas avaliadas. No AT, também para a MPEG4, os valores são mais modestos chegando a 10,14% e 7,71% para GAD e MD, respectivamente.

Pela análise dos grafos das aplicações, notou-se que a performance do AT está forte- mente relacionada a efetividade da aplicação do Plasmídeo (ver seção 4.2.4.2), o qual força a alocação das tarefas cujas comunicações possuem maior intensidade nos núcleos mais próximos possível. Nas aplicações IR, MWD, PIPE, TREE e VOPD a performance do AT foi superior em ambas métricas avaliadas. Todas essas aplicações, com exceção a VOPD, possuem todas as comunicações com iguais valores, não havendo variação alguma no peso das arestas (que representam a quantidade de fluxo informação transferida) de cada uma delas. Já na VOPD ocorre variação, pois 9 do total de 15 comunicações realizadas são de maior intensidade. Observe que na aplicação MPEG4 a performance do AT foi menos efetiva. O motivo para a baixa performance do AT é por essa aplicação possuir apenas uma comunicação com maior intensidade, o que torna ineficaz a aplicação do Plasmídeo projetado. Uma possível solução para melhorar a performance do AT, evitando o pro- blema acima descrito seria considerar não apenas a comunicação com maior intensidade,

(a)

(b)

Figura 23: Percentuais de ganho por roteamento para (a) GAD e (b) MD.

mas também um conjunto de comunicação que sejam maiores ou iguais a um determinado valor de limite.

Os valores percentuais apresentados até agora, serviram para mostrar que o AT pro- posto é superior na quantidade de vezes que ganha, embora perca em alguns casos, mais especificamente quando se avalia a aplicação MPEG4. Contudo, é necessário saber quais são as magnitudes de ganho. Ou seja, o quanto em ciclos o AT foi melhor ou pior do que os outros algoritmos. Esses resultados são apresentados nas Figuras 25 e 26 seguintes para as métricas GAD e MD, respectivamente.

Na Figura 25 são apresentadas as médias dos ganhos ou perdas em ciclos do AT com relação aos outros algoritmos na métrica GAD. Para as aplicações MWD, PIPE

(a)

(b)

Figura 24: Percentuais de ganho por aplicação para (a) GAD e (b) MD.

e TREE o AT apresenta ganhos ultrapassando 100, 400 e 700 ciclos, respectivamente. Para essas aplicações, os menores ganhos são em relação ao TP, sendo no máximo de 26,61 (PIR 0,0019), 121,92 (PIR 0,0014) e 235,48 (PIR 0,0016) ciclos, respectivamente. Nessas aplicações o AT sempre apresenta ganhos, com apenas uma exceção. A exceção é na aplicação PIPE no PIR 0,0002 onde foi apresentada uma perda de 9,83 ciclos com relação ao TP. Na aplicação IR os resultados dos algoritmos são bem próximos do AT até o PIR 0,007. A partir desse PIR, o AT apresenta ganhos que chegam a ultrapassar 300 ciclos. Contudo, existe um tendência de perda para o TP, sendo essa perda chegando a 205,59 ciclos no PIR 0,0018. Na aplicação MPEG4 é observado que o AT apresenta mais perdas do que ganhos e essas perdas são maiores para o TP, alcançando 521,83 ciclos no PIR 0,002. Por fim, na aplicação VOPD o AT ganha da maioria dos algoritmos em todos

os valores de PIR. A exceção é novamente o algoritmo TP, o qual apresenta valores bem próximos do AT, chegando a ganhar em alguns poucos casos. Nesta última aplicação os ganhos em ciclos são bem pequenos com relação aos apresentados nas outras aplicações. Contudo, os testes estatísticos que serão apresentados mostraram que esses ganhos são significativos.

(a) (b)

(c) (d)

(e) (f)

Figura 25: Valores de ganhos ou perdas de GAD do AT com relação aos outros algoritmos.

Considerando a métrica MD, as médias dos ganhos apresentados nos gráficos da Figura 26 se mostram bem similares aos da Figura 25, porém com valores mais discrepantes, uma vez que eles retratam os casos extremos de latência, ou seja, as médias das latências dos pacotes que demoraram mais tempo para serem entregues. Nota-se que o AT tem maiores perdas na aplicação MPEG4 e essas perdas são mais aparentes quando se considera os

algoritmos TP e BLS. As perdas do AT na MPEG4 chega a 2.789,37 e 1.598,68 ciclos para esses dois algoritmos, respectivamente. Contudo, no restante das aplicações o AT apresenta ganhos bastante significativos, ultrapassando os 1.500, 1.400, 1.000, 1.900 e 700 ciclos, nas aplicações IR, MWD, PIPE, TREE e VOPD, respectivamente.

(a) (b)

(c) (d)

(e) (f)

Figura 26: Valores de ganhos ou perdas de MD do AT com relação aos outros algoritmos.