Dissertação de Mestrado
DOI
https://doi.org/10.11606/D.3.2023.tde-04072023-150343
Documento
Autor
Nome completo
Denilson Souza Bélo
E-mail
Unidade da USP
Área do Conhecimento
Data de Defesa
Imprenta
São Paulo, 2023
Orientador
Banca examinadora
Sato, Liria Matsumoto (Presidente)
Rodamilans, Charles Boulhosa
Stringhini, Denise
Título em português
Programação e execução de aplicações distribuÃdas baseadas em tarefas em sistemas heterogêneos.
Palavras-chave em português
Arquitetura heterogênea
Computação de alto desempenho
Paralelização de tarefas
Programação paralela
Resumo em português
Atualmente há uma crescente demanda pelo uso da Computação de Alto Desempenho. Uma forma para explorar essa capacidade de processamento é a utilização de computadores conectados em uma rede de alta velocidade. Cada computador poderá possuir processadores com um número crescente de núcleos. E para melhorar ainda mais a performance se acrescentam aceleradores de hardware como GPGPUs. O desenvolvimento de aplicações em HPC é uma tarefa complexa, pois exige o entendimento das estratégias de paralelização, e a utilização de recursos heterogêneos intensifica ainda mais essa dificuldade. Este trabalho tem como objetivo propor um modelo de programação baseada em tarefas paralelas para sistemas distribuÃdos com arquiteturas heterogêneas compostas por CPUs e aceleradores de hardware, através de uma sintaxe simples e direta e que garanta um desempenho equivalente aos modelos atuais de programação distribuÃda. São apresentados os testes de avaliação da funcionalidade, desempenho e de comparação com o uso do sistema OpenMPI, amplamente utilizado em sistemas distribuÃdos. Os principais resultados alcançados foram: (1) a facilidade de utilização independente da arquitetura empregada, quer sejam CPUs e/ou aceleradores de hardware; (2) mostraram desempenho muito equivalente, em alguns casos superiores, aos obtidos com o uso do sistema OpenMPI. Estes resultados comprovam a viabilidade da solução proposta.
Título em inglês
Programming and running task-based distributed applications on heterogeneous systems.
Palavras-chave em inglês
Heterogeneous architecture
Parallel programming
Task parallelization
Resumo em inglês
Currently, there is a growing demand for the use of High Performance Computing. One way to exploit this processing capacity is used by of computers connected in a high-speed network. Each computer has processors with an increasing number of cores. And hardware accelerators like GPGPUs are added to further improve performance. The development of applications in HPC is a challenging task, as it needs an understanding of parallelization strategies, and the use of heterogeneous resources intensifies this difficulty even more. This work presents a programming model based on parallel tasks for distributing systems with heterogeneous architecture composed of CPUs and hardware accelerators, through a simple and direct syntax. Functional evaluation tests, performance, and comparison with the OpenMPI system, widely used in distributed systems, are presented. The main results achieved were: (1) userfriendliness regardless of the architecture employed, whether CPUs and/or hardware accelerators; (2) showed performance very similar, in some cases higher, than those obtained using the OpenMPI system. The results achieved confirm the feasibility of the proposed solution.
AVISO - A consulta a este documento fica condicionada na aceitação das seguintes condições de uso:
Este trabalho é somente para uso privado de atividades de pesquisa e ensino. Não é autorizada sua reprodução para quaisquer fins lucrativos. Esta reserva de direitos abrange a todos os dados do documento bem como seu conteúdo. Na utilização ou citação de partes do documento é obrigatório mencionar nome da pessoa autora do trabalho.
Data de Publicação
2023-07-07