Por favor, use este identificador para citar o enlazar este ítem:https://uvadoc.uva.es/handle/10324/57392
Título
Celerity: el futuro de la programación paralela en memoria distribuida
Autor
Director o Tutor
Año del Documento
2021
Titulación
Máster en Ingeniería Informática
Resumen
El gran desarrollo y despliegue actual de los clústeres de aceleración (accelerator clusters), debido a la necesidad de aprovechar al máximo la capacidad y eficiencia de la computación en paralelo, hace que se estén investigando y desarrollando una gran variedad de herramientas y modelos de programación para gestionar estos sistemas. Los clústeres de aceleración están formados por multitud de GPUs u otros aceleradores de cómputo localizados en distintos nodos, por lo que entra en juego la gestión de memoria distribuida en dispositivos heterogéneos. La antigua solución de combinar MPI para la memoria distribuida y CUDA, ROCm o una herramienta propia del fabricante para gestionar el paralelismo en los aceleradores es compleja de utilizar y se está quedando desfasada. Por tanto, se necesita un software que combine estos dos modelos de forma eficaz. En este punto aparece Celerity, que se presenta como una API de alto nivel para la programación en memoria distribuida en clústeres de aceleración, cuya característica principal es que consigue reducir enormemente la complejidad de la programación en memoria distribuida en dispositivos heterogéneos sin perder eficiencia. En este trabajo se tratará de analizar en detalle la herramienta Celerity y será comparada con Controller+Hitmap, un software similar desarrollado por el grupo de investigación Trasgo de la Universidad de Valladolid. Con los resultados podremos determinar si Celerity podría llegar a convertirse en el futuro de la programación paralela en memoria distribuida para los clústeres de aceleración. The increasing development and current deployment of accelerator clusters, due to the need to take full advantage of the capacity and efficiency of parallel computing, leads to the research and development of a great variety of programming tools and models to manage these systems. But, accelerator clusters are made up of a multitude of GPUs or other computing accelerators located on different nodes. Thus, distributed memory management on heterogeneous devices comes into play. The old solution of combining MPI for distributed memory and CUDA, ROCm or a similar vendor-provided tool to manage the parallelism in the accelerators is complex to use and it is getting out of date. For that reason software that combines these two models in an efficient way is needed. At this point, Celerity appears, presented as a high-level API for distributed memory programming in accelerator clusters. Its main characteristic is that it greatly reduces the complexity of distributed memory programming in heterogeneous devices without losing efficiency. In this work, we will try to analyze the Celerity tool in detail and it will be compared with Controller+Hitmap, similar software developed by the Trasgo research group at the University of Valladolid. With the results we will determine if Celerity could become the future of parallel programming in distributed memory for acceleration clusters.
Palabras Clave
Celerity
hipSYCL
Programación paralela
Departamento
Departamento de Informática (Arquitectura y Tecnología de Computadores, Ciencias de la Computación e Inteligencia Artificial, Lenguajes y Sistemas Informáticos)
Idioma
spa
Derechos
openAccess
Aparece en las colecciones
- Trabajos Fin de Máster UVa [6579]
Ficheros en el ítem
La licencia del ítem se describe como Attribution-NonCommercial-NoDerivatives 4.0 Internacional