Mostrar el registro sencillo del ítem

dc.contributor.advisorGonzález Escribano, Arturo es
dc.contributor.authorCal Esteban, Tomás de la
dc.contributor.editorUniversidad de Valladolid. Escuela de Ingeniería Informática de Valladolid es
dc.date.accessioned2025-11-10T15:16:27Z
dc.date.available2025-11-10T15:16:27Z
dc.date.issued2025
dc.identifier.urihttps://uvadoc.uva.es/handle/10324/79521
dc.description.abstractLa 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.es
dc.description.abstractParallel 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.es
dc.description.sponsorshipDepartamento de Informática (Arquitectura y Tecnología de Computadores, Ciencias de la Computación e Inteligencia Artificial, Lenguajes y Sistemas Informáticos)es
dc.format.mimetypeapplication/pdfes
dc.language.isospaes
dc.rights.accessRightsinfo:eu-repo/semantics/openAccesses
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/4.0/*
dc.subject.classificationComputación paralelaes
dc.subject.classificationReequilibrado automáticoes
dc.subject.classificationSistemas heterogénoses
dc.titleReequilibrado automático de carga en supercomputadoras pre-exascalaes
dc.typeinfo:eu-repo/semantics/masterThesises
dc.description.degreeMáster en Ingeniería Informáticaes
dc.rightsAttribution-NonCommercial-NoDerivatives 4.0 Internacional*


Ficheros en el ítem

Thumbnail

Este ítem aparece en la(s) siguiente(s) colección(ones)

Mostrar el registro sencillo del ítem