Por favor, use este identificador para citar o enlazar este ítem:https://uvadoc.uva.es/handle/10324/79521
Título
Reequilibrado automático de carga en supercomputadoras pre-exascala
Autor
Director o Tutor
Año del Documento
2025
Titulación
Máster en Ingeniería Informática
Abstract
La computación paralela es un paradigma de cómputo extremadamente importante basado
en el uso de máquinas con múltiples elementos de cómputo y la capacidad de ciertas tareas
de subdividirse en trabajos de menor tamaño que se pueden ejecutar de forma simultánea.
En el campo de HPC (High Performance Computing) se utilizan clústeres con cantidades
masivas de equipos interconectados por redes de alto rendimiento. La computación paralela
heterogénea es una subclase de la anterior en la que en los nodos de una máquina se
utilizan dispositivos de distinta naturaleza adaptados a distintas tareas.
Hoy en día, las grandes supercomputadoras pre-exaescala europeas se construyen con miles
de nodos idénticos, que incluyen GPUs (Graphics Processing Units). Los nodos con GPUs
se manejan con técnicas de programación heterogénea. En un clúster, las GPUs operan
simultáneamente con las CPUs que coordinan el trabajo de los procesos o la comunicación
entre nodos, siendo necesario combinar diferentes modelos de programación de ambos tipos
de dispositivos.
Las aplicaciones ISL (Iterative Stencil Loop) representan una clase de soluciones
importantes en el campo de la simulación de magnitudes físicas. Están basadas en un
proceso iterativo, altamente paralelizable, que requiere gran cantidad de cómputo.
El grupo TRASGO de la universidad de Valladolid ha desarrollado una serie de bibliotecas
de funciones que permiten la ejecución de este tipo de aplicaciones en sistemas heterogéneos
distribuidos con CPUs y GPUs. Implementan internamente técnicas de tiling para separar
las estructuras de datos en bloques que se asignan a distintos procesadores y solapan
cómputo y comunicación entre dispositivos cuando es posible, mejorando la eficiencia global
del programa. El tamaño del bloque asignado a cada proceso es muy relevante, ya que
implica una mayor o menor cantidad de trabajo a realizar en cada dispositivo. Si esta
cantidad de trabajo no está bien equilibrada, la ejecución se ralentiza, ya que cuando es
necesario realizar sincronizaciones o comunicaciones entre procesos, el tiempo de ejecución
pasa a ser el del más lento.
En mi trabajo de fin de grado se introdujo en las herramientas del grupo un sistema de
equilibrado de carga (ALB, Automatic Load Balancing), basado en trabajos previos. Esta
herramienta se encarga de analizar continuamente el estado actual de la ejecución y el
tiempo que tarda cada proceso en completar una iteración. De forma automática y
transparente al usuario redistribuye la cantidad de trabajo, dando más carga a los dispositivos más rápidos y menos carga a los más lentos, lo que fomenta en un mayor
rendimiento global.
El objetivo de este proyecto es seguir desarrollando este mecanismo, teniendo en cuenta
algunos de los puntos del trabajo futuro planteados en el trabajo de fin de grado,
verificando la utilidad de este mecanismo en ordenadores pre-exascala reales. Se plantea
comprobar si en estos sistemas, donde el hardware de cada nodo es completamente idéntico,
el estado del sistema o la naturaleza de la carga a ejecutar pueden causar desequilibrios en
los tiempos de ejecución que puedan corregirse con el mecanismo ALB propuesto. Parallel computing is an extremely important computing paradigm based on the use of
machines with multiple computing elements and the ability of certain task to subdivide into
smaller jobs that can be executed simultaneously. In the field of HPC (High Performance
Computing), clusters with massive amounts of machines interconnected by
high-performance networks are used. Heterogeneous parallel computing is a subclass of the
former, in which devices of different types adapted to different tasks are used in the nodes
of a machine.
Today, large European pre-exascale supercomputers are built with thousands of identical
nodes, including GPUs (Graphics Processing Units). Nodes with GPUs are managed using
heterogeneous programming techniques. In a cluster, GPUs operate simultaneously with
CPUs that coordinate the work of processes or communication between nodes, requiring
the combination of different programming models for both types of devices.
ISL (Iterative Stencil Loop) applications represent an important class of solutions in the
field of physical magnitudes simulation. They are based on an iterative, highly
parallelizable process that requires a large amount of computing power.
The TRASGO group at the University of Valladolid has developed a series of function
libraries that enable the execution of this type of application on heterogeneous distributed
systems with CPUs and GPUs. They internally implement tiling techniques to separate
data structures into blocks that are assigned to different processors and overlap
computation and communication between devices whenever possible, improving the overall
efficiency of the program. The size of the block assigned to each process is very important,
as it implies a greater or lesser amount of work to be done on each device. If this amount of
work is not well balanced, execution slows down, since when synchronization or
communication between processes is necessary, the execution time becomes that of the
slowest process.
In my bachelor’s thesis, I introduced an Automatic Load Balancing (ALB) mechanism into
the group’s tools, based on previous works. This tool continuously analyzes the current
state of execution and the time it takes for each process to complete an iteration.
Automatically and transparently to the user, it redistributes the amount of work, giving
more load to the fastest devices and less load to the slowest ones, which promotes greater
overall performance.
The objective of this project is to continue developing this mechanism, taking into account
some of the points from the future work section raised in the bachelor’s thesis, verifying the
usefulness of this mechanism in real pre-exascale computers. The aim is to check whether in
these systems, where the hardware of each node is completely identical, the state of the
system or the nature of the load to be executed can cause imbalances in execution times
that can be corrected with the proposed ALB mechanism.
Palabras Clave
Computación paralela
Reequilibrado automático
Sistemas heterogénos
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 Máster UVa [7274]
Files in this item
Except where otherwise noted, this item's license is described as Attribution-NonCommercial-NoDerivatives 4.0 Internacional









