La nueva generación de GPGPU aumenta significativamente la eficacia energética
Todos conocemos la ley de Moore y, en menor medida, el escalado de Dennard. La combinación de ambos dicta que, año tras año, los avances tecnológicos verán duplicarse el número de transistores en la misma área sin aumentar su consumo de energía general. Sin embargo, este ritmo ha sido cada vez más difícil de mantener desde 2005. El tamaño de los transistores sigue reduciéndose, pero el consumo de energía aumenta con cada nueva generación de dispositivos. Al final del túnel está el tope energético, donde los procesadores consumirán demasiada energía eléctrica para su tamaño y tan solo se quemarán. Los ingenieros eludieron el problema usando procesadores de núcleos múltiples. Al hacer esto, crearon otro tope: el tope de programabilidad. Así, el desarrollo de «software» que pueda acumular más energía de procesadores simultáneos es notablemente complicado. Uno podría preguntarse cómo se pueden eliminar estos topes. Esta es la pregunta del millón que el proyecto EXAFLOW ha tratado de responder. «Para eliminar los topes energético y programabilidad es necesario realizar dos esfuerzos entrelazados», afirma el profesor Yoav Etsion, coordinador del proyecto para el Instituto de Tecnología de Israel. «El tope energético exige que pensemos en nuevos modelos informáticos y diseños de procesadores con una eficacia energética mayor que el modelo de Neumann actual, que tiene más de setenta años; y el tope de programabilidad exige que garanticemos que estos nuevos modelos informáticos sean fáciles de usar y programar». Para conseguir esto, el equipo del profesor Etsion ha diseñado un nuevo tipo de procesador basado en el paradigma de procesamiento SIMT («Single Instruction Multiple Threads»), que surgió a partir de las unidades de procesamiento gráfico(GPU), como las de NVIDIA y AMD, y, posteriormente, generó GPU para la informática de uso general (GPGPU). «El proyecto EXAFLOW nos permitió replantearnos la forma en que diseñamos GPGPU. Queríamos rediseñar radicalmente el propio procesador en torno al modelo de programación, y no a la inversa. En efecto, los resultados más recientes demuestran que el rendimiento de nuestro procesador es notablemente superior al de las GPGPU y, al mismo tiempo proporciona una eficacia energética significativa», explica con entusiasmo el profesor Etsion. El secreto que se oculta tras este mejor rendimiento reside en el uso del modelo de ejecución de «flujo de datos», un modelo de cincuenta años que aún tenía que utilizarse para ejecutar el código concurrente (paralelo). El flujo de datos ejecuta las instrucciones en cuanto se satisfacen sus dependencias. Esto contrasta con las arquitecturas de von Neumann, que ejecutan las instrucciones en cuanto llegan al principio de la cadena, independientemente de sus dependencias. El profesor Etsion lo compara con las bombillas incandescentes, en lo que respecta a la eficacia energética. En comparación con las GPGPU estándar, tienen los mismos recursos funcionales, pero están programados de una manera diferente a fin de permitir la transmisión directa de valores intermedios entre unidades funcionales. Esto permite utilizar casi totalmente la estructura informática. «Usamos dos variantes de flujos de datos (estático y dinámico) en tiempo de ejecución para extraer paralelismo a nivel de instrucción y ejecutar subprocesos concurrentes fuera de servicio. Siempre que una instrucción de un subproceso esté bloqueada en un acceso largo a la memoria, las unidades funcionales pasan a procesar las instrucciones de otros subprocesos. Por último, ya que los valores intermedios se transmiten directamente entre unidades funcionales, no necesitamos un archivo de registro. Esto constituye otro gran ahorro energético», explica el profesor Etsion. Al proporcionar pruebas de que alejarse del modelo de von Neumann puede ofrecer unas grandes ventajas de rendimiento y de consumo de energía, el profesor Etsion espera inspirar a otros investigadores para que exploren nuevos modelos informáticos que, a la larga, eliminarán los topes energético y de programabilidad. Actualmente, su equipo y él exploran las oportunidades de comercialización de su procesador y analizarán dos trayectorias académicas diferentes. «En primer lugar, mi equipo está desarrollando nuevas arquitecturas para el procesador basadas en el modelo de flujo de datos. En segundo lugar, estamos desarrollando un nuevo lenguaje de flujo de datos para el diseño de «hardware», que multiplicará por diez la productividad de los diseñadores. Esperamos poder presentar estos avances en un futuro cercano», concluye el profesor Etsion.
Palabras clave
EXAFLOW, GPGPU, von Neumann, flujo de datos, transistor, ley de Moore, escalado de Dennard, tope energético, tope de programabilidad, núcleos múltiples, procesador, paradigma