Otimizando a execução de aplicações paralelas em ambiente de nuvem heterogênea - Lima, Everton Camargo de (2023)
A computação na nuvem é uma plataforma já consolidada para a execução de aplicações de alto desempenho devido entre outros fatores por sua capacidade de escalabilidade de recursos e alta disponibilidade. Simultaneamente, a atualização de nodos computacionais nestes sistemas pode levar a uma heterogeneidade de recursos. Neste sentido, o desafio de executar aplicações paralelas na nuvem não está apenas relacionado a definição do melhor número de threads para a aplicação, mas também, a escolha ideal da arquitetura que irá executar tal aplicação. Dessa maneira, nesta dissertação, apresentamos o TLP-Allocator, um framework para otimizar a execução de aplicações paralelas em ambiente de nuvem heterogêneo baseada no grau de TLP + arquitetura alvo ideal, implementada em cima da tecnologia Kubernetes. O TLP-Allocator é completamente transparente para usuários finais e clientes. Dado um conjunto de aplicações paralelas a serem executados, ele encontra grau de TLP ideal para cada aplicação e realiza match entre aplicação e arquitetura ideal, para melhor aproveitamento dos recursos disponíveis. Mostramos que a análise do impacto da escalabilidade de aplicações paralelas em nodos com diferentes capacidades de poder de processamento computacional pode trazer ganhos significativos de desempenho e consumo de energia quando combinada com o TLP-Allocator. Ao considerar o grau de paralelismo de uma aplicação e as características do nodo computacional, é possível obter uma alocação mais eficiente e otimizada dos recursos disponíveis assim alcançar o melhor EDP (Energy-Delay product) para aplicações com diferentes graus de paralelismo.