Paralelización de algoritmos secuenciales de aplicaciones científicas y de ingeniería desplegables en plataformas heterogéneas interconectadas
Ficha técnica:
- Proyecto de investigación financiado por la Junta de Castilla y León (VA02P17)
- Desarrollado por la Unidad de Investigación Consolidada UIC-148 (Grupo Trasgo) del Departamento de Informática, Universidad de Valladolid.
- Duración: tres años (2017, 2018 y 2019)
- Investigador principal: Prof. Diego R. Llanos Ferraris.
Resumen:
Los sistemas informáticos actuales son cada vez más potentes y a la vez son cada vez más complejos y heterogéneos. Incluyen en la misma máquina procesadores, sistemas reconfigurables o aceleradores de cómputo de diferentes naturalezas. Además, las máquinas se pueden interconectar para formar sistemas complejos en los que es necesario definir afinidades entre datos y espacios de memoria y en los que los datos deben transferirse a través de varias jerarquías de memoria, entremezclando diferentes mecanismos. Todo ello complica enormemente su programación.
En este proyecto se propone el estudio y desarrollo de una estrategia de construcción de aplicaciones paralelas, aplicadas a casos prácticos y de interés en entornos de ingeniería y explotación industrial. En concreto se plantea su utilización en problemas complejos de tratamiento de imágenes hiperespectrales y de simulación de resistencia de materiales en ingeniería civil. Estas aplicaciones se basan en diferentes patrones y estructuras que plantean retos importantes para su explotación en sistemas multidispositivo heterogéneos distribuidos. El objetivo principal es desarrollar una estrategia para programar este tipo de aplicaciones basada en definir una serie de operadores básicos de ejecución y comunicación que permitan: (a) expresar el tipo de cómputos objetivo, y (b) que se puedan transcribir en términos de los modelos y técnicas de programación nativas de cada tipo de procesador, plataforma, acelerador, o capa de comunicaciones. Estas técnicas permitirán desarrollar aplicaciones capaces de desplegarse y adaptarse de forma eficiente a un entorno heterogéneo y distribuido, maximizando la eficiencia en términos de rendimiento y consumo energético.