Escalonamento por roubo de tarefas em sistemas Multi-CPU e Multi-GPU
Autor(a) principal: | |
---|---|
Data de Publicação: | 2013 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Biblioteca Digital de Teses e Dissertações da UFRGS |
Texto Completo: | http://hdl.handle.net/10183/71270 |
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 (WORMS) 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 com o WORMS 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. |
id |
URGS_a9f55bc5f1953bd2a6205dd81d6fe6b6 |
---|---|
oai_identifier_str |
oai:www.lume.ufrgs.br:10183/71270 |
network_acronym_str |
URGS |
network_name_str |
Biblioteca Digital de Teses e Dissertações da UFRGS |
repository_id_str |
1853 |
spelling |
Pinto, Vinícius GarciaMaillard, Nicolas Bruno2013-05-07T01:49:47Z2013http://hdl.handle.net/10183/71270000879864Nos ú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 (WORMS) 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 com o WORMS 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.In the last years, one of alternatives adopted to increase performance in high performance computing systems have been the use of hybrid architectures. These architectures consist of multicore processors and specialized coprocessors, like GPUs. Coprocessors act as accelerators in some types of operations. On the other hand, current parallel programming models and tools are not suitable for hybrid scenarios, generating less portable applications. Task parallelism, considered a generic and high level programming paradigm, can be used in this scenario. However, it requires the use of dynamic scheduling algorithms, such as work stealing. In this context, this work presents a middleware (WORMS) that supports task parallelism with work stealing scheduling in multi-CPU and multi-GPU systems. This middleware allows task implementations for both CPU and GPU, deciding at runtime which implementation will run according to the available hardware resources. The performance results obtained with WORMS showed that is possible to outperform both CPU and GPU reference tools in some applications.application/pdfporProcessamento : Alto desempenhoProcessamento paraleloClusterParallel programmingHybrid parallel programmingGPUParallel programming toolsWork stealing schedulingEscalonamento por roubo de tarefas em sistemas Multi-CPU e Multi-GPUinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisUniversidade Federal do Rio Grande do SulInstituto de InformáticaPrograma de Pós-Graduação em ComputaçãoPorto Alegre, BR-RS2013mestradoinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSORIGINAL000879864.pdf000879864.pdfTexto completoapplication/pdf1560854http://www.lume.ufrgs.br/bitstream/10183/71270/1/000879864.pdf62376d351aead80cf163cddb17ca458cMD51TEXT000879864.pdf.txt000879864.pdf.txtExtracted Texttext/plain143083http://www.lume.ufrgs.br/bitstream/10183/71270/2/000879864.pdf.txt27611f416d1f6a3fde5f6ab163793eddMD52THUMBNAIL000879864.pdf.jpg000879864.pdf.jpgGenerated Thumbnailimage/jpeg1014http://www.lume.ufrgs.br/bitstream/10183/71270/3/000879864.pdf.jpg6332500805395e822d5921891c5d2801MD5310183/712702018-10-17 07:27:40.126oai:www.lume.ufrgs.br:10183/71270Biblioteca Digital de Teses e Dissertaçõeshttps://lume.ufrgs.br/handle/10183/2PUBhttps://lume.ufrgs.br/oai/requestlume@ufrgs.br||lume@ufrgs.bropendoar:18532018-10-17T10:27:40Biblioteca Digital de Teses e Dissertações da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false |
dc.title.pt_BR.fl_str_mv |
Escalonamento por roubo de tarefas em sistemas Multi-CPU e Multi-GPU |
title |
Escalonamento por roubo de tarefas em sistemas Multi-CPU e Multi-GPU |
spellingShingle |
Escalonamento por roubo de tarefas em sistemas Multi-CPU e Multi-GPU Pinto, Vinícius Garcia Processamento : Alto desempenho Processamento paralelo Cluster Parallel programming Hybrid parallel programming GPU Parallel programming tools Work stealing scheduling |
title_short |
Escalonamento por roubo de tarefas em sistemas Multi-CPU e Multi-GPU |
title_full |
Escalonamento por roubo de tarefas em sistemas Multi-CPU e Multi-GPU |
title_fullStr |
Escalonamento por roubo de tarefas em sistemas Multi-CPU e Multi-GPU |
title_full_unstemmed |
Escalonamento por roubo de tarefas em sistemas Multi-CPU e Multi-GPU |
title_sort |
Escalonamento por roubo de tarefas em sistemas Multi-CPU e Multi-GPU |
author |
Pinto, Vinícius Garcia |
author_facet |
Pinto, Vinícius Garcia |
author_role |
author |
dc.contributor.author.fl_str_mv |
Pinto, Vinícius Garcia |
dc.contributor.advisor1.fl_str_mv |
Maillard, Nicolas Bruno |
contributor_str_mv |
Maillard, Nicolas Bruno |
dc.subject.por.fl_str_mv |
Processamento : Alto desempenho Processamento paralelo Cluster |
topic |
Processamento : Alto desempenho Processamento paralelo Cluster Parallel programming Hybrid parallel programming GPU Parallel programming tools Work stealing scheduling |
dc.subject.eng.fl_str_mv |
Parallel programming Hybrid parallel programming GPU Parallel programming tools Work stealing scheduling |
description |
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 (WORMS) 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 com o WORMS 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. |
publishDate |
2013 |
dc.date.accessioned.fl_str_mv |
2013-05-07T01:49:47Z |
dc.date.issued.fl_str_mv |
2013 |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://hdl.handle.net/10183/71270 |
dc.identifier.nrb.pt_BR.fl_str_mv |
000879864 |
url |
http://hdl.handle.net/10183/71270 |
identifier_str_mv |
000879864 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.source.none.fl_str_mv |
reponame:Biblioteca Digital de Teses e Dissertações da UFRGS instname:Universidade Federal do Rio Grande do Sul (UFRGS) instacron:UFRGS |
instname_str |
Universidade Federal do Rio Grande do Sul (UFRGS) |
instacron_str |
UFRGS |
institution |
UFRGS |
reponame_str |
Biblioteca Digital de Teses e Dissertações da UFRGS |
collection |
Biblioteca Digital de Teses e Dissertações da UFRGS |
bitstream.url.fl_str_mv |
http://www.lume.ufrgs.br/bitstream/10183/71270/1/000879864.pdf http://www.lume.ufrgs.br/bitstream/10183/71270/2/000879864.pdf.txt http://www.lume.ufrgs.br/bitstream/10183/71270/3/000879864.pdf.jpg |
bitstream.checksum.fl_str_mv |
62376d351aead80cf163cddb17ca458c 27611f416d1f6a3fde5f6ab163793edd 6332500805395e822d5921891c5d2801 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 |
repository.name.fl_str_mv |
Biblioteca Digital de Teses e Dissertações da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS) |
repository.mail.fl_str_mv |
lume@ufrgs.br||lume@ufrgs.br |
_version_ |
1810085256297971712 |