RT info:eu-repo/semantics/bachelorThesis T1 Redistribución automática de carga para ejecución paralela heterogénea de aplicaciones Iterative Stencil Loop A1 Cal Esteban, Tomás de la A2 Universidad de Valladolid. Escuela de Ingeniería Informática de Valladolid K1 Computación paralela K1 Sistemas heterogénos K1 Distribución de carga K1 Particionado dinámico AB La computación paralela es un paradigma de cómputo cuyo fundamento principal es la utilización de múltiples unidades de procesamiento para ejecutar tareas, que se dividen en sub-tareas que se pueden trabajar de forma simultánea. Para ello se pueden utilizar desde pequeños sistemas con múltiples núcleos, hasta grandes clústeres con una cantidad masiva de equipos interconectados por redes de alta velocidad. La computación paralela heterogénea es un caso especial de la computación paralela donde se utilizan nodos con distintos tipos de dispositivos o unidades de cómputo adaptados para diferentes tipos de tareas, lo cual les da una ventaja para trabajos más especializados y una mayor flexibilidad. Las aplicaciones de tipo ISL (Iterative Stencil Loop) representan una clase importante de soluciones a problemas científicos en diversos campos de simulación. En este tipo de simulaciones, el valor de cada celda de una matriz multidimensional se actualiza a partir de los valores de sus celdas vecinas. Las celdas que se consideran vecinas las determina un patrón, denominado “stencil”, definido por cada aplicación concreta. Estas aplicaciones presentan un alto grado de paralelismo, ya que cada celda se puede calcular de forma independiente basándonos en valores anteriores de celdas cercanas, esta es una propiedad denominada “alta localidad de datos”. Solo es necesario sincronizar o coordinar los elementos de cómputo entre iteraciones. El tiling es una técnica de transformación de código que separa las estructuras de datos y, por tanto, el cómputo, en bloques o tiles de tamaño fijo de celdas vecinas. Es especialmente útil para distribuir el trabajo en aplicaciones, como ISL, donde la alta localidad de datos reduce la necesidad de interacciones o sincronizaciones globales, siendo necesarias solo entre bloques o tiles vecinos. Hitmap, Controllers y Epsilod son una pila de bibliotecas de funciones y herramientas desarrolladas por el grupo de investigación Trasgo de la Universidad de Valladolid, que permiten aplicar tiling para particionar, desplegar y ejecutar aplicaciones ISL en múltiples tipos de dispositivos y clústeres paralelos heterogéneos. Sin embargo, la computación paralela heterogénea presenta un problema adicional aún no resuelto por estas herramientas. Al mezclarse elementos de cómputo diferentes, no tardan lo mismo en realizar la misma cantidad de trabajo. Esto implica que en cada operación de sincronización el tiempo pasa a ser el del bloque de cómputo más lento. En trabajos previos se desarrolló un mecanismo automático de equilibrado de carga para CPUs en Hitmap.La idea de este trabajo es, integrar en las herramientas Controllers y EPSILOD el sistema de equilibrado automático de carga, adaptándolo para su uso en sistemas heterogéneos, incluyendo dispositivos con memorias globales separadas. Este sistema estudia, de forma periódica, los tiempos de ejecución de cada elemento de cómputo. En función de los tiempos observados, calcula una nueva partición de datos con forma irregular en la que cada parte tenga un tamaño acorde a su rendimiento. En caso de ser necesario, mueve los datos entre los procesos paralelos, extrayéndolos de las memorias de los dispositivos y recolocándolos en las de otros, de forma completamente transparente al usuario. Se han realizado una serie de pruebas experimentales en sistemas heterogéneos reales para mostrar las ventajas de añadir este mecanismo. YR 2025 FD 2025 LK https://uvadoc.uva.es/handle/10324/79221 UL https://uvadoc.uva.es/handle/10324/79221 LA spa NO Departamento de Informática (Arquitectura y Tecnología de Computadores, Ciencias de la Computación e Inteligencia Artificial, Lenguajes y Sistemas Informáticos) DS UVaDOC RD 09-ene-2026