Granularity load scheduling auto-tuning for multi-core processors applied to reverse-time migration

dc.contributor.advisorSouza, Samuel Xavier de
dc.contributor.advisor-co1Barros, Tiago Tavares Leite
dc.contributor.advisor-co1IDpt_BR
dc.contributor.advisorIDpt_BR
dc.contributor.authorFernandes, João Batista
dc.contributor.authorIDpt_BR
dc.contributor.referees1Nascimento, Hugo Alexandre Dantas do
dc.contributor.referees1IDpt_BR
dc.contributor.referees2Martins, Idalmis Milian Sardina
dc.contributor.referees2IDpt_BR
dc.date.accessioned2020-10-05T17:46:05Z
dc.date.available2020-10-05T17:46:05Z
dc.date.issued2020-01-14
dc.description.abstractReverse-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.pt_BR
dc.description.resumoMigraçã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.pt_BR
dc.identifier.citationFERNANDES, 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.pt_BR
dc.identifier.urihttps://repositorio.ufrn.br/handle/123456789/30251
dc.languagept_BRpt_BR
dc.publisherUniversidade Federal do Rio Grande do Nortept_BR
dc.publisher.countryBrasilpt_BR
dc.publisher.initialsUFRNpt_BR
dc.publisher.programPROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA E DE COMPUTAÇÃOpt_BR
dc.rightsAcesso Abertopt_BR
dc.subjectAuto ajustept_BR
dc.subjectRTMpt_BR
dc.subjectCSApt_BR
dc.subjectHPCpt_BR
dc.subjectChunk Sizept_BR
dc.subjectMemória compartilhadapt_BR
dc.titleGranularity load scheduling auto-tuning for multi-core processors applied to reverse-time migrationpt_BR
dc.typemasterThesispt_BR

Arquivos

Pacote Original

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
Granularityloadscheduling_Fernandes_2020.pdf
Tamanho:
1.31 MB
Formato:
Adobe Portable Document Format
Carregando...
Imagem de Miniatura
Baixar