Detalhes bibliográficos
Ano de defesa: |
2022 |
Autor(a) principal: |
Knorst, Tiago |
Orientador(a): |
Beck Filho, Antonio Carlos Schneider |
Banca de defesa: |
Não Informado pela instituição |
Tipo de documento: |
Dissertação
|
Tipo de acesso: |
Acesso aberto |
Idioma: |
por |
Instituição de defesa: |
Não Informado pela instituição
|
Programa de Pós-Graduação: |
Não Informado pela instituição
|
Departamento: |
Não Informado pela instituição
|
País: |
Não Informado pela instituição
|
Palavras-chave em Português: |
|
Palavras-chave em Inglês: |
|
Link de acesso: |
http://hdl.handle.net/10183/250633
|
Resumo: |
Servidores em Nuvem vem adotando arquiteturas colaborativas de CPU-GPU e CPU FPGA como alternativas para permitir aceleração extra às aplicações através do particionando da execução de threads/kernels em ambos os dispositivos. No entanto, explorar os benefícios destes ambientes é desafiador, pois existem muitos fatores que podem influenciar o desempenho e o consumo de energia, como o número de threads da CPU, o balanceamento da carga de trabalho (Worload Balance) e técnicas de otimização como FPGA HLS (High-Level Synthesis)-versioning. Este trabalho mostra que maximizar a utilização de recursos acionando o maior número de threads de CPU nem sempre resulta na melhor eficiência tanto em arquiteturas CPU-GPU quanto CPU-FPGA. Além disso, os experi mentos mostram que a quantidade de dados distribuídos para cada dispositivo (Workload Balance) afeta o poder de processamento necessário da CPU e, portanto, o número ótimo de threads de CPU para a execução da aplicação. Com o intuito de otimizar a execução de aplicações colaborativas CPU-GPU, inicialmente propomos o ETCG – Energy-aware CPU Thread Throttling for CPU-GPU collaborative environments. O ETCG é capaz de selecionar de forma transparente um número quase ótimo de threads na CPU visando a minimizar o produto entre atraso e energia consumida (EDP) de aplicações CPU-GPU. No segundo estudo, propomos ETCF – Energy-Aware CPU Thread Throttling and Wor kload Balancing Framework para ambientes colaborativos CPU-FPGA. O ETCF fornece uma execução CPU-FPGA eficiente ao selecionar apropriadamente o Workload Balance e o número de threads na CPU para uma aplicação colaborativa. Além disso, são oferecidos diferentes objetivos de otimização: desempenho, energia ou EDP. Em comparação à linha de base (considerando uma carga de trabalho igualmente equilibrada entre os dispositi vos e usando o número máximo de threads na CPU), nossos experimentos mostram que ETCG e ETCF fornecem, em média, 73% e 93% de redução de EDP, respectivamente. Também mostramos que tanto o ETCG quanto o ETCF alcançam soluções quase ótimas comparando-os a uma busca exaustiva, mas levando apenas 5% de seu tempo de busca no pior cenário. Finalmente, no terceiro estudo, consideramos um ambiente de tarefas colaborativas CPU-FPGA. Investigamos o impacto de aplicar sinergicamente Thread Th rottling no lado da CPU e do HLS-Versioning no lado do FPGA. Utilizamos como objeto de estudo um serviço de nuvem multi-inquilino, onde a sequência de requisições de apli- cações com diferentes prioridades resulta em DAGs de kernels de aplicações que devem ser executados sobre a arquitetura heterogênea. Nossos experimentos mostram que, ao aplicar sinergicamente Thread Throttling e HLS-Versioning aos kernels recebidos, pode se melhorar o EDP em até 41x em relação à execução não otimizada. |