Piton, ¿la próxima generación de procesadores OpenSource?

Hace unos días la prensa se hizo eco de una noticia que puede ser impactante (como lo son muchos titulares), pero que para los apasionados de este mundillo (más si te formaste como profesional rodeado de máquinas SUN) no lo es tanto, es más, llevabamos tiempo esperando avances de este tipo.

Logo_piton

 

Un poco de historia

En el principio de los tiempos (bueno, no tanto, pero ya casi lo parece :-)), en la informática doméstica sobre todo, se inicio una carrera por bien quien fabricaba la CPU de mayor frecuencia (era la época de los Athlon y los Pentium IV). Esta línea de evolución para las CPUs planteaba varios problemas, los principales

  • Mayor frecuencia, mayor disipación de calor y consumo
  • Mayor coste en la fabricación del chip

algunos de estos problemas se paliaron durante un tiempo con las mejoras en tecnlogías de integración, pero estaba claro de que el aumento de frecuencia por si solo, tenía un recorrido muy corto.

Democratización de sistemas multi-procesador:

Hasta la llegada de tecnologías como el Hyperthreading o los diseños multi-core de procesador, los sistemas multi-procesador estaban reservados a entornos de servidor y eran muy costosos, lo que cambio radicalmente con la llegada de los chips multi-core. Esta nueva dirección en el desarrollo de las CPUs, permitió que tanto los chips domésticos como los destinados al mundo profesional cambiaran radicalmente su manera de ofrecer “potencia de calculo”:

  • Donde antes se ofrecía GHz como única medida de desempeño, ahora se ofrecían múltiples cores, de menor frecuencia, pero con capacidad para ejecutar tareas simultaneas
  • Las mejoras en las técnicas de integración, se usaron para incrementar el nº de cores por chip
  • La aparición de tecnologías web, de Java y otras muchas tecnologías con fondo “multi-hebra”, sacaban partido de esta capacidad de paralelizar el trabajo
  • Los sistemas operativos (algunos ya lo tenían…otros lo desarrollaron), cada vez trabajan mejor con entornos multi-hilo.

OpenSPARC T1:

Es la versión OpenSource del procesador SPARC T1 de SUN Microsystem, también llamado NIAGARA. Los más viejos del lugar recordaréis que era el procesador que equipaban los T1000 y T2000 de SUN, unas máquinas que fueron revolucionarias en su tiempo.

SUN-T1000

<servidor T1000 cortesía de Oracle>

¿Por qué fueron tan innovadoras en su tiempo?, porque en una época en la que el multi-core y multi-hilo no estaba tan desarrollado, SUN irrumpió en el mercado con un procesador de bajo consumo y con capacidad para 32 hilos de ejecución por chip.

Uno de los grandes legados de SUN, fue hacer OpenSource la arquitectura del T1 (la gran pena es que no dio tiempo a liberar el T2, tal y como habían anunciado, antes de la adquisición por parte de Oracle).

OpenSparc_T1

<arquitectura OpenSPARC T1, cortesía de Oracle>

Piton:

Piton, que no Python es un desarrollo a partir de OpenSPARC T1 realizado por la universidad de Princeton (podéis visitar la página web del proyecto aquí) que ha construido un chip basado en el T1 con las siguientes características:

  • 25 modified OpenSPARC T1 cores
  • Directory-based shared memory
  • 3 On-chip networks
  • Multi-chip shared memory support
  • 1 GHz clock frequency
  • IBM 32nm SOI process (6mm*6mm)
  • 460 million transistors

es decir nos encontraríamos ante un procesador (no olvidemos que de diseño OpenSource) que nos permitiría construir un sistema con 200.000 cores (a partir de 8000 chips). Semejante brutalidad (perdonad la expresión) de capacidad multihilo revolucionaría los Datacenter con problemática Webscale.

Es importante señalar que no todas las cargas de trabajo son altamente paralelizables y que este tipo de enfoques genera otro tipo de problemas, por lo que habrá que seguir de cerca como esta tecnología se lleva al mercado (que llegará, ya sea de manera directa o inspirando a terceros 😉 ).

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *