Custo energético de padrões de programação em computação de alto desempenho
Data
2023-07-14
Tipo
Trabalho de conclusão de curso
Título da Revista
ISSN da Revista
Título de Volume
Resumo
O desenvolvimento de novos algoritmos geralmente tem foco na melhoria de desempenho, sendo raramente dada qualquer importância ao impacto ambiental e custo energético em função de sua execução, porém, esse tópico vem ganhando maior atenção recentemente. Este trabalho tem como objetivo mostrar de forma objetiva o consumo energético de padrões de programação comumente presentes em programas científicos demandantes de processamento de alto desempenho, sendo eles o map, reduction e stencil. A medida do consumo energético é feita por software por meio da interface RAPL, e as demais medidas de desempenho utilizaram a quantidade de operações executadas e o tempo decorrido. São feitas variações no tipo de processador utilizado, na quantidade de threads executadas e nas opções de compilação, buscando identificar quais os impactos que estas mudanças causam na eficiência energética. Com os resultados, é visto que aplicar otimizações de compilação são sempre benéficas, diferentes algoritmos e sistemas tem resultados muito diferentes e, às vezes, inesperado, como, para os algoritmos map e stencil, a perda de eficiência ao utilizar núcleos lógicos e que, geralmente, a redução no tempo de execução ainda tem resultados positivos para a eficiência energética, mesmo que com um custo um pouco maior para a utilização de mais threads.
The development of new algorithms is usually focused on improving performance, rarely giving any importance to the environmental impact and energy cost due to its execution, however, this topic has been gaining more attention recently. This work aims to objectively show the energy consumption of programming patterns commonly present in scientific programs that demand high-performance processing, namely map, reduction and stencil. The measurement of energy consumption is done by software through the RAPL interface, and the other performance measures used the number of operations performed and the time elapsed. Variations are made to the type of processor used, number of threads executed and compilation options, seeking to identify the impacts that these changes cause in energy efficiency. With the results, it is seen that applying compilation optimizations are always beneficial, different algorithms and systems have very different and sometimes unexpected results, like, for the algorithms map and stencil, the loss of efficiency when using logical cores and that, generally, the reduction in execution time still has positive results for energy efficiency, even if with a slightly higher cost for using more threads.
The development of new algorithms is usually focused on improving performance, rarely giving any importance to the environmental impact and energy cost due to its execution, however, this topic has been gaining more attention recently. This work aims to objectively show the energy consumption of programming patterns commonly present in scientific programs that demand high-performance processing, namely map, reduction and stencil. The measurement of energy consumption is done by software through the RAPL interface, and the other performance measures used the number of operations performed and the time elapsed. Variations are made to the type of processor used, number of threads executed and compilation options, seeking to identify the impacts that these changes cause in energy efficiency. With the results, it is seen that applying compilation optimizations are always beneficial, different algorithms and systems have very different and sometimes unexpected results, like, for the algorithms map and stencil, the loss of efficiency when using logical cores and that, generally, the reduction in execution time still has positive results for energy efficiency, even if with a slightly higher cost for using more threads.