Avaliação de técnicas avançadas de comunicação MPI na execução do modelo BRAMS - Carlos Renato de Souza (2018)
O Centro de Previsão de Tempo e Estudos Climáticos (CPTEC) do Instituto Nacional de Pesquisas Espaciais (INPE) executa operacionalmente modelos numéricos de previsão de tempo e clima. Em particular, utiliza o modelo regional BRAMS (Brazilian developments on the Regional Atmospheric Modeling System). Esse modelo foi paralelizado com a biblioteca de comunicação por troca de mensagens Message Passing Interface (MPI) e é executado no supercomputador Tupã do CPTEC, o qual é composto de mais de um milhar de nós de processamento. Cada nó possui dois processadores multinúcleos numa arquitetura de memória compartilhada. Na execução paralela do modelo BRAMS, seu domínio de cálculo é dividido em subdomínios entre processos executados nos núcleos dos muitos nós. Eventuais dependências de dados entre subdomínios diferentes implicam na troca de mensagens MPI entre processos sejam eles do mesmo nó ou não. O BRAMS utiliza troca de mensagens MPI bilateral no modo assíncrono e sem bloqueio, disponível desde a primeira versão do padrão MPI. O padrão MPI tem evoluído, oferecendo novas técnicas para otimizar a comunicação entre processos. Assim, visando otimizar o desempenho da comunicação, o padrão MPI-2 introduziu a chamada comunicação unilateral por acesso remoto à memória, que permite a um processo pode fazer leituras ou escritas por meio de funções MPI na memória de outro, seja do mesmo nó ou não, permitindo a troca de dados entre processos, sem que o processo alvo participe da comunicação explicitamente. A comunicação unilateral foi aperfeiçoada no MPI-3, mas uma nova funcionalidade foi introduzida, a comunicação unilateral por memória compartilhada, que permite a processos MPI executados num mesmo nó definirem uma janela comum de memória local e efetuar leituras e escritas diretas na área da janela de outros processos locais. Este trabalho visa avaliar o desempenho da execução paralela do modelo regional BRAMS ao utilizar a comunicação unilateral de memória compartilhada na comunicação intra-nó e mantendo a comunicação bilateral assíncrona e sem bloqueio na comunicação inter-nó e preservando a mesma divisão de domínio de sua versão paralela original.