Análise de técnicas de otimização multi-objetivo para ajustar hierarquia de memória visando economia de consumo de energia e desempenho - Rolim Cordeiro, Filipe (2011)
Com a expansão e o desenvolvimento de aplicações de sistemas embarcados, o mercado tem requerido soluções rápidas e eficientes em torno de parâmetros como desempenho e energia que uma aplicação pode consumir. Estudos mostram que o consumo de energia de hierarquias de memória pode chegar até a 50% da energia consumida por um microprocessador. Desta forma, otimizando-se a arquitetura de memória é possível obter uma redução do consumo de energia do processador e, consequentemente, do sistema embarcado. O ajuste de parâmetros de memória cache para uma aplicação específica pode economizar em média 60% do consumo de energia. No entanto, encontrar uma configuração de cache adequada para uma aplicação específica pode ser uma tarefa complexa e pode requerer um longo período de análise e simulação. Para isso é necessário o uso de técnicas de otimização. Neste trabalho, é proposta a aplicação de seis técnicas de otimização multi-objetivo para a otimização de cache com arquitetura de memória de dois níveis, com segundo nível unificado. A adaptação das técnicas para o problema de cache é feita tentando otimizar os objetivos de consumo de energia e quantidade de ciclos necessário para rodar cada uma das 18 aplicações analisadas. Em seguida, é feita uma análise comparativa do desempenho que cada técnica obteve em achar as melhores configurações para otimizar o desempenho da arquitetura para cada aplicação. A análise entre as técnicas é feita utilizando as métricas de distância generacional, diversidade, hipervolume, energia e quantidade de ciclos necessários para rodar uma aplicação. Foi adotado o simulador Simplescalar para realização das simulações e o modelo do eCACTI para obter as componentes dinâmica e estática de energia. Resultados mostraram que a técnica multi-objetivo baseada em enxame de partículas, o MOPSO, apresentou melhores resultados para as métricas analisadas, para a maioria das aplicações. Foi proposta uma melhoria no MOPSO considerando também busca local variando os parâmetros de cache. A abordagem do MOPSO com busca local mostrou-se superior ao MOPSO original, conseguindo encontrar soluções mais próximas ao pareto optimal, explorando apenas 0.7% do espaço total de exploração