El proyecto KiloCore empaqueta 1000 núcleos de CPU en una pequeña envolvente de potencia, proceso de 32 nm

KiloCoreFeature

Ha pasado casi una década desde que los desarrolladores de CPU comenzaron a hablar de chips de muchos núcleos con recuentos de núcleos potencialmente de cientos o incluso miles. Ahora, un artículo reciente en el Simposio de 2016 sobre tecnología VLSI describió una CPU de 1000 núcleos construida sobre el proceso PD-SOI de 32 nm de IBM. El “KiloCore” es una bestia impresionante, capaz de ejecutar hasta 1,78 billones de instrucciones por segundo en solo 621 millones de transistores. El chip fue diseñado por un equipo de UC Davis.

Primero, una nota aclaratoria: si busca en Google “KiloCore”, la mayor parte de lo que aparece está relacionado con una alianza mucho más antigua de IBM con una empresa llamada Rapport. Nos comunicamos con el líder del proyecto, el Dr. Bevan Baas, quien nos confirmó que “este proyecto no está relacionado con ningún otro proyecto fuera de UC Davis, aparte de que el chip fue fabricado por IBM. Nosotros mismos desarrollamos toda la arquitectura, el chip y las herramientas de software '.

KiloCore es similar a otras arquitecturas de muchos núcleos que hemos visto en otras empresas, ya que se basa en una red en chip para transportar información a través de la CPU. Lo que diferencia a KiloCore de estas otras soluciones es que no incluye cachés L1 / L2 ni depende de circuitos de coherencia de caché costosos.



Tabla 1

Del papel VLSI.

El problema histórico de intentar construir matrices grandes de cientos o miles de núcleos de CPU en un solo dado es que incluso los cachés de CPU muy pequeños aumentan el consumo de energía y el tamaño del dado muy rápidamente. Las GPU utilizan cachés tanto L1 como L2, pero las GPU también están diseñadas para un presupuesto de energía de órdenes de magnitud mayor que las CPU como KiloCore, con tamaños de troquel mucho más grandes. Según el documento técnico de VLSI, los núcleos KiloCore almacenan datos dentro de cantidades muy pequeñas de memoria local, dentro de otros procesadores cercanos, en bancos de memoria independientes en el chip o en la memoria fuera del chip. La información se transfiere dentro del procesador a través de 'una red de conmutación de circuitos de alto rendimiento y una red complementaria de conmutación de paquetes de área muy pequeña'.

Tomado en su conjunto, KiloCore está diseñado para maximizar la eficiencia gastando solo el poder de transferir datos cuando esa transferencia es necesaria para una tarea determinada. Los enrutadores, los bloques de memoria independientes y los procesadores pueden girar hacia arriba o hacia abajo según sea necesario para cualquier tarea, mientras que los núcleos están en orden con una canalización de siete etapas. Los núcleos que han sido sincronizados para desconectarse no pierden energía en absoluto, mientras que los chips inactivos pierden solo el 1,1% de su consumo de energía estimado. La RAM total en los bloques de memoria independientes es de 64 KB * 12 bloques, o 768 KB en total, y todo el chip cabe en un paquete que mide 7,94 mm por 7,82 mm.

¿Por qué construir núcleos tan pequeños?

Los numerosos proyectos de investigación en arquitecturas de muchos núcleos durante los últimos 5 a 10 años son, al menos en parte, una reacción a la muerte del escalado de un solo núcleo y las reducciones de voltaje en los nuevos nodos de proceso. Antes de 2005, había pocas razones para invertir en la construcción de los núcleos de CPU más pequeños y con mayor eficiencia energética disponibles. Si tomara cinco años mover su proyecto de la mesa de dibujo a la producción comercial, estaría enfrentando CPUs Intel y AMD que eran más baratas, más rápidas y más eficientes en energía que los núcleos que comenzó tratando de superar. Problemas como este fueron parte de por qué los núcleos de empresas como Transmeta no lograron ganar tracción, a pesar de que se puede decir que son pioneros en la computación eficiente en energía.

El fracaso de la escala de silicio convencional ha traído enfoques alternativos a la informática en un enfoque más nítido. Cada CPU individual dentro de un KiloCore ofrece un rendimiento ridículo en comparación con un solo núcleo de CPU Intel o incluso AMD, pero en conjunto pueden ser capaces de lograr una eficiencia energética mucho mayor en ciertas tareas específicas.

“Los núcleos no utilizan cachés de hardware explícitos y funcionan más como computadoras autónomas que pasan información por mensajes en lugar de un enfoque de memoria compartida con cachés”, Dr. Baas dichoVicio. “Desde el punto de vista del nivel de chip, las memorias compartidas son como nodos de almacenamiento en la red que se pueden usar para almacenar datos o instrucciones y, de hecho, se pueden usar junto con un núcleo para que pueda ejecutar un programa mucho más grande de lo que cabe dentro de un solo núcleo '.

El objetivo de arquitecturas como esta es encontrar métodos extremadamente eficientes para ejecutar ciertas cargas de trabajo, luego adaptar dichas arquitecturas para adaptarse más a la eficiencia o mejorar la velocidad de ejecución sin comprometer el consumo de energía extremadamente bajo de la plataforma inicial. En este caso, la energía por instrucción de KiloCore puede ser tan baja como 5,8 pJ, incluida la ejecución de instrucciones, lecturas / escrituras de datos y accesos a la red.

Copyright © Todos Los Derechos Reservados | 2007es.com