Una de las primeras sorpresas que nos llevamos al visitar la sede de Intel es la cantidad de obleas de procesadores experimentales que circulan, casi como objetos decorativos, por las oficinas. La sorpresa pasó a más cuando, en la sala de proyectos en la que nos reunimos, cazamos la que véis en la foto y nos explicaron que se trataba de una remesa de procesadores de 80 núcleos, que son los chips más potentes con los que Intel está experimentando hasta la fecha.
Los núcleos, sin embargo, no son nada sin un software que los coordine, y ese es el gran caballo de batalla de Intel a día de hoy. “Nuestro reto ahora es conseguir que los núcleos trabajen en equipo sin darse de bofetadas entre ellos” Comenta Manuel Vara, Responsable de comunicación de Intel y uno de los españoles que trabajan en la sede principal de la compañía y a los que podréis conocer en breve gracias a la entrevista que les hicimos.
Para empezar, no hay que considerar esos 32, 48 u 80 núcleos como núcleos completos. La idea es que muchos de ellos se encarguen de tareas muy específicas como controlar el audio o los gráficos 3D. Este reparto de tareas permitiría además que no estén encendidos todos a la vez. Bajo estas líneas podeis ver una representación virtual de lo que los científicos de Intel están tratando de lograr.
Los LED de la mitad izquierda representan el modelo computacional actual, en el que los núcleos no colaboran y tienden a enzarzarse en una tarea concreta, consumiendo demasiada energía y recalentándose.
A la derecha, los distintos colores representan núcleos que están en funcionamiento, en espera o apagados. Intel denomina a este sistema Computación en enjambre (Swarm) y pretende ser una solución de software que gestione sistemas de procesado de escala extrema, como uno o varios procesadores funcionando con 80 núcleos cada uno. Se trata, en definitiva de gestionar modelos en los que se manejan un trillón de millones de operaciones por segundo.
Como es habitual, esto no se refiere a un entorno doméstico, pero su comprensión ayudará también a optimizar la gestión de procesadores con 8, 10 o 12 núcleos físicos (y el doble de núcleos lógicos) que podamos ver en equipos en los próximos años.
Curiosamente, los científicos encargados del proyecto Swarm están jugando con una idea que viene del P2P. En vez de separar cada tarea y asignarla a un único procesador, estos especialistas tratan de separar cada función en fragmentos básicos de información a los que denominan Codelets. En teoría, estos codelets podrían repartirse en bruto entre varios núcleos multipropósito para optimizar su rendimiento y minimizar el consumo de energía.
Lo difícil, la magia, consiste en desarrollar un software capaz de crear las dependencias y políticas del sistema necesarias para coordinar la computación de estas unidades básicas y reconstruirlas en un conjunto coherente. Hasta ahora, la ley de Moore se ha cumplido gracias a auténticos milagros en combinatoria de materiales.
De momento hay terreno por delante, pero la computación de dentro de 10 años depende por entero de nuestra capacidad de gestionar un número cada vez de cerebros intentando ponerse de acuerdo en la misma habitación, algo que ya es de por sí difícil con una habitación llena de cerebros humanos.