La computación heterogénea en paralelo combina varios elementos de procesamiento de distintas características que comparten un único sistema de memoria. Normalmente se emplean procesadores de múltiples núcleos (como los ‘multicore’ de algunos smartphones u ordenadores personales) combinados con tarjetas gráficas y otros componentes para realizar procesamiento de grandes cantidades de datos. Estos trabajos de cálculo encuentran aplicaciones en diversos sectores, como el sanitario (predicción del acoplamiento de proteínas), el transporte (monitorización de sistemas ferroviarios), la robótica (visión estereoscópica y navegación) o el industrial (análisis de defectos en la fabricación de piezas).
El objetivo del proyecto REPARA es poner a disposición de los usuarios los beneficios energéticos y de rendimiento de estos sistemas informáticos, sin el enorme esfuerzo de desarrollo que conllevan este tipo de arquitecturas complejas. Y la clave para conseguirlo radica, entre otras cosas, en la “refactorización” de código fuente, una técnica usada en ingeniería de software para mejorar la estructura interna de un programa sin alterar su comportamiento observable. Algo así como cambiar la distribución de las tuberías y bombas de presión de un edificio para que salga el agua de manera más rápida, limpia y ecológica.
En el caso de REPARA, cuya denominación puede interpretarse como «Refactoring for Parallelism» en alusión a la utilización de técnicas de refactorización en la computación en paralelo, los científicos tratan de mejorar tres propiedades fundamentales: el rendimiento de las aplicaciones (ayudando a incrementar su velocidad de ejecución), la eficiencia energética (reduciendo su consumo energético) y la facilidad de mantenimiento y modificación del código fuente. “Las herramientas y tecnologías que REPARA pretende producir están pensadas para reducir los costes de desarrollo y el tiempo de llegada al mercado, lo que redundará en productos más competitivos”, apunta el coordinador del proyecto, José Daniel García, del grupo de investigación de Arquitectura de Computadores, Comunicaciones y Sistemas (ARCOS) de la UC3M.
Primer prototipo en 2015
Los investigadores esperan tener prototipos de las nuevas herramientas hacia febrero de 2015 y probarlos después en una fase de evaluación con los socios industriales. “Esperamos conseguir mejoras importantes, tanto en la velocidad de ejecución como en la eficiencia energética de los computadores”, adelanta el profesor José Daniel García. “Y también podemos reducir el tiempo que necesitan los ingenieros para poner a punto un producto software en un entorno paralelo, lo que rebajaría notablemente los costes de desarrollo y favorecería la competitividad de la industria de desarrollo de software”, resalta.
En un trabajo de investigación publicado recientemente en la revista New Generation Computing, los investigadores han analizado cómo afecta el modelo de programación al rendimiento y la eficiencia energética en el caso de arquitecturas de procesadores de varios núcleos. A partir de aquí precisamente surgió la idea de ahondar en esta línea, porque “se hace necesario ayudar a los desarrolladores en la transición a distintos modelos de programación, así como en la selección del modelo de programación más adecuado dependiendo de las características concretas de su aplicación”, explica el profesor José Daniel García.
El proyecto REPARA (Reengineering and Enabling Performance and poweR of Applications), que arrancó en septiembre de 2013 con una duración prevista de tres años, reúne a expertos en sistemas informáticos paralelos y heterogéneos del ámbito académico e industrial de cinco países europeos. Cuenta con presupuesto que supera los 3,6 millones de euros, de los cuales más de 2,6 millones provienen del Séptimo Programa Marco (7PM) para la Investigación y el Desarrollo Tecnológico, el principal instrumento de la Unión Europea para financiar la investigación. En total, participan cinco instituciones académicas: la FHO HSR Rapperswil (Suiza), la Technische Universität Darmstadt (Alemania), la Universidad Carlos III de Madrid (España), la Universidad de Szeged (Hungría) y la Universidad de Pisa (Italia). Además, el proyecto cuenta con dos socios en el sector industrial: Ixion Industry & Aerospace en España y Evopro Innovation en Hungría. La UC3M es la institución coordinadora del proyecto REPARA y participa a través del grupo de investigación ARCOS, que aporta al proyecto su dilatada experiencia en computación de alto rendimiento y sistemas empotrados.