Controle de granularidade com threads em programas MPI dinâmicos
Autor(a) principal: | |
---|---|
Data de Publicação: | 2009 |
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/16132 |
Resumo: | Nos últimos anos, a crescente demanda por alto desempenho tem favorecido o surgimento de arquiteturas e algoritmos cada vez mais eficientes. A popularidade das plataformas distribuídas levanta novas questões no desenvolvimento de algoritmos paralelos tais como comunicação, heterogeneidade e dinamismo de recursos. Estas questões podem resultar em aplicações com carga de trabalho conhecida somente em tempo de execução. A irregularidade do algoritmo ou da entrada de dados também pode influenciar na carga de trabalho da aplicação. Uma aplicação paralela pode solucionar estas questões por meio de algoritmos dinâmicos ao utilizar técnicas de programação que definam o trabalho de uma tarefa e possibilitem a utilização de recursos sob demanda. A granularidade, que é a razão entre processamento e comunicação, considera questões práticas de execução e é um fator importante no desempenho de algoritmos dinâmicos. A implementação de um controle de granularidade é complicada e depende do suporte dos ambientes de programação. Porém, os ambientes de programação possuem interfaces extensas e complicadas que dificultam sua utilização em PAD. Este trabalho propõe a implementação de uma biblioteca (libSpawn) que incorpora um controle de granularidade em aplicações MPI dinâmicas. A biblioteca controla a granularidade ao mapear tarefas entre processos ou threads de acordo com três parâmetros: cores da arquitetura, carga e recursos de sistema. Os tempos obtidos com processos e libSpawn demonstram ganhos significativos em benchmarks sintéticos utilizados por outros ambientes de programação. Não obstante, constata-se carências na implementação atual que produzem tempos anômalos, ainda que estes sejam insignificantes em relação aos tempos com processos. |
id |
URGS_733c7c4f286f07e1d9216c033c5ebabe |
---|---|
oai_identifier_str |
oai:www.lume.ufrgs.br:10183/16132 |
network_acronym_str |
URGS |
network_name_str |
Biblioteca Digital de Teses e Dissertações da UFRGS |
repository_id_str |
1853 |
spelling |
Lima, João Vicente FerreiraMaillard, Nicolas Bruno2009-06-16T04:13:06Z2009http://hdl.handle.net/10183/16132000697100Nos últimos anos, a crescente demanda por alto desempenho tem favorecido o surgimento de arquiteturas e algoritmos cada vez mais eficientes. A popularidade das plataformas distribuídas levanta novas questões no desenvolvimento de algoritmos paralelos tais como comunicação, heterogeneidade e dinamismo de recursos. Estas questões podem resultar em aplicações com carga de trabalho conhecida somente em tempo de execução. A irregularidade do algoritmo ou da entrada de dados também pode influenciar na carga de trabalho da aplicação. Uma aplicação paralela pode solucionar estas questões por meio de algoritmos dinâmicos ao utilizar técnicas de programação que definam o trabalho de uma tarefa e possibilitem a utilização de recursos sob demanda. A granularidade, que é a razão entre processamento e comunicação, considera questões práticas de execução e é um fator importante no desempenho de algoritmos dinâmicos. A implementação de um controle de granularidade é complicada e depende do suporte dos ambientes de programação. Porém, os ambientes de programação possuem interfaces extensas e complicadas que dificultam sua utilização em PAD. Este trabalho propõe a implementação de uma biblioteca (libSpawn) que incorpora um controle de granularidade em aplicações MPI dinâmicas. A biblioteca controla a granularidade ao mapear tarefas entre processos ou threads de acordo com três parâmetros: cores da arquitetura, carga e recursos de sistema. Os tempos obtidos com processos e libSpawn demonstram ganhos significativos em benchmarks sintéticos utilizados por outros ambientes de programação. Não obstante, constata-se carências na implementação atual que produzem tempos anômalos, ainda que estes sejam insignificantes em relação aos tempos com processos.In the last years, the demand for high performance enables the emergence of more efficient computing platforms and algorithms. The increase of distributed computing platforms rises new challenges for parallel algorithm development like communication, heterogeneity, and resource management. These factors can result in applications whose work load is unknown until runtime. An irregular behavior from algorithm or data can also affect the work load. A parallel application can solve these questions through a programming technique which predicts the work load of a task and offers resource on demand. The granularity, which is the ratio of computation to communication, considers more practical issues, and is an important factor in performance of dynamic algorithms. However, this control is difficult to be designed and the support of a programming tool is needed. Yet, the programming tools have extensive and complicated interfaces which difficult your usage in HPC. This work implements a library (libSpawn) which adds a granularity control on MPI dynamic programs. The library controls the granularity by mapping tasks between processes or threads with three parameters: cores of architecture, load and resources of the operating system. The results obtained between processes and libSpawn show significant gains on synthetic benchmarks from other programming tools.application/pdfporProcessamento paraleloMpiParallel computingHigh performance computingDynamic algorithmsGranularityControle de granularidade com threads em programas MPI dinâmicosControlling granularity of dynamic mpi programs with threads info: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-RS2009mestradoinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSTEXT000697100.pdf.txt000697100.pdf.txtExtracted Texttext/plain153606http://www.lume.ufrgs.br/bitstream/10183/16132/2/000697100.pdf.txtba30fdaae1a4ba14568bb90b0e7e9782MD52ORIGINAL000697100.pdf000697100.pdfTexto completoapplication/pdf661050http://www.lume.ufrgs.br/bitstream/10183/16132/1/000697100.pdf36de85a778c1f02189a0a6f038455128MD51THUMBNAIL000697100.pdf.jpg000697100.pdf.jpgGenerated Thumbnailimage/jpeg1026http://www.lume.ufrgs.br/bitstream/10183/16132/3/000697100.pdf.jpgf9a8876c5c3814928abc9cf2b18c345eMD5310183/161322018-10-17 08:41:47.117oai:www.lume.ufrgs.br:10183/16132Biblioteca Digital de Teses e Dissertaçõeshttps://lume.ufrgs.br/handle/10183/2PUBhttps://lume.ufrgs.br/oai/requestlume@ufrgs.br||lume@ufrgs.bropendoar:18532018-10-17T11:41:47Biblioteca Digital de Teses e Dissertações da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false |
dc.title.pt_BR.fl_str_mv |
Controle de granularidade com threads em programas MPI dinâmicos |
dc.title.alternative.en.fl_str_mv |
Controlling granularity of dynamic mpi programs with threads |
title |
Controle de granularidade com threads em programas MPI dinâmicos |
spellingShingle |
Controle de granularidade com threads em programas MPI dinâmicos Lima, João Vicente Ferreira Processamento paralelo Mpi Parallel computing High performance computing Dynamic algorithms Granularity |
title_short |
Controle de granularidade com threads em programas MPI dinâmicos |
title_full |
Controle de granularidade com threads em programas MPI dinâmicos |
title_fullStr |
Controle de granularidade com threads em programas MPI dinâmicos |
title_full_unstemmed |
Controle de granularidade com threads em programas MPI dinâmicos |
title_sort |
Controle de granularidade com threads em programas MPI dinâmicos |
author |
Lima, João Vicente Ferreira |
author_facet |
Lima, João Vicente Ferreira |
author_role |
author |
dc.contributor.author.fl_str_mv |
Lima, João Vicente Ferreira |
dc.contributor.advisor1.fl_str_mv |
Maillard, Nicolas Bruno |
contributor_str_mv |
Maillard, Nicolas Bruno |
dc.subject.por.fl_str_mv |
Processamento paralelo Mpi |
topic |
Processamento paralelo Mpi Parallel computing High performance computing Dynamic algorithms Granularity |
dc.subject.eng.fl_str_mv |
Parallel computing High performance computing Dynamic algorithms Granularity |
description |
Nos últimos anos, a crescente demanda por alto desempenho tem favorecido o surgimento de arquiteturas e algoritmos cada vez mais eficientes. A popularidade das plataformas distribuídas levanta novas questões no desenvolvimento de algoritmos paralelos tais como comunicação, heterogeneidade e dinamismo de recursos. Estas questões podem resultar em aplicações com carga de trabalho conhecida somente em tempo de execução. A irregularidade do algoritmo ou da entrada de dados também pode influenciar na carga de trabalho da aplicação. Uma aplicação paralela pode solucionar estas questões por meio de algoritmos dinâmicos ao utilizar técnicas de programação que definam o trabalho de uma tarefa e possibilitem a utilização de recursos sob demanda. A granularidade, que é a razão entre processamento e comunicação, considera questões práticas de execução e é um fator importante no desempenho de algoritmos dinâmicos. A implementação de um controle de granularidade é complicada e depende do suporte dos ambientes de programação. Porém, os ambientes de programação possuem interfaces extensas e complicadas que dificultam sua utilização em PAD. Este trabalho propõe a implementação de uma biblioteca (libSpawn) que incorpora um controle de granularidade em aplicações MPI dinâmicas. A biblioteca controla a granularidade ao mapear tarefas entre processos ou threads de acordo com três parâmetros: cores da arquitetura, carga e recursos de sistema. Os tempos obtidos com processos e libSpawn demonstram ganhos significativos em benchmarks sintéticos utilizados por outros ambientes de programação. Não obstante, constata-se carências na implementação atual que produzem tempos anômalos, ainda que estes sejam insignificantes em relação aos tempos com processos. |
publishDate |
2009 |
dc.date.accessioned.fl_str_mv |
2009-06-16T04:13:06Z |
dc.date.issued.fl_str_mv |
2009 |
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/16132 |
dc.identifier.nrb.pt_BR.fl_str_mv |
000697100 |
url |
http://hdl.handle.net/10183/16132 |
identifier_str_mv |
000697100 |
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/16132/2/000697100.pdf.txt http://www.lume.ufrgs.br/bitstream/10183/16132/1/000697100.pdf http://www.lume.ufrgs.br/bitstream/10183/16132/3/000697100.pdf.jpg |
bitstream.checksum.fl_str_mv |
ba30fdaae1a4ba14568bb90b0e7e9782 36de85a778c1f02189a0a6f038455128 f9a8876c5c3814928abc9cf2b18c345e |
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_ |
1816736727532830720 |