• Nenhum resultado encontrado

6 EXPERIMENTOS REALIZADOS E RESULTADOS OBTIDOS

6.11 Análise dos resultados

Os primeiros resultados deste trabalho apresentados na Seção 6.2, publicados em (BRIÃO,2007), mostraram resultados relativos apenas ao tamanho do contexto das tarefas. Estes foram simulados em um sistema sem o desligamento de núcleos inativos (Power Management) em um período de tempo de apenas 200 ms de simulação. Estes resultados apresentaram-se insatisfatórios em relação ao consumo de energia em comparação com a abordagem sem o uso de migração de tarefas. A migração de tarefas proveu minimização de perda de deadlines. No entanto, o tempo 200 ms é um tempo pequeno para tirar maiores conclusões sobre a migração, e desta forma, estes experimentos concluem que a migração é somente utilizada para aplicações com pouca comunicação e com tamanhos pequenos de contexto. Neste trabalho, estes experimentos serviram como base para uma análise mais aprofundada e possibilitaram o início de uma série de novos experimentos que pudessem demonstrar a viabilidade da migração de tarefas no âmbito da Exploração de Espaço de Projeto em tempo de execução.

Os resultados apresentados na Seção 6.3, publicados em (BRIÃO,2008), apresentam resultados que permitem avaliar de maneira mais aprofundada os algoritmos bin-

162 162

packing, em uma mesma freqüência de operação dos processadores, combinados com LC. Foram realizados diversos experimentos referentes ao tamanho da rede-em-chip e a aplicação desses algoritmos. Nestes experimentos, considerou-se o desligamento de processadores inativos conjuntamente com a sua memória local. No contexto da experimentação, descobriu-se um compromisso entre perdas de deadlines e consumo de energia quando se aplicam algoritmos bin-packing e linear clusterization para alocação de tarefas em sistemas embarcados baseados em redes-em-chip. Existem dois algoritmos que ilustram este panorama: Best-Fit e Worst-Fit combinados com linear

clusterization. O algoritmo BF + LC resulta no menor consumo de energia do sistema, porém com razoável perda de deadlines. De forma contrária, o algoritmo WF + LC resulta na menor perda de deadlines, no entanto, resulta um razoável consumo de energia. Outra conclusão, é que quanto maior o tamanho da rede-em-chip, para algoritmos WF + LC, maior será o impacto da migração, já que os custos de migração são proporcionais ao número de hops.

Os experimentos até aqui mencionados não consideram dados providos do meio externo da rede-em-chip. Esses dados são tratados pelas tarefas específicas de E/S e a Seção 6.4 apresenta resultados relacionados aos algoritmos bin-packing modificados para atender esses tipos de tarefas. Os resultados apresentaram-se evidentes, ou seja, quando a comunicação externa é maior que a quantidade de comunicação interna, vale a pena alocar tarefas de E/S nas bordas da rede-em-chip, mais próximas possíveis das interfaces de E/S. Caso contrário, as tarefas de E/S devem ser tratadas da mesma forma que as tarefas convencionais, pois essas, ao serem alocadas perto das interfaces de E/S da rede-em-chip, podem gerar comunicação interna, e desta forma, pode aumentar o número de perda de deadlines e o consumo de energia.

Estes três experimentos mencionados nas Seções 6.2, 6.3 e 6.4 foram desenvolvidos a partir de um modelo de algoritmo bin-packing que considerava apenas a ocupação dos processadores, sem levar em conta restrição de memória. A Seção 6.5 apresenta resultados de alocações com migração de tarefas considerando diferentes configurações de tamanhos de memória. Esses resultados permitiram observar que quanto menor a quantidade de memória, menor será obviamente o consumo de energia do sistema, e, além do mais, a taxa de perda de deadlines aumenta drasticamente devido ao maior espalhamento das tarefas e consequentemente ao aumento da comunicação das tarefas. Quanto menor o tamanho das memórias locais dos processadores, o algoritmo BF tende cada vez mais a se aproximar do comportamento do algoritmo WF. Também foi mostrado que a técnica de redução de energia PM é interessante aplicar em tamanhos de memória acima de 4 Kb.

A Seção 6.6 apresenta uma implementação diferente do algoritmo bin-packing com restrição, que é o algoritmo bin-packing 2D. Este algoritmo, como foi mencionado na Seção 6.6, usa como função a área obtida pelo produto entre tamanho de memória e ocupação dos processadores. No entanto, os resultados apresentados na Seção 6.6 foram equivalentes aos resultados referentes aos algoritmos bin-packing com restrição.

Para o uso dos algoritmos bin-packing combinados com linear clusterization, deve- se obter informações de comparações desses algoritmos com um algoritmo ótimo15,

15O termo “ótimo” aqui empregado tem o significado de solução não-ideal, ou sub-ótimo, pois se sabe

que na área de complexidade de algoritmos, algoritmos ótimos, diferentemente do algoritmo Simulated

Annealing, são classificados como intratáveis, pois nenhum computador resolve-o num tempo satisfatório.

163 163

executado em tempo de projeto que gere uma alocação ótima de tarefas. A Seção 6.7 apresenta esses resultados em comparação com o algoritmo Simulated Annealing (SA). Os algoritmos bin-packing, especificamente os algoritmos BF + LC e WF + LC, obtiveram resultados que evidenciam um aumento de até 23% de consumo de energia e 58% de taxa de perda de deadline comparado com o algoritmo SA. Ainda assim, a justificativa do uso dos algoritmos bin-packing é que eles podem ser usados no sistema de maneira on-line, já que seus custos computacionais são muito menores que o algoritmo SA. No entanto, o algoritmo SA é mais preciso que os algoritmos bin-

packing, já que a sua execução é realizada em tempo de projeto. O SA precisou de 1000 iterações de alocação do simulador .

A Seção 6.8 apresentou experimentos quanto à variação da freqüência dos processadores para cada um dos algoritmos. Os resultados mostraram que, para cada algoritmo, existe uma freqüência diferente para anulação da taxa de perda de deadlines. Os resultados corroboraram que o algoritmo WF + LC apresentou menor freqüência para a anulação da taxa de perda de deadlines, comparado com os outros algoritmos. No entanto, o algoritmo BF + LC apresentou menor consumo de energia total, mesmo aumentando a freqüência dos processadores. Estes experimentos demonstraram que o algoritmo BF + LC é selecionado como o melhor algoritmo para distribuição de tarefas no sistema, desde que exista a possibilidade de aumentar a freqüência dos processadores. Contudo é provável que, se houver um número alto de clusters formados pelo algoritmo LC, no qual todos os processadores fiquem ativos, o algoritmo BF + LC poderá ter consumo de energia similar ao consumo de energia proporcionado pelo algoritmo WF + LC.

Todos estes experimentos mencionados foram realizados considerando apenas a migração de tarefas de inicialização16, ocorrida no início da simulação. No entanto a carga não é alterada em tempo de execução. A Seção 6.9 apresenta alguns experimentos que envolvem variação da carga de execução. Também foi alterado o tamanho do contexto para evidenciar os custos de migração e o impacto que estes ocasionam na rede-em-chip. Estes resultados demonstraram que a realocação das tarefas restantes a uma desalocação de um grafo ou subconjunto da aplicação reduz de maneira significativa tanto o consumo de energia quanto a taxa de perda de deadlines. Esta redução é atingida somente quando o sistema é executado em um tempo suficiente para amortizar cada custo de migração. Outra observação é quanto ao consumo de energia, pois a realocação das tarefas proporciona menor consumo de energia que a abordagem sem realocação, desde que as tarefas restantes sejam executadas em um tempo suficiente para amortizar o custo de migração. Este custo, como foi apresentado também na Seção 6.2, varia de acordo com o tamanho do contexto.

Os experimentos das Seções anteriores à Seção 6.10 não consideram o custo do núcleo mestre, o qual gerencia as ocupações dos demais processadores do sistema. A Seção 6.10 apresenta alguns experimentos que envolvem os custos do núcleo mestre e os custos adicionais de gerenciamento. Como foi mencionado na Seção 6.10, quanto maior o tamanho de rede-em-chip, menor será o impacto do núcleo mestre no sistema, desde que todos os processadores escravos estejam ativos. O tamanho da rede-em-chip conjuntamente com o número de núcleos mestres influenciaram nos custos em termos

16 Para a realização da migração de inicialização, as tarefas são carregadas pelo sistema e estas são

migradas de um mesmo núcleo (emulação do núcleo mestre) para todos os outros processadores inclusive o próprio núcleo mestre.

164 164

de perda de deadlines e consumo de energia. É provável que exista um número de processadores mestres máximo para cada configuração de tamanho de rede-em-chip, dependendo das características da aplicação. Finalmente, o custo energético das mensagens de gerenciamento é irrelevante, comparado com o custo energético total do sistema.