Investigación en TICs

Programación para arquitecturas multicore

La carrera de creación de procesadores cada vez más rápidos sufrió un punto de inflexión con la aparición de procesadores con arquitectura multicore. Esta arquitectura permitía frenar la escalada de consumo de potencia. Un estudio empírico (Mehta, Pranav, “Unleash the Power of Multi-Core Using a Platform Approach,” Multicore Expo, March, 2006) muestra que un incremento de un 1% del reloj, supone un incremento del 3% en el consumo de potencia. Las arquitecturas multicore permiten obtener un rendimiento equivalente sin la contraprestación del consumo y esto ha provocado un gran desarrollo en los últimos años. Así, a modo de ejemplo, todos hemos oído hablar del lanzamiento del Samsung Galaxy S4 con un procesador con 8 cores.

Sin embargo para poder aprovechar la potencia que ofrecen estos procesadores los desarrolladores de Sw deben transformar las actuales aplicaciones secuenciales y transformarlas en paralelas. Esto, en absoluto es una tarea trivial y The Multicore Association en su Multicore Programming Practices ofrece un método a seguir para esta tarea.

Este método aborda un conjunto de fases a abordar en el objetivo de parelelizar una aplicación:

Los equipos de investigación de Ingeniería Web e Ingeniería del Software y Sistemas de Control Inteligente y Distribuido estamos participando en un proyecto europeo ARTEMIS denominado CRAFTERS: ConstRaint and Application driven Framework for Tailoring Embedded Real-Time Systems, en el que la principal contribución se basa en el análisis de la variabilidad del desarrollo del software en arquitecturas multicore con objeto de proponer métodos de verificación y validación temprana.

 

 

Salir de la versión móvil