Tendencias21

Crean un hardware que acelera la comunicación entre núcleos de un multiprocesador

El equipo de investigación de la Universidad de Carolina del Norte “ARPERS” (Architecture Research for PErformance, Reliability, and Security) ha creado un nuevo hardware que incrementa la velocidad de funcionamiento de cualquier programa informático al reducir los tiempos de comunicación entre los distintos núcleos, en un chip multinúcleo de un ordenador, según un comunicado de la propia institución académica estadounidense cuyo contenido se detalla en el siguiente artículo.

La mayoría de los ordenadores actuales contienen entre cuatro y ocho núcleos, o lo que es lo mismo, entre cuatro y ocho unidades de procesamiento central o cerebros de la computadora. Con el fin de realizar una tarea más rápidamente se utilizan múltiples núcleos en un solo chip, que deben comunicarse entre sí. Sin embargo, no existe una manera directa para que estos núcleos intercambien información, sino que lo hacen a través de un intermediario: la memoria del ordenador. Un núcleo envía los datos a la memoria y otro los recupera usando algoritmos de software.

Ahora, el nuevo sistema ideado por los científicos de Carolina del Norte, aligera el proceso de intercambio de información entre los núcleos del ordenador, aumentando así la velocidad de ejecución de cualquier programa informático, como explica uno de los autores de la investigación, el Doctor. James Tuck, profesor asistente de ingeniería eléctrica e informática: «Nuestra tecnología es más eficiente ya que se vale de una sola instrucción para enviar datos a otro núcleo, lo que resulta seis veces más rápido que el mejor estado del software de última generación que hemos encontrado”.

Por otra parte, aunque en términos relativos la tecnología, a la que han denominado “HAQu”, consume más energía mientras se está utilizando, el hecho de que ayude a ejecutar cualquier programa de manera mucho más rápida hace que en realidad el consumo energético total del chip disminuya.

El problema de la comunicación entre núcleos

Para procesar una serie de instrucciones en un chip de varios núcleos, la técnica divide estas instrucciones complejas en una serie de instrucciones simples, llamadas hilos, que pueden ir resolviendo cada uno de los núcleos independientemente (en paralelo). Dividimos pues una operación grande en multitud de hilos y estos hilos se ponen en la cola de cada procesador, de modo que cada procesador según va terminando de procesar un hilo, comienza con el siguiente de la cola. Existen varias formas de orquestar el procesado multihilo, hablamos de grano grueso cuando cada hilo se ejecuta completamente en paralelo y el procesador no requiere de ningún dato externo hasta que no finaliza de ejecutarlo. Por el contrario, hablamos de grano fino, cuando los procesadores han de ir traspasándose la información que van obteniendo mientras procesan su operación.

Cuando estamos procesando en paralelo en grano fino, cada uno de estos núcleos o procesadores va realizando una serie de instrucciones y dejando la solución en un espacio común de memoria. Tras esto, debe avisar al resto de núcleos que ya ha finalizado, para que, si algún otro núcleo requiere de dicha solución para seguir procesando su hilo, sepa que la solución que busca ya está lista y donde puede recogerla. Este proceso de comunicación entre procesadores es complejo y muchas veces puede ralentizar bastante la velocidad global de procesado. Es aquí donde entra la nueva tecnología, denominada HAQu, que es en realidad un método de aceleración de hardware a través del encolado, para multiprocesadores de grano fino.

En el artículo citado, Tuck explica que su sistema no es un hardware diseñado para comunicar los datos por sí mismo, sino que es un hardware creado para acelerar el intercambio de información utilizando las rutas de datos que ya existen en el chip del ordenador. Puesto que HAQu utiliza estas rutas de datos existentes, el equipo de investigación lo pudo comparar con las herramientas de comunicación del software (a pesar de que se trata de una pieza de hardware).

El siguiente paso para el equipo de investigación es incorporar el hardware en un sistema prototipo para demostrar su utilidad en un entorno de software complejos, como adelantan en el artículo citado.

Además de James Tuck, firman la investigación los estudiantes de su misma universidad Sanghoon Lee y Devesh Tiwari y el Doctor Yan Solihin, profesor asociado de ingeniería eléctrica e informática. El documento se presentará el próximo 14 de febrero en el Simposio Internacional de Arquitectura Informática de Alto Rendimiento que tendrá lugar en San Antonio, Texas. La investigación fue financiada, en parte, por la Fundación Nacional de la Ciencia.