Mitigando gargalos de desempenho na inversão de forma de onda em sistemas de memória compartilhada

Autores

Palavras-chave:

Autoajuste, Computação de alto desempenho, Sistemas de memória compartilhada, Escalonamento, Otimização

Resumo

A Inversão de Forma de Onda (FWI, do inglês Full Waveform Inversion) é uma técnica amplamente utilizada no processamento sísmico, cujo objetivo é otimizar modelos de velocidade que representam o subsolo, permitindo a geração de imagens mais precisas da subsuperfície, úteis para o setor de petróleo e gás. No entanto, a FWI apresenta um custo computacional extremamente elevado, necessitando de supercomputadores para executar modelos realistas, o que pode resultar em tempos de processamento de dias ou até meses. Para contornar essas limitações, a FWI é frequentemente adaptada para computação paralela, especialmente em sistemas de memória compartilhada com o uso da biblioteca OpenMP. Entre as estratégias para otimização, o escalonamento eficiente de tarefas paralelas é um fator crítico, e, nesse contexto, a PaScal Suite surge como uma ferramenta essencial para avaliar a escalabilidade do código, identificar gargalos e automatizar testes de desempenho, contribuindo diretamente para a análise e otimização da FWI. Embora o escalonador dinâmico de tarefas do OpenMP ofereça vantagens na distribuição de blocos de carga entre núcleos ociosos, ele exige a definição de um tamanho de bloco, cuja relação com o desempenho é complexa e difícil de determinar. Para evitar testes exaustivos, propomos o uso da biblioteca PATSMA (FERNANDES et al., 2024), uma ferramenta desenvolvida em C++ que realiza ajuste automático de parâmetros de execução em algoritmos paralelos. Na metodologia, conduzimos testes com a FWI e o PATSMA, variando o tamanho do problema em ambientes de supercomputadores e computação em nuvem, o que nos permitiu verificar uma redução de até 70,46% no tempo de execução em relação ao uso de escalonadores padrão do OpenMP. A análise de eficiência com o PaScal Suite indicou ainda que, apesar da alta paralelização, trechos críticos do código apresentavam gargalos. Após paralelizarmos essas regiões específicas, a eficiência geral da FWI aumentou de 82,06% para 85,75%, com melhorias significativas em áreas específicas, de 46% para 81% e de 56% para 84%. Os avanços desse estudo resultaram em diversas publicações: um artigo na revista SoftwareX, documentando o desenvolvimento do PATSMA; um artigo de conferência e um capítulo de livro apresentados no SSCAD 2024 sobre a análise de escalabilidade com o PaScal Suite; além de um resumo na conferência internacional ENERGY HPC. Atualmente, submetemos um segundo artigo de revista, abordando os resultados da aplicação do PATSMA na FWI. Como trabalhos futuros, pretendemos aprofundar a investigação e mitigação de gargalos na FWI, além de ampliar os testes da PaScal Suite para ambientes distribuídos, visando aumentar a eficiência e o desempenho da ferramenta em diferentes contextos computacionais.

Downloads

Não há dados estatísticos.

Biografia do Autor

João Batista Fernandes, Universidade Federal do Rio Grande do Norte(UFRN)

Possui graduação em Engenharia de Computação pela Universidade Federal do Rio Grande do Norte (2018) e em Ciência e Tecnologia pela mesma universidade (2015). Concluiu o mestrado em Engenharia de Computação (2020), com foco em computação de alto desempenho, e atualmente está cursando o doutorado, com previsão de conclusão em 2024, na área de balanceamento de carga distribuído para processos sísmicos. Durante o período de pós-graduação, participou de dois projetos de pesquisa, ambos voltados para o desenvolvimento de métodos que melhorassem o desempenho de algoritmos sísmicos, como Modelagem Acústica, RTM e FWI. Também colaborou em pesquisas com a Universidade de Queensland (Austrália) e o Instituto Riken (Japão).

Samuel Xavier de Souza, Universidade Federal do Rio Grande do Norte(UFRN)

Engenheiro de Computação pela Universidade Federal do Rio Grande do Norte - UFRN (2000) e doutor em Engenharia Elétrica pela Katholieke Universiteit Leuven, Bélgica (2007). Trabalhou como Engenheiro de Software/Hardware no Centro Interuniversitário de Micro- e Nanoeletrônica - IMEC, Bélgica, e como consultor de pesquisa no Centro de Supercomputação de Flanders - VSC, Bélgica. Desde 2009 é professor do Departamento de Engenharia de Computação e Automação da UFRN. Fundou em 2016 o Núcleo de Processamento de Alto Desempenho-NPAD que hoje coordena visando facilitar o uso da supercomputação como ferramenta de pesquisa na UFRN. Em 2016, recebeu o prêmio Royal Society-Newton Advanced Fellowships por suas pesquisas em Software Paralelo Energeticamente Efficiente. Seus interesses de pesquisa estão em eficiência energética de software, eficiência e escalabilidade de sistemas paralelos, algoritmos e arquiteturas paralelas e suas aplicações.

Ítalo Augusto Souza de Assis, Universidade Federal Rural do Semi-árido (UFERSA)

Professor do Departamento de Engenharias e Tecnologia (DETEC) da Universidade Federal Rural do Semi-Árido (UFERSA). Doutor em Engenharia Elétrica e da Computação (PPGEE - UFRN). Realizou doutorado sanduíche na UBC e na Georgia Tech financiado pelo Programa PDSE/CAPES. Possui pesquisas nos seguintes temas: Computação Paralela, HPC, GPGPU, algoritmo genético, lógica fuzzy, controle preditivo, algoritmos geofísicos (modelagem acústica, RTM, FWI). 

Downloads

Publicado

07-01-2025

Edição

Seção

Núcleo 2: Ciências Exatas e da Terra, Engenharias, Multidisciplinar