Dissertação

{en_GB=Applying Modern HPC Programming Platforms to Plasma Simulations} {} EVALUATED

{pt=Com o aumento do esforço para que os supercomputadores atinjam novos níveis de desempenho, é importante investigar quais são os modelos de programação mais eficientes na computação de alto desempenho. Hoje em dia as plataformas mais usadas são o MPI, que segue um paradigma de passagem de mensagem, e o OpenMP, que segue um paradigma de memória partilhada. Durante os últimos anos algumas plataformas emergiram como por exemplo GASPI e OmpSs. GASPI é uma implementação no paradigma de espaço de endereço global particionado que usa comunicações unilaterais. OmpSs, por sua vez, é uma alternativa no paradigma de memória partilhada que usa tarefas com dependências de dados. O objectivo desta tese é comparar as plataformas padrão com as novas plataformas mencionadas acima usando um código de partículas-em-células no domínio da simulação de plasmas. Para tal, partimos de uma variante simplificada e sequencial do código OSIRIS, chamada ZPIC, e construimos diferentes implementações utilizando as plataformas de programação paralela já mencionadas. Três casos de teste realistas foram usados para testar as diferentes implementações tendo sido avaliadas experimentalmente no supercomputador MareNostrum, abrangendo até 12,288 processos na nossa análise. Os resultados mostram que a estratégia implementada em OmpSs atinge melhores resultados que as versões em OpenMP e que GASPI mostra resultados promissores., en=With the increased effort to make supercomputers reach new levels of performance, it is crucial to investigate which are the most effective programming models to use in High-Performance Computing (HPC). Today, the most used frameworks in HPC are MPI, which follows a message passing paradigm, and OpenMP, a shared memory framework. Throughout the years, alternative frameworks have been emerging, such as GASPI and OmpSs. GASPI is an implementation of partitioned global address space, an approach of distributed shared memory paradigm which uses one-sided communications. OmpSs works on shared memory using tasks with data dependencies. The goal of this thesis is to compare the different programming models. To do so we started from a sequential, open source and simplified version of OSIRIS, a particle-in-cell code in the plasma simulation filed, called ZPIC. From ZPIC, we built different implementations using the different above-mentioned emerging programming models. The different versions were experimentally evaluated using three real test cases that use different capacities of ZPIC. We used the supercomputer MareNostrum, reaching the usage of 12,288 cores in our experiments. The results show that the strategy implemented with OmpSs achieved better results than OpenMP versions and that GASPI shows promising results.}
{pt=Computação de Alto Desempenho, MPI, OpenMP, Programação em Paralelo, Partículas-em-Células, Simulação de Plasmas, en=High-Performance Computing, MPI, OpenMP, Parallel Programming, Particle-in-Cell, Plasma Simulations}

Novembro 22, 2019, 10:30

Orientação

ORIENTADOR

João Pedro Faria Mendonça Barreto

Departamento de Engenharia Informática (DEI)

Professor Auxiliar

ORIENTADOR

José Carlos Alves Pereira Monteiro

Departamento de Engenharia Informática (DEI)

Professor Catedrático