Por favor, use este identificador para citar o enlazar este ítem:https://uvadoc.uva.es/handle/10324/57224
Título
Abstracciones para el cálculo automático de comunicaciones en computación paralela distribuida
Director o Tutor
Año del Documento
2022
Titulación
Grado en Ingeniería Informática
Abstract
La computación paralela es una rama de la informática que busca extraer el paralelismo inherente
de las aplicaciones dividiendo el cómputo en subtareas que se ejecutarán a la vez, mejorando
así el rendimiento. Su uso ha ganado importancia en los últimos años debido al aumento de las
capacidades de la tecnología. Presenta aplicaciones en diversos campos, entre los que destacan las
simulaciones científicas.
El tiling es una técnica utilizada en la computación paralela que busca, mediante la reescritura
de bucles o el reparto de estructuras de datos, dividir el cómputo en partes más pequeñas, cuya
unión constituya el resultado final. Un ejemplo de programa que se beneficia del tiling son los
stencils. Estos son algoritmos iterativos en los cuales cada valor de una matriz se calcula a partir de
sus elementos adyacentes en la matriz de la iteración anterior, utilizando operaciones matemáticas
como la media aritmética o ponderada.
La biblioteca Hitmap implementa la técnica del tiling ofreciendo funciones para crear, manipular
y comunicar estructuras de datos de forma eficiente. Sin embargo, la definición de estas comunicaciones
es tediosa, incluyendo una gran cantidad de parámetros que deben ser determinados por el
programador, suponiendo una fuente de errores. Por ello, en este trabajo se propone una extensión
para la biblioteca Hitmap que permita calcular las comunicaciones de manera automática. Parallel computing is a field of computer science that seeks to extract the inherent parallelism
of applications by dividing the computation in subtasks that will be run simultaneously, thus
improving the performance. It has grown in importance over the last few years thanks to the
capabilities of the new technologies. It has applications in different fields, especially in scientific
simulations.
Tiling is a technique used in parallel computing that uses loop rewriting or data structure
distribution to divide the computation in smaller parts, whose union makes the final result. An
example of program that benefits from tiling is a stencil. Those are iterative algorithms in which
each value of a matrix its computed based on its adjacent elements in the matrix of the previous
iteration, using mathematical operations such as the weighted average.
The Hitmap library implements tiling offering functions to create, manipulate and communicate
data structures efficiently. However, the definition of this communications is tedious, including
many parameters that must be determined by the programmer, resulting in error prone code. For
this reason, this project presents an extension for the Hitmap library that provides the automatic
creation of communications.
Palabras Clave
Memoria distribuida
Stencils
Hitmap
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
Collections
- Trabajos Fin de Grado UVa [29659]
Files in this item
Except where otherwise noted, this item's license is described as Attribution-NonCommercial-NoDerivatives 4.0 Internacional