UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL
INSTITUTO DE INFORMÁTICA
PROGRAMA DE POS-GRADUAÇÃO EM COMPUTAÇÃO
———————————————————
DEFESA DE DISSERTAÇÃO DE MESTRADO
Aluno: Vinicius Garcia Pinto
Orientador: Prof. Dr. Nicolas Bruno Maillard
Título: Escalonamento por Roubo de Tarefas em Sistemas Multi-CPU/GPU
Linha de Pesquisa: Processamento Paralelo e Distribuído
Data: 28/03/2013
Hora: 13h
Local: Auditório Inferior. Prédio 43413(67) – Instituto de Informática
Banca Examinadora:
Profa. Dra. Andrea Schwertner Charão (UFSM)
Prof. Dr. Lucas Mello Schnorr (UFRGS)
Prof. Dr. Philippe Olivier Alexandre Navaux (UFRGS)
Presidente da Banca: Prof. Dr. Nicolas Bruno Maillard
Resumo:
Nos últimos anos, uma das alternativas adotadas para aumentar o desempenho de sistemas de processamento de alto desempenho têm sido o uso de arquiteturas híbridas. Essas arquiteturas são constituídas de processadores multicore e coprocessadores especializados, como GPUs. Esses coprocessadores atuam como aceleradores em alguns tipos de operações. Por outro lado, as ferramentas e modelos de programação paralela atuais não são adequados para cenários híbridos, produzindo aplicações pouco portáveis. O paralelismo de tarefas considerado um paradigma de programação genérico e de alto nível pode ser adotado neste cenário. Porém, exige o uso de algoritmos de escalonamento dinâmicos, como o algoritmo de roubo de tarefas. Neste contexto, este trabalho apresenta um middleware que oferece suporte ao paralelismo de tarefas com escalonamento por roubo de tarefas em sistemas híbridos multi-CPU e multi-GPU. Esse middleware permite que as tarefas tenham implementação tanto para execução em CPUs quanto em GPUs, decidindo em tempo de execução qual das implementações será executada de acordo com os recursos de hardware disponíveis. Os resultados obtidos mostram ser possível superar, em algumas aplicações, tanto o desempenho de ferramentas de referência para execução em CPU quanto de ferramentas para execução em GPUs.
Palavras-chave: Programação paralela, programação paralela híbrida, GPU, ferramentas para programação paralela, escalonamento por roubo de tarefas.