Um estudo sobre o desenvolvimento de aplicações com criação dinâmica de processos em MPI
Autor(a) principal: | |
---|---|
Data de Publicação: | 2013 |
Tipo de documento: | Trabalho de conclusão de curso |
Idioma: | por |
Título da fonte: | Repositório Institucional da UNIPAMPA |
Texto Completo: | http://dspace.unipampa.edu.br/jspui/handle/riu/1566 |
Resumo: | O MPI é o padrão amplamente utilizado no desenvolvimento de programas paralelos para ambientes de memória distribuída. Ele é dividido em duas normas: MPI-1 e MPI-2. A primeira caracteriza-se por criar processos estaticamente, no início da execução da aplicação, enquanto que na segunda, a criação de processos ocorre de forma dinâmica, ou seja, em tempo de execução. Entretanto, criar processos dinamicamente gera um custo extra para a aplicação, quando comparado com a criação estática. Este trabalho realiza um estudo sobre o desenvolvimento de aplicações com criação dinâmica de processos, que objetiva investigar o impacto deste sobre-custo em aplicações MPI-2 e como ele pode ser contornado através do uso de técnicas de programação eficientes e características avançadas fornecidas pelo próprio MPI. Para isto, foram implementadas aplicações em MPI-1 e MPI-2, sob dois problemas (Jogo da Vida e Skyline Matrix Solver) da suíte Cowichan Problems. Nossa primeira análise, realizada sobre o Jogo da Vida, foi possível encontrar o custo extra da criação dinâmica de processos em aplicações com carga regular de trabalho e cujo tempo de computação é similar entre os processos. Já a segunda análise efetuada sobre o Skyline Matrix Solver possibilitou analisar o impacto da criação de processos em tempo de execução nas aplicações que possuem carga de trabalho irregular e tempo de computação diferente entre os processos. Nossos resultados mostram que para aplicações com carga de trabalho regular e com pouco tempo útil de computação (similares ao Jogo da Vida), no melhor dos casos, a inserção da criação dinâmica de processos impactou em apenas 0, 2% no tempo total da aplicação. Já para aplicações com carga de trabalho irregular e com tempo consideravelmente útil de computação (similares ao Skyline Matrix Solver), mostramos que é possível obter ganho com a criação dinâmica de processos, em que no melhor dos casos, a implementação com MPI-2 foi 6% mais eficiente que a implementação MPI-1. |
id |
UNIP_0be67bbcff4df8a566d344268fb7bcbe |
---|---|
oai_identifier_str |
oai:repositorio.unipampa.edu.br:riu/1566 |
network_acronym_str |
UNIP |
network_name_str |
Repositório Institucional da UNIPAMPA |
repository_id_str |
|
spelling |
Cera, Márcia CristinaRossi, Fábio DinizLorenzon, Arthur Francisco2017-06-05T16:01:19Z2017-06-05T16:01:19Z2013-03-04http://dspace.unipampa.edu.br/jspui/handle/riu/1566O MPI é o padrão amplamente utilizado no desenvolvimento de programas paralelos para ambientes de memória distribuída. Ele é dividido em duas normas: MPI-1 e MPI-2. A primeira caracteriza-se por criar processos estaticamente, no início da execução da aplicação, enquanto que na segunda, a criação de processos ocorre de forma dinâmica, ou seja, em tempo de execução. Entretanto, criar processos dinamicamente gera um custo extra para a aplicação, quando comparado com a criação estática. Este trabalho realiza um estudo sobre o desenvolvimento de aplicações com criação dinâmica de processos, que objetiva investigar o impacto deste sobre-custo em aplicações MPI-2 e como ele pode ser contornado através do uso de técnicas de programação eficientes e características avançadas fornecidas pelo próprio MPI. Para isto, foram implementadas aplicações em MPI-1 e MPI-2, sob dois problemas (Jogo da Vida e Skyline Matrix Solver) da suíte Cowichan Problems. Nossa primeira análise, realizada sobre o Jogo da Vida, foi possível encontrar o custo extra da criação dinâmica de processos em aplicações com carga regular de trabalho e cujo tempo de computação é similar entre os processos. Já a segunda análise efetuada sobre o Skyline Matrix Solver possibilitou analisar o impacto da criação de processos em tempo de execução nas aplicações que possuem carga de trabalho irregular e tempo de computação diferente entre os processos. Nossos resultados mostram que para aplicações com carga de trabalho regular e com pouco tempo útil de computação (similares ao Jogo da Vida), no melhor dos casos, a inserção da criação dinâmica de processos impactou em apenas 0, 2% no tempo total da aplicação. Já para aplicações com carga de trabalho irregular e com tempo consideravelmente útil de computação (similares ao Skyline Matrix Solver), mostramos que é possível obter ganho com a criação dinâmica de processos, em que no melhor dos casos, a implementação com MPI-2 foi 6% mais eficiente que a implementação MPI-1.The MPI standard is widely used in the development of parallel programs for distributed memory environments. It is divided into two standards: MPI-1 and MPI-2. The first is characterized by creating processes statically at the start of execution of the application, while in the second the creation of a process takes place dynamically, ie at runtime. However, processes create dynamically generates an extra cost to implement, when compared with static setting. This paper makes a study on the development of applications with dynamic creation of processes, which aims to investigate the impact of this overhead in MPI-2 applications and how it can be bypassed through the use of efficient programming techniques and advanced features provided by the MPI. For this, applications have been implemented with MPI-1 and MPI-2, under two problems (Game of Life and Skyline Matrix Solver) of the suite Cowichan Problems. Our first analysis performed on the Game of Life, it was possible to find the overhead of the dynamic creation of processes in applications with regular workload and whose computation time is similar in both cases. The second analysis performed on the Skyline Matrix Solver possible to analyze the impact of process creation at runtime in applications that have irregular workload and different computation time between processes. Our results show that for applications with regular workload and with little computing time (similar to the Game of Life), at best, the inclusion of dynamic creation of processes impacted by just 0, 2% in the total time of application. For applications with irregular work load considerably useful and time of computation (similar to Skyline Matrix Solver), we show that it is possible to succeed with the creation of dynamic processes, wherein at best, with the implementation of MPI-2 was 6% more efficient than the MPI-1 implementation version.porUniversidade Federal do PampaCampus AlegreteAttribution-NonCommercial-NoDerivs 3.0 Brazilhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/info:eu-repo/semantics/openAccessCNPQ::CIENCIAS EXATAS E DA TERRAComputer scienceMessage-Passing InterfaceParallel programmingCiência da computaçãoProgramação paralelaMessage-Passing InterfaceUm estudo sobre o desenvolvimento de aplicações com criação dinâmica de processos em MPIinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisapplication/pdfreponame:Repositório Institucional da UNIPAMPAinstname:Universidade Federal do Pampa (UNIPAMPA)instacron:UNIPAMPAORIGINALUm estudo sobre o desenvolvimento de aplicações com criação dinâmica de processos em MPI.pdfUm estudo sobre o desenvolvimento de aplicações com criação dinâmica de processos em MPI.pdfapplication/pdf2641267https://repositorio.unipampa.edu.br/jspui/bitstream/riu/1566/1/Um%20estudo%20sobre%20o%20desenvolvimento%20de%20aplica%c3%a7%c3%b5es%20com%20cria%c3%a7%c3%a3o%20din%c3%a2mica%20de%20processos%20em%20MPI.pdf91573cfe966d655b519c0957d645fc53MD51CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-81232https://repositorio.unipampa.edu.br/jspui/bitstream/riu/1566/2/license_rdf66e71c371cc565284e70f40736c94386MD52LICENSElicense.txtlicense.txttext/plain; charset=utf-81748https://repositorio.unipampa.edu.br/jspui/bitstream/riu/1566/3/license.txt8a4605be74aa9ea9d79846c1fba20a33MD53TEXTUm estudo sobre o desenvolvimento de aplicações com criação dinâmica de processos em MPI.pdf.txtUm estudo sobre o desenvolvimento de aplicações com criação dinâmica de processos em MPI.pdf.txtExtracted texttext/plain196508https://repositorio.unipampa.edu.br/jspui/bitstream/riu/1566/4/Um%20estudo%20sobre%20o%20desenvolvimento%20de%20aplica%c3%a7%c3%b5es%20com%20cria%c3%a7%c3%a3o%20din%c3%a2mica%20de%20processos%20em%20MPI.pdf.txt45705d2b199fc1c5831f29bc60dc1ec9MD54riu/15662021-04-12 15:38:31.552oai:repositorio.unipampa.edu.br:riu/1566Tk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=Repositório InstitucionalPUBhttp://dspace.unipampa.edu.br:8080/oai/requestsisbi@unipampa.edu.bropendoar:2021-04-12T18:38:31Repositório Institucional da UNIPAMPA - Universidade Federal do Pampa (UNIPAMPA)false |
dc.title.pt_BR.fl_str_mv |
Um estudo sobre o desenvolvimento de aplicações com criação dinâmica de processos em MPI |
title |
Um estudo sobre o desenvolvimento de aplicações com criação dinâmica de processos em MPI |
spellingShingle |
Um estudo sobre o desenvolvimento de aplicações com criação dinâmica de processos em MPI Lorenzon, Arthur Francisco CNPQ::CIENCIAS EXATAS E DA TERRA Computer science Message-Passing Interface Parallel programming Ciência da computação Programação paralela Message-Passing Interface |
title_short |
Um estudo sobre o desenvolvimento de aplicações com criação dinâmica de processos em MPI |
title_full |
Um estudo sobre o desenvolvimento de aplicações com criação dinâmica de processos em MPI |
title_fullStr |
Um estudo sobre o desenvolvimento de aplicações com criação dinâmica de processos em MPI |
title_full_unstemmed |
Um estudo sobre o desenvolvimento de aplicações com criação dinâmica de processos em MPI |
title_sort |
Um estudo sobre o desenvolvimento de aplicações com criação dinâmica de processos em MPI |
author |
Lorenzon, Arthur Francisco |
author_facet |
Lorenzon, Arthur Francisco |
author_role |
author |
dc.contributor.co-advisor.none.fl_str_mv |
Rossi, Fábio Diniz |
dc.contributor.advisor1.fl_str_mv |
Cera, Márcia Cristina |
dc.contributor.author.fl_str_mv |
Lorenzon, Arthur Francisco |
contributor_str_mv |
Cera, Márcia Cristina |
dc.subject.cnpq.fl_str_mv |
CNPQ::CIENCIAS EXATAS E DA TERRA |
topic |
CNPQ::CIENCIAS EXATAS E DA TERRA Computer science Message-Passing Interface Parallel programming Ciência da computação Programação paralela Message-Passing Interface |
dc.subject.eng.fl_str_mv |
Computer science Message-Passing Interface Parallel programming |
dc.subject.por.fl_str_mv |
Ciência da computação Programação paralela Message-Passing Interface |
description |
O MPI é o padrão amplamente utilizado no desenvolvimento de programas paralelos para ambientes de memória distribuída. Ele é dividido em duas normas: MPI-1 e MPI-2. A primeira caracteriza-se por criar processos estaticamente, no início da execução da aplicação, enquanto que na segunda, a criação de processos ocorre de forma dinâmica, ou seja, em tempo de execução. Entretanto, criar processos dinamicamente gera um custo extra para a aplicação, quando comparado com a criação estática. Este trabalho realiza um estudo sobre o desenvolvimento de aplicações com criação dinâmica de processos, que objetiva investigar o impacto deste sobre-custo em aplicações MPI-2 e como ele pode ser contornado através do uso de técnicas de programação eficientes e características avançadas fornecidas pelo próprio MPI. Para isto, foram implementadas aplicações em MPI-1 e MPI-2, sob dois problemas (Jogo da Vida e Skyline Matrix Solver) da suíte Cowichan Problems. Nossa primeira análise, realizada sobre o Jogo da Vida, foi possível encontrar o custo extra da criação dinâmica de processos em aplicações com carga regular de trabalho e cujo tempo de computação é similar entre os processos. Já a segunda análise efetuada sobre o Skyline Matrix Solver possibilitou analisar o impacto da criação de processos em tempo de execução nas aplicações que possuem carga de trabalho irregular e tempo de computação diferente entre os processos. Nossos resultados mostram que para aplicações com carga de trabalho regular e com pouco tempo útil de computação (similares ao Jogo da Vida), no melhor dos casos, a inserção da criação dinâmica de processos impactou em apenas 0, 2% no tempo total da aplicação. Já para aplicações com carga de trabalho irregular e com tempo consideravelmente útil de computação (similares ao Skyline Matrix Solver), mostramos que é possível obter ganho com a criação dinâmica de processos, em que no melhor dos casos, a implementação com MPI-2 foi 6% mais eficiente que a implementação MPI-1. |
publishDate |
2013 |
dc.date.issued.fl_str_mv |
2013-03-04 |
dc.date.accessioned.fl_str_mv |
2017-06-05T16:01:19Z |
dc.date.available.fl_str_mv |
2017-06-05T16:01:19Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/bachelorThesis |
format |
bachelorThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://dspace.unipampa.edu.br/jspui/handle/riu/1566 |
url |
http://dspace.unipampa.edu.br/jspui/handle/riu/1566 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
Attribution-NonCommercial-NoDerivs 3.0 Brazil http://creativecommons.org/licenses/by-nc-nd/3.0/br/ info:eu-repo/semantics/openAccess |
rights_invalid_str_mv |
Attribution-NonCommercial-NoDerivs 3.0 Brazil http://creativecommons.org/licenses/by-nc-nd/3.0/br/ |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.publisher.none.fl_str_mv |
Universidade Federal do Pampa |
dc.publisher.department.fl_str_mv |
Campus Alegrete |
publisher.none.fl_str_mv |
Universidade Federal do Pampa |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UNIPAMPA instname:Universidade Federal do Pampa (UNIPAMPA) instacron:UNIPAMPA |
instname_str |
Universidade Federal do Pampa (UNIPAMPA) |
instacron_str |
UNIPAMPA |
institution |
UNIPAMPA |
reponame_str |
Repositório Institucional da UNIPAMPA |
collection |
Repositório Institucional da UNIPAMPA |
bitstream.url.fl_str_mv |
https://repositorio.unipampa.edu.br/jspui/bitstream/riu/1566/1/Um%20estudo%20sobre%20o%20desenvolvimento%20de%20aplica%c3%a7%c3%b5es%20com%20cria%c3%a7%c3%a3o%20din%c3%a2mica%20de%20processos%20em%20MPI.pdf https://repositorio.unipampa.edu.br/jspui/bitstream/riu/1566/2/license_rdf https://repositorio.unipampa.edu.br/jspui/bitstream/riu/1566/3/license.txt https://repositorio.unipampa.edu.br/jspui/bitstream/riu/1566/4/Um%20estudo%20sobre%20o%20desenvolvimento%20de%20aplica%c3%a7%c3%b5es%20com%20cria%c3%a7%c3%a3o%20din%c3%a2mica%20de%20processos%20em%20MPI.pdf.txt |
bitstream.checksum.fl_str_mv |
91573cfe966d655b519c0957d645fc53 66e71c371cc565284e70f40736c94386 8a4605be74aa9ea9d79846c1fba20a33 45705d2b199fc1c5831f29bc60dc1ec9 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositório Institucional da UNIPAMPA - Universidade Federal do Pampa (UNIPAMPA) |
repository.mail.fl_str_mv |
sisbi@unipampa.edu.br |
_version_ |
1813274811841904640 |