Evaluación del desarrollo de códigos paralelos sobre UPC++

Loading...
Thumbnail Image

Identifiers

Publication date

Authors

Pardo Fente, Álvaro

Other responsabilities

Universidade da Coruña. Facultade de Informática

Journal Title

Bibliographic citation

Type of academic work

Abstract

[Resumen]: Un alto rendimiento en términos de tiempo de ejecución es un requisito crucial en el desarrollo de aplicaciones científicas y de ingeniería, lo que ha llevado al uso generalizado de supercomputadoras y clusters de alto rendimiento, con la paralelización de aplicaciones que eso conlleva. El paradigma más popular en sistemas de memoria distribuida es Message Passing Interface (MPI). Sin embargo, han surgido nuevos paradigmas como Partitioned Global Address Space (PGAS), que ofrece una visión de memoria compartida en un sistema de memoria distribuida, simplificando el desarrollo de aplicaciones paralelas. UPC++ es una librería reciente en C++ que adopta el paradigma PGAS, permitiendo a los programadores acceder directamente a la memoria de procesos remotos. Este trabajo se centra en el desarrollo de benchmarks para evaluar alternativas de uso de UPC++ y compararlo con MPI, observando sus fortalezas y debilidades en términos de rendimiento, funcionalidad y facilidad de uso. Para ello, se han desarrollado una serie de benchmarks paralelos implementados usando ambas librerías, permitiendo un análisis detallado de sus capacidades en distintos escenarios. Los resultados han sido analizados para ofrecer conclusiones sobre las mejores prácticas y la eficiencia de cada enfoque en diferentes contextos.
[Abstract]: High performance in terms of execution time is a crucial requirement in the development of scientific and engineering applications, which has led to the widespread use of supercomputers and high-performance clusters, along with the parallelization of applications that this entails. The most popular paradigm in distributed memory systems is Message Passing Interface (MPI). However, new paradigms have emerged, such as Partitioned Global Address Space (PGAS), which offers a shared memory view in distributed memory, simplifying the development of parallel applications. UPC++ is a recent C++ library that adopts the PGAS paradigm, allowing programmers to directly access the memory of remote processes. This project focuses on the development of benchmarks to evaluate alternatives of implementation with UPC++ and to compare it with MPI, observing their strengths and weaknesses in terms of performance, functionality, and ease of use. To this end, a series of parallel benchmarks have been developed using both libraries, enabling a detailed analysis of their capabilities in different scenarios. The results have been analyzed to provide conclusions on the best practices and the efficiency of each approach in different contexts.

Description

Editor version

Rights

Atribución 3.0 España
Atribución 3.0 España

Except where otherwise noted, this item's license is described as Atribución 3.0 España