MPI2.NET : criação dinâmica de tarefas com orientação a objetos
Autor(a) principal: | |
---|---|
Data de Publicação: | 2010 |
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/26952 |
Resumo: | Message Passing Interface (MPI) é o padrão de facto para o desenvolvimento de aplicações paralelas e de alto desempenho que executem em clusters. O padrão define APIs para as linguagens de programação Fortran, C e C++. Por outro lado a programação orientada a objetos é o paradigma de programação dominante atualmente, onde linguagens de programação como Java e C# têm se tornado muito populares. Isso se deve às abstrações voltadas para facilitar a programação oriundas dessas linguagens de programação, permitindo um ciclo de programação/manutenção mais eficiente. Devido a isso, diversas bibliotecas MPI para essas linguagens emergiram. Dentre elas, pode-se destacar a biblioteca MPI.NET, para a linguagem de programação C#, que possui a melhor relação entre abstração e desempenho. Na computação paralela, o modelo utilizado para o desenvolvimento das aplicações é muito importante, sendo que o modelo Divisão & Conquista é escalável, aplicável a diversos problemas e permite a execução eficiente de aplicações cuja carga de trabalho é desconhecida ou irregular. Para programar utilizando esse modelo é necessário que o ambiente de execução suporte dinamismo, o que não é suportado pela biblioteca MPI.NET. Desse cenário emerge a principal motivação desse trabalho, cujo objetivo é explorar a criação dinâmica de tarefas na biblioteca MPI.NET. Ao final, foi possível obter uma biblioteca com desempenho competitivo em relação ao desempenho das bibliotecas MPI para C++. |
id |
URGS_41847ffb44557c3de9a65b6308066404 |
---|---|
oai_identifier_str |
oai:www.lume.ufrgs.br:10183/26952 |
network_acronym_str |
URGS |
network_name_str |
Biblioteca Digital de Teses e Dissertações da UFRGS |
repository_id_str |
1853 |
spelling |
Afonso, Fernando AbrahãoMaillard, Nicolas Bruno2010-12-16T04:19:14Z2010http://hdl.handle.net/10183/26952000759933Message Passing Interface (MPI) é o padrão de facto para o desenvolvimento de aplicações paralelas e de alto desempenho que executem em clusters. O padrão define APIs para as linguagens de programação Fortran, C e C++. Por outro lado a programação orientada a objetos é o paradigma de programação dominante atualmente, onde linguagens de programação como Java e C# têm se tornado muito populares. Isso se deve às abstrações voltadas para facilitar a programação oriundas dessas linguagens de programação, permitindo um ciclo de programação/manutenção mais eficiente. Devido a isso, diversas bibliotecas MPI para essas linguagens emergiram. Dentre elas, pode-se destacar a biblioteca MPI.NET, para a linguagem de programação C#, que possui a melhor relação entre abstração e desempenho. Na computação paralela, o modelo utilizado para o desenvolvimento das aplicações é muito importante, sendo que o modelo Divisão & Conquista é escalável, aplicável a diversos problemas e permite a execução eficiente de aplicações cuja carga de trabalho é desconhecida ou irregular. Para programar utilizando esse modelo é necessário que o ambiente de execução suporte dinamismo, o que não é suportado pela biblioteca MPI.NET. Desse cenário emerge a principal motivação desse trabalho, cujo objetivo é explorar a criação dinâmica de tarefas na biblioteca MPI.NET. Ao final, foi possível obter uma biblioteca com desempenho competitivo em relação ao desempenho das bibliotecas MPI para C++.Message Passing Interface (MPI) is the de facto standard for the development of high performance applications executing on clusters. The standard defines APIs for the programming languages Fortran C and C++. On the other hand, object oriented programming has become the dominant programming paradigm, where programming languages as Java and C# are becoming very popular. This can be justified by the abstractions contained in these programming languages, allowing a more efficient programming/maintenance cycle. Because of this, several MPI libraries emerged for these programming languages. Among them, we can highlight the MPI.NET library for the C# programming language, which has the best relation between abstraction and performance. In parallel computing, the model used for the development of applications is very important, and the Divide and Conquer model is efficiently scalable, applicable to several problems and allows efficient execution of applications whose workload is unknown or irregular. To program using this model, the execution environment must provide dynamism, which is not provided by the MPI.NET library. From this scenario emerges the main goal of this work, which is to explore dynamic tasks creation on the MPI.NET library. In the end we where able to obtain a library with competitive performance against MPI C++ libraries.application/pdfporProcessamento : Alto desempenhoMpiProcessamento paraleloDynamic tasks creationHigh performance computingMPIParallel computingMPI2.NET : criação dinâmica de tarefas com orientação a objetosMPI2.NET: dynamic tasks creation with object orientation 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-RS2010mestradoinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSTEXT000759933.pdf.txt000759933.pdf.txtExtracted Texttext/plain186384http://www.lume.ufrgs.br/bitstream/10183/26952/2/000759933.pdf.txt87600bd90dce4292428589a472723eb2MD52ORIGINAL000759933.pdf000759933.pdfTexto completoapplication/pdf445633http://www.lume.ufrgs.br/bitstream/10183/26952/1/000759933.pdfb7e571ccc4c8d3611bfe0979ed3af087MD51THUMBNAIL000759933.pdf.jpg000759933.pdf.jpgGenerated Thumbnailimage/jpeg1027http://www.lume.ufrgs.br/bitstream/10183/26952/3/000759933.pdf.jpgfc0f417a3e52692f2edb338da4f32f91MD5310183/269522018-10-08 09:28:50.006oai:www.lume.ufrgs.br:10183/26952Biblioteca Digital de Teses e Dissertaçõeshttps://lume.ufrgs.br/handle/10183/2PUBhttps://lume.ufrgs.br/oai/requestlume@ufrgs.br||lume@ufrgs.bropendoar:18532018-10-08T12:28:50Biblioteca Digital de Teses e Dissertações da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false |
dc.title.pt_BR.fl_str_mv |
MPI2.NET : criação dinâmica de tarefas com orientação a objetos |
dc.title.alternative.en.fl_str_mv |
MPI2.NET: dynamic tasks creation with object orientation |
title |
MPI2.NET : criação dinâmica de tarefas com orientação a objetos |
spellingShingle |
MPI2.NET : criação dinâmica de tarefas com orientação a objetos Afonso, Fernando Abrahão Processamento : Alto desempenho Mpi Processamento paralelo Dynamic tasks creation High performance computing MPI Parallel computing |
title_short |
MPI2.NET : criação dinâmica de tarefas com orientação a objetos |
title_full |
MPI2.NET : criação dinâmica de tarefas com orientação a objetos |
title_fullStr |
MPI2.NET : criação dinâmica de tarefas com orientação a objetos |
title_full_unstemmed |
MPI2.NET : criação dinâmica de tarefas com orientação a objetos |
title_sort |
MPI2.NET : criação dinâmica de tarefas com orientação a objetos |
author |
Afonso, Fernando Abrahão |
author_facet |
Afonso, Fernando Abrahão |
author_role |
author |
dc.contributor.author.fl_str_mv |
Afonso, Fernando Abrahão |
dc.contributor.advisor1.fl_str_mv |
Maillard, Nicolas Bruno |
contributor_str_mv |
Maillard, Nicolas Bruno |
dc.subject.por.fl_str_mv |
Processamento : Alto desempenho Mpi Processamento paralelo |
topic |
Processamento : Alto desempenho Mpi Processamento paralelo Dynamic tasks creation High performance computing MPI Parallel computing |
dc.subject.eng.fl_str_mv |
Dynamic tasks creation High performance computing MPI Parallel computing |
description |
Message Passing Interface (MPI) é o padrão de facto para o desenvolvimento de aplicações paralelas e de alto desempenho que executem em clusters. O padrão define APIs para as linguagens de programação Fortran, C e C++. Por outro lado a programação orientada a objetos é o paradigma de programação dominante atualmente, onde linguagens de programação como Java e C# têm se tornado muito populares. Isso se deve às abstrações voltadas para facilitar a programação oriundas dessas linguagens de programação, permitindo um ciclo de programação/manutenção mais eficiente. Devido a isso, diversas bibliotecas MPI para essas linguagens emergiram. Dentre elas, pode-se destacar a biblioteca MPI.NET, para a linguagem de programação C#, que possui a melhor relação entre abstração e desempenho. Na computação paralela, o modelo utilizado para o desenvolvimento das aplicações é muito importante, sendo que o modelo Divisão & Conquista é escalável, aplicável a diversos problemas e permite a execução eficiente de aplicações cuja carga de trabalho é desconhecida ou irregular. Para programar utilizando esse modelo é necessário que o ambiente de execução suporte dinamismo, o que não é suportado pela biblioteca MPI.NET. Desse cenário emerge a principal motivação desse trabalho, cujo objetivo é explorar a criação dinâmica de tarefas na biblioteca MPI.NET. Ao final, foi possível obter uma biblioteca com desempenho competitivo em relação ao desempenho das bibliotecas MPI para C++. |
publishDate |
2010 |
dc.date.accessioned.fl_str_mv |
2010-12-16T04:19:14Z |
dc.date.issued.fl_str_mv |
2010 |
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/26952 |
dc.identifier.nrb.pt_BR.fl_str_mv |
000759933 |
url |
http://hdl.handle.net/10183/26952 |
identifier_str_mv |
000759933 |
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/26952/2/000759933.pdf.txt http://www.lume.ufrgs.br/bitstream/10183/26952/1/000759933.pdf http://www.lume.ufrgs.br/bitstream/10183/26952/3/000759933.pdf.jpg |
bitstream.checksum.fl_str_mv |
87600bd90dce4292428589a472723eb2 b7e571ccc4c8d3611bfe0979ed3af087 fc0f417a3e52692f2edb338da4f32f91 |
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_ |
1816736841982803968 |