Uma abordagem baseada em metaheurísticas para exploração do espaço de projeto de memórias cache multinível em plataformas multi-cores para aplicação específica - SANTOS, Marcus Vinicius Duarte dos (2017)
A evolução dos computadores tem nos mostrado que, com o passar dos anos, esses equipamentos têm evoluído em diversas características, como novas tecnologias em uso, redução de tamanho, redução de custo, aumento do desempenho, e redução do consumo de energia. Entre essas melhorias destacamos como fundamentais para projetos de sistemas embarcados as melhorias em desempenho de aplicação específica e a melhoria em consumo. Em um sistema microprocessado, um dos principais responsáveis pelo consumo de energia é a hierarquia de memória cache, que pode ser responsável por até 50% da energia consumida pelo sistema completo. Nesse trabalho é apresentada uma abordagem para exploração do espaço de projeto de memórias cache em plataformas MPSoCs de aplicação específica que utiliza como base o algoritmo ABCs (Colônia Artificial de Abelhas) adaptado para multi-objetivo (melhoria de desempenho e de consumo de energia) e utilizando técnicas de DoE (Design of Experiments) para tornar a busca global do algoritmo mais eficiente, reduzindo seu tempo total de execução. O algoritmo ABC modificado foi denominado de algoritmo AbcDE. Nos experimentos avaliamos a abordagem AbcDE executando algumas aplicações dos benchmark Splash2 (fft, radix e matrix) e o ParMibench (Djikstra) para um nível de cache (L1) e foi obtido um conjunto de configurações da cache L1 dentro do Pareto front reduzindo o tempo de exploração em uma média de 42,3%. O número de simulações da plataforma MPSoC foi reduzida em 40,4% quando comparado com o uso do algoritmo ABC original em multi-objetivo. Os resultados foram obtidos para uma plataforma MPSoC baseada em NoC com 4 processadores. Também avaliamos a abordagem AbcDE executando as aplicações dos benchmarks previamente citados em conjunto com as aplicações do benchmark ParMibench (Sha, Stringsearch e Basicmath) para hierarquia de cache em multinível (L1 e L2). Foram obtidas configurações de cache dentro do Pareto Front apresentando uma quantidade média de execuções da plataforma MPSoC em cerca de 37,14% menor que o algoritmo ABCMOP, e em cerca de 37,10 % menor que o algoritmo MOPSO (considerando todas as aplicações dos experimentos). Mesmo obtendo uma melhoria significativa em termos eficiência, comparado aos algoritmos ABCMOP e MOPSO, o algoritmo AbcDE não degradou sua precisão. O algoritmo AbcDE, em termos de hipervolume, foi em média inferior ao algoritmo ABCMOP em apenas 0,91%, e foi em média superior ao algoritmo MOPSO em apenas 0,66%. Verificamos que o algoritmo AbcDE conseguiu obter resultados ótimos para configurações de cache multi-nível com eficiência e sem degradar sua precisão, simulando apenas cerca de 0,13% do espaço do projeto total da hierarquia de cache.