SHSCAP: Soluciones hardware y software para la computación de altas prestaciones
En este proyecto se aborda dar solución a algunos de los retos que actualmente tienen planteadas las arquitecturas de altas prestaciones, entre las que incluimos las arquitecturas con muchos núcleos (multinúcleo y manycore), las tarjetas gráficas (GPU) y la computación cloud. Es bien conocido que estas arquitecturas serán de uso común a medio plazo, porque es la única forma de seguir aumentando las prestaciones sin comprometer excesivamente otros factores importantes como el consumo de potencia. Sin embargo, son muchos los retos que actualmente están planteados. Proponemos abordar algunos de ellos a nivel de software del sistema, software de aplicaciones y optimización del hardware. Así, los objetivos se han agrupado en tres líneas de investigación: análisis, modelado y optimización del rendimiento, desarrollo de nuevas técnicas en aplicaciones de procesado de imágenes y simulación que aprovechen de forma eficiente los recursos de la arquitectura, y coprocesadores numéricos para sistemas manycore heterogéneos e implementación de sistemas manycore en FPGA.
En cuanto al nivel de software del sistema, las herramientas y técnicas disponibles en el ámbito del análisis, modelado y la optimización del rendimiento presentan un gran número de posibilidades de mejora, relacionados con la adaptación a arquitecturas manycore y la incorporación de nuevos parámetros a modelar, que serán abordados en este proyecto: (1) consideración de la eficiencia energética como parámetro de rendimiento a modelar y optimizar, (2) nuevas soluciones a los problemas del modelado y mejora del rendimiento prestando especial atención a la mejora de la localidad de los accesos a memoria, al balanceo de la carga computacional y a la mejora del rendimiento energético, (3) escalabilidad de las soluciones a sistemas manycore.
En el ámbito del software de aplicaciones, nos centraremos en dos grupos de aplicaciones que requieren un elevado número de recursos computacionales: procesado de imágenes y simulación de dispositivos semiconductores. Un objetivo común a todas las técnicas que se desarrollarán para el procesado de imagen es la ejecución con una alta velocidad de respuesta o en tiempo real, ya que resulta crítico para las aplicaciones consideradas en los ámbitos de visión artificial, tratamiento de imagen médica, procesado de terrenos y salvamento marítimo. Las imágenes sobre las que se trabajará serán imágenes pancromáticas, 2D, 3D, multiespectrales e hiperespectrales. Por otra parte, el desarrollo de modelos para dispositivos semiconductores que puedan ser implementados eficientemente sobre arquitecturas avanzadas, es fundamental para poder realizar estudios estadísticos realistas que permitan predecir que diseño sería el más adecuado para cada aplicación y cuáles son los menos sensibles a las variaciones materiales. Se desarrollarán herramientas optimizadas para arquitecturas paralelas que permitan ejecutar las simulaciones y posteriormente recopilar y procesar los resultados obtenidos de forma lo más automática posible.
Finalmente, en el ámbito del hardware para sistemas manycore, se plantea abordar el diseño de arquitecturas heterogéneas y el diseño de coprocesadores numéricos. La optimización de aplicaciones de procesamiento de imagen, vídeo y visión artificial requiere el desarrollo de arquitecturas heterogéneas. La disponibilidad de FPGAs que integran procesadores de propósito general con lógica programable en el mismo chip, permitirá obtener un sistema configurable con un procesador de propósito general y un conjunto de unidades de procesamiento configurando un sistema manycore heterogéneo. Por otra parte, se abordará el diseño de módulos que puedan ser incorporados como coprocesadores numéricos en sistemas manycore. Nos centraremos en el campo de la aritmética punto flotante decimal y binaria. Estos coprocesadores implementarán funciones no disponibles habitualmente en hardware en los procesadores de propósito general y que tradicionalmente se implementan en software.
Proyecto
/research/projects/solucions-hardware-e-software-para-a-computacion-de-altas-prestacions
<p>En este proyecto se aborda dar solución a algunos de los retos que actualmente tienen planteadas las arquitecturas de altas prestaciones, entre las que incluimos las arquitecturas con muchos núcleos (multinúcleo y manycore), las tarjetas gráficas (GPU) y la computación cloud. Es bien conocido que estas arquitecturas serán de uso común a medio plazo, porque es la única forma de seguir aumentando las prestaciones sin comprometer excesivamente otros factores importantes como el consumo de potencia. Sin embargo, son muchos los retos que actualmente están planteados. Proponemos abordar algunos de ellos a nivel de software del sistema, software de aplicaciones y optimización del hardware. Así, los objetivos se han agrupado en tres líneas de investigación: análisis, modelado y optimización del rendimiento, desarrollo de nuevas técnicas en aplicaciones de procesado de imágenes y simulación que aprovechen de forma eficiente los recursos de la arquitectura, y coprocesadores numéricos para sistemas manycore heterogéneos e implementación de sistemas manycore en FPGA.</p> <p>En cuanto al nivel de software del sistema, las herramientas y técnicas disponibles en el ámbito del análisis, modelado y la optimización del rendimiento presentan un gran número de posibilidades de mejora, relacionados con la adaptación a arquitecturas manycore y la incorporación de nuevos parámetros a modelar, que serán abordados en este proyecto: (1) consideración de la eficiencia energética como parámetro de rendimiento a modelar y optimizar, (2) nuevas soluciones a los problemas del modelado y mejora del rendimiento prestando especial atención a la mejora de la localidad de los accesos a memoria, al balanceo de la carga computacional y a la mejora del rendimiento energético, (3) escalabilidad de las soluciones a sistemas manycore.</p> <p>En el ámbito del software de aplicaciones, nos centraremos en dos grupos de aplicaciones que requieren un elevado número de recursos computacionales: procesado de imágenes y simulación de dispositivos semiconductores. Un objetivo común a todas las técnicas que se desarrollarán para el procesado de imagen es la ejecución con una alta velocidad de respuesta o en tiempo real, ya que resulta crítico para las aplicaciones consideradas en los ámbitos de visión artificial, tratamiento de imagen médica, procesado de terrenos y salvamento marítimo. Las imágenes sobre las que se trabajará serán imágenes pancromáticas, 2D, 3D, multiespectrales e hiperespectrales. Por otra parte, el desarrollo de modelos para dispositivos semiconductores que puedan ser implementados eficientemente sobre arquitecturas avanzadas, es fundamental para poder realizar estudios estadísticos realistas que permitan predecir que diseño sería el más adecuado para cada aplicación y cuáles son los menos sensibles a las variaciones materiales. Se desarrollarán herramientas optimizadas para arquitecturas paralelas que permitan ejecutar las simulaciones y posteriormente recopilar y procesar los resultados obtenidos de forma lo más automática posible.</p> <p>Finalmente, en el ámbito del hardware para sistemas manycore, se plantea abordar el diseño de arquitecturas heterogéneas y el diseño de coprocesadores numéricos. La optimización de aplicaciones de procesamiento de imagen, vídeo y visión artificial requiere el desarrollo de arquitecturas heterogéneas. La disponibilidad de FPGAs que integran procesadores de propósito general con lógica programable en el mismo chip, permitirá obtener un sistema configurable con un procesador de propósito general y un conjunto de unidades de procesamiento configurando un sistema manycore heterogéneo. Por otra parte, se abordará el diseño de módulos que puedan ser incorporados como coprocesadores numéricos en sistemas manycore. Nos centraremos en el campo de la aritmética punto flotante decimal y binaria. Estos coprocesadores implementarán funciones no disponibles habitualmente en hardware en los procesadores de propósito general y que tradicionalmente se implementan en software.</p> - Dora Blanco Heras, Antonio García Loureiro, Francisco Fernández Rivera, José Carlos Cabaleiro Domínguez, Tomás Fernández Pena
projects_es