Granularity load scheduling auto-tuning for multi-core processors applied to reverse-time migration
Autor(a) principal: | |
---|---|
Data de Publicação: | 2020 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Repositório Institucional da UFRN |
Texto Completo: | https://repositorio.ufrn.br/handle/123456789/30251 |
Resumo: | Migração reversa no tempo (RTM do inglês - reverse-time migration) é um algoritmo amplamente usado na indústria de petróleo e gás para processar dados sísmicos. O processamento do RTM é uma tarefa computacionalmente intensiva que se adapta bem a computadores paralelos. Por ser massivo e regular, esse tipo de tarefa geralmente é distribuído igual e estaticamente entre os processadores paralelos disponíveis. No entanto, essa estratégia pode frequentemente não ser ótima. Quando os processadores são heterogêneos, e mesmo quando a maioria tem poder de processamento semelhante, muitos deles ainda precisam esperar ociosamente pelos processadores mais lentos. Nesta pesquisa, mostramos que mesmo entre núcleos homogêneos pode haver desequilíbrio de carga e afetar consideravelmente o desempenho geral de uma aplicação 3D RTM. Mostramos que a distribuição dinâmica de carga tem uma vantagem significativa sobre a distribuição estática convencional, e outras distribuições padrões do OpenMP, auto e guiado. No entanto, a granularidade do trabalho que é dividido e distribuído dinamicamente desempenha um papel fundamental na obtenção dessa vantagem. Para encontrar a granularidade ideal, propomos uma estratégia de autoajuste baseado em recozimento simulado acoplado (CSA do inglês - coupled simulated annealing) que ajusta a quantidade de interações dos laços paralelos que o OpenMP atribue dinamicamente às threads durante a inicialização de um aplicativo 3D RTM. Experimentos realizados em sistemas computacionais com diferentes especificações de processador e quantidade de memória para diferentes tamanhos de entrada mostram que o método proposto é consistentemente mais rápido do que os escalonadores padrões do OpenMP. |
id |
UFRN_50b86a778a58ff051b22b99901c18926 |
---|---|
oai_identifier_str |
oai:https://repositorio.ufrn.br:123456789/30251 |
network_acronym_str |
UFRN |
network_name_str |
Repositório Institucional da UFRN |
repository_id_str |
|
spelling |
Fernandes, João BatistaBarros, Tiago Tavares LeiteNascimento, Hugo Alexandre Dantas doMartins, Idalmis Milian SardinaSouza, Samuel Xavier de2020-10-05T17:46:05Z2020-10-05T17:46:05Z2020-01-14FERNANDES, João Batista. Granularity load scheduling auto-tuning for multi-core processors applied to reverse-time migration. 2020. 75f. Dissertação (Mestrado em Engenharia Elétrica e de Computação) - Centro de Tecnologia, Universidade Federal do Rio Grande do Norte, Natal, 2020.https://repositorio.ufrn.br/handle/123456789/30251Migração reversa no tempo (RTM do inglês - reverse-time migration) é um algoritmo amplamente usado na indústria de petróleo e gás para processar dados sísmicos. O processamento do RTM é uma tarefa computacionalmente intensiva que se adapta bem a computadores paralelos. Por ser massivo e regular, esse tipo de tarefa geralmente é distribuído igual e estaticamente entre os processadores paralelos disponíveis. No entanto, essa estratégia pode frequentemente não ser ótima. Quando os processadores são heterogêneos, e mesmo quando a maioria tem poder de processamento semelhante, muitos deles ainda precisam esperar ociosamente pelos processadores mais lentos. Nesta pesquisa, mostramos que mesmo entre núcleos homogêneos pode haver desequilíbrio de carga e afetar consideravelmente o desempenho geral de uma aplicação 3D RTM. Mostramos que a distribuição dinâmica de carga tem uma vantagem significativa sobre a distribuição estática convencional, e outras distribuições padrões do OpenMP, auto e guiado. No entanto, a granularidade do trabalho que é dividido e distribuído dinamicamente desempenha um papel fundamental na obtenção dessa vantagem. Para encontrar a granularidade ideal, propomos uma estratégia de autoajuste baseado em recozimento simulado acoplado (CSA do inglês - coupled simulated annealing) que ajusta a quantidade de interações dos laços paralelos que o OpenMP atribue dinamicamente às threads durante a inicialização de um aplicativo 3D RTM. Experimentos realizados em sistemas computacionais com diferentes especificações de processador e quantidade de memória para diferentes tamanhos de entrada mostram que o método proposto é consistentemente mais rápido do que os escalonadores padrões do OpenMP.Reverse-time migration (RTM) is an algorithm widely used in the oil and gas industry to process seismic data. It is a computationally intensive task that can be designed to run in parallel computers. Because of it being massive and regular, this type of task is often equally and statically distributed among the available parallel processors. However, this strategy might often not be optimal. When the processors are heterogeneous, and even when most have similar processing power, many of them might still have to wait idly for the slower processors. In this paper, we show that even among homogeneous cores here might be load imbalance that can considerably affect the overall performance of a 3D RTM application. We show that dynamic load distribution has a significant advantage over the conventional static distribution, and other default OpenMP schedules, such as auto and guided. However, the granularity of the dynamically distributed chunks of work plays a key role in harvesting this advantage. In order to find the optimal granularity, we propose a coupled simulated annealing (CSA) based auto-tuning strategy that adjusts the chunk size of the work that OpenMP parallel loops assign dynamically to worker threads during the initialization of a 3D RTM application. Experiments performed on computational systems with different processor and memory specifications for different sizes of input show that the proposed method is consistently faster than the default OpenMP loop schedulers.Universidade Federal do Rio Grande do NortePROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA E DE COMPUTAÇÃOUFRNBrasilAuto ajusteRTMCSAHPCChunk SizeMemória compartilhadaGranularity load scheduling auto-tuning for multi-core processors applied to reverse-time migrationinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/openAccessporreponame:Repositório Institucional da UFRNinstname:Universidade Federal do Rio Grande do Norte (UFRN)instacron:UFRNORIGINALGranularityloadscheduling_Fernandes_2020.pdfapplication/pdf1372236https://repositorio.ufrn.br/bitstream/123456789/30251/1/Granularityloadscheduling_Fernandes_2020.pdf86d83069250465967e5d0045793bc123MD51TEXTGranularityloadscheduling_Fernandes_2020.pdf.txtGranularityloadscheduling_Fernandes_2020.pdf.txtExtracted texttext/plain136088https://repositorio.ufrn.br/bitstream/123456789/30251/2/Granularityloadscheduling_Fernandes_2020.pdf.txtf4697590d310c94d8a7c88416c8a68c9MD52THUMBNAILGranularityloadscheduling_Fernandes_2020.pdf.jpgGranularityloadscheduling_Fernandes_2020.pdf.jpgGenerated Thumbnailimage/jpeg1477https://repositorio.ufrn.br/bitstream/123456789/30251/3/Granularityloadscheduling_Fernandes_2020.pdf.jpg7904e28a43ef320bfc8128f75b1b9368MD53123456789/302512020-10-11 04:39:03.253oai:https://repositorio.ufrn.br:123456789/30251Repositório de PublicaçõesPUBhttp://repositorio.ufrn.br/oai/opendoar:2020-10-11T07:39:03Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)false |
dc.title.pt_BR.fl_str_mv |
Granularity load scheduling auto-tuning for multi-core processors applied to reverse-time migration |
title |
Granularity load scheduling auto-tuning for multi-core processors applied to reverse-time migration |
spellingShingle |
Granularity load scheduling auto-tuning for multi-core processors applied to reverse-time migration Fernandes, João Batista Auto ajuste RTM CSA HPC Chunk Size Memória compartilhada |
title_short |
Granularity load scheduling auto-tuning for multi-core processors applied to reverse-time migration |
title_full |
Granularity load scheduling auto-tuning for multi-core processors applied to reverse-time migration |
title_fullStr |
Granularity load scheduling auto-tuning for multi-core processors applied to reverse-time migration |
title_full_unstemmed |
Granularity load scheduling auto-tuning for multi-core processors applied to reverse-time migration |
title_sort |
Granularity load scheduling auto-tuning for multi-core processors applied to reverse-time migration |
author |
Fernandes, João Batista |
author_facet |
Fernandes, João Batista |
author_role |
author |
dc.contributor.authorID.pt_BR.fl_str_mv |
|
dc.contributor.advisorID.pt_BR.fl_str_mv |
|
dc.contributor.advisor-co1ID.pt_BR.fl_str_mv |
|
dc.contributor.referees1.none.fl_str_mv |
Nascimento, Hugo Alexandre Dantas do |
dc.contributor.referees1ID.pt_BR.fl_str_mv |
|
dc.contributor.referees2.none.fl_str_mv |
Martins, Idalmis Milian Sardina |
dc.contributor.referees2ID.pt_BR.fl_str_mv |
|
dc.contributor.author.fl_str_mv |
Fernandes, João Batista |
dc.contributor.advisor-co1.fl_str_mv |
Barros, Tiago Tavares Leite |
dc.contributor.advisor1.fl_str_mv |
Souza, Samuel Xavier de |
contributor_str_mv |
Barros, Tiago Tavares Leite Souza, Samuel Xavier de |
dc.subject.por.fl_str_mv |
Auto ajuste RTM CSA HPC Chunk Size Memória compartilhada |
topic |
Auto ajuste RTM CSA HPC Chunk Size Memória compartilhada |
description |
Migração reversa no tempo (RTM do inglês - reverse-time migration) é um algoritmo amplamente usado na indústria de petróleo e gás para processar dados sísmicos. O processamento do RTM é uma tarefa computacionalmente intensiva que se adapta bem a computadores paralelos. Por ser massivo e regular, esse tipo de tarefa geralmente é distribuído igual e estaticamente entre os processadores paralelos disponíveis. No entanto, essa estratégia pode frequentemente não ser ótima. Quando os processadores são heterogêneos, e mesmo quando a maioria tem poder de processamento semelhante, muitos deles ainda precisam esperar ociosamente pelos processadores mais lentos. Nesta pesquisa, mostramos que mesmo entre núcleos homogêneos pode haver desequilíbrio de carga e afetar consideravelmente o desempenho geral de uma aplicação 3D RTM. Mostramos que a distribuição dinâmica de carga tem uma vantagem significativa sobre a distribuição estática convencional, e outras distribuições padrões do OpenMP, auto e guiado. No entanto, a granularidade do trabalho que é dividido e distribuído dinamicamente desempenha um papel fundamental na obtenção dessa vantagem. Para encontrar a granularidade ideal, propomos uma estratégia de autoajuste baseado em recozimento simulado acoplado (CSA do inglês - coupled simulated annealing) que ajusta a quantidade de interações dos laços paralelos que o OpenMP atribue dinamicamente às threads durante a inicialização de um aplicativo 3D RTM. Experimentos realizados em sistemas computacionais com diferentes especificações de processador e quantidade de memória para diferentes tamanhos de entrada mostram que o método proposto é consistentemente mais rápido do que os escalonadores padrões do OpenMP. |
publishDate |
2020 |
dc.date.accessioned.fl_str_mv |
2020-10-05T17:46:05Z |
dc.date.available.fl_str_mv |
2020-10-05T17:46:05Z |
dc.date.issued.fl_str_mv |
2020-01-14 |
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.citation.fl_str_mv |
FERNANDES, João Batista. Granularity load scheduling auto-tuning for multi-core processors applied to reverse-time migration. 2020. 75f. Dissertação (Mestrado em Engenharia Elétrica e de Computação) - Centro de Tecnologia, Universidade Federal do Rio Grande do Norte, Natal, 2020. |
dc.identifier.uri.fl_str_mv |
https://repositorio.ufrn.br/handle/123456789/30251 |
identifier_str_mv |
FERNANDES, João Batista. Granularity load scheduling auto-tuning for multi-core processors applied to reverse-time migration. 2020. 75f. Dissertação (Mestrado em Engenharia Elétrica e de Computação) - Centro de Tecnologia, Universidade Federal do Rio Grande do Norte, Natal, 2020. |
url |
https://repositorio.ufrn.br/handle/123456789/30251 |
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.publisher.none.fl_str_mv |
Universidade Federal do Rio Grande do Norte |
dc.publisher.program.fl_str_mv |
PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA E DE COMPUTAÇÃO |
dc.publisher.initials.fl_str_mv |
UFRN |
dc.publisher.country.fl_str_mv |
Brasil |
publisher.none.fl_str_mv |
Universidade Federal do Rio Grande do Norte |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UFRN instname:Universidade Federal do Rio Grande do Norte (UFRN) instacron:UFRN |
instname_str |
Universidade Federal do Rio Grande do Norte (UFRN) |
instacron_str |
UFRN |
institution |
UFRN |
reponame_str |
Repositório Institucional da UFRN |
collection |
Repositório Institucional da UFRN |
bitstream.url.fl_str_mv |
https://repositorio.ufrn.br/bitstream/123456789/30251/1/Granularityloadscheduling_Fernandes_2020.pdf https://repositorio.ufrn.br/bitstream/123456789/30251/2/Granularityloadscheduling_Fernandes_2020.pdf.txt https://repositorio.ufrn.br/bitstream/123456789/30251/3/Granularityloadscheduling_Fernandes_2020.pdf.jpg |
bitstream.checksum.fl_str_mv |
86d83069250465967e5d0045793bc123 f4697590d310c94d8a7c88416c8a68c9 7904e28a43ef320bfc8128f75b1b9368 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN) |
repository.mail.fl_str_mv |
|
_version_ |
1814832718186283008 |