Resumen:
En los últimos años, ante las dificultades de mantener el escalado tecnológico, la heterogeneidad se ha convertido en una estrategia esencial para mejorar el rendimiento manteniendo la eficiencia en potencia, energía y temperatura. Esta estrategia, que se viene aplicando a diversos niveles (sistema, aceleradores, procesador, jerarquía de memoria, etc.) plantea sin embargo diversos retos, algunos de los cuales han sido abordados en las diversas líneas del proyecto.
Planificación de procesos y gestión dinámica de recursos: se han propuesto nuevos modelos analíticos y planificadores para mejorar el compromiso rendimiento-eficiencia en multiprocesadores asimétricos, y se han propuesto nuevas técnicas para la gestión dinámica de recursos, prestando especial atención a la cache compartida de último nivel.
Planificación de tareas: se han diseñado diversas técnicas de planificación de tareas, se ha propuesto un framework (HeSP) para simularlas en entornos heterogéneos, y se han integrado en un planificados real (OmpSS). Asimismo, se ha desarrollado un software que permite la gestión inteligente de recursos en escenarios de co-planificación de tareas en sistemas multinúcleo.
Heterogeneidad en la jerarquía de memoria: la incorporación de tecnologías de memoria emergentes (ej. STT-RAM), en su mayoría de tipo no volátil, hace necesarios diseños híbridos heterogéneos, que es preciso explorar y simular. Con este propósito se han desarrollado herramientas de simulación adecuadas y se han llevado a cabo estudios exploratorios.
Herramientas de monitorización: se ha mejorado y ampliado la funcionalidad de dos herramientas desarrolladas por el grupo, PMCTrack, orientada a la monitorización de rendimiento mediante contadores hardware, y AccelPowerCape, orientada la monitorización de grano fino del consumo de energía en aceleradores HW.
Eficiencia energética en datacenters: se han desarrollado nuevos modelos orientados a predecir el consumo de energía y la temperatura sin necesidad de ejecutar el código en su totalidad.
Workload allocation en Mobile Cloud Computing (MCC): se ha desarrollado un sistema MCC para aplicaciones de eHealth que se ha utilizado la predicción de crisis de migraña; este sistema se ha usado como referencia para la caracterización en términos de consumo y rendimiento de este tipo de entornos y se han diseñado y evaluado diversas políticas de asignación de carga para mejorar su eficiencia.
Aceleración de aplicaciones multimedia en plataformas heterogéneas: centrándose en el estándar HEVC/H.265 se han desarrollado librerías auto-sintonizables para sistemas con diversos tipos de aceleradores (FPGAs, GPUs).
Principales publicaciones
ToDo
Entregables
ToDo: enlace a los informes o publicaciones y a las URLs del código.