Hace sesenta años, John Backus inventó el FORTRAN. Pronto se convirtió en el lenguaje de programación de alto nivel preferido por los desarrolladores. No solo había que inventar procesadores, había que crear un lenguaje de programación que los desarrolladores entendieran y con el que se sintieran cómodos para que crearan los auténticos elementos útiles de la computación: los programas o las aplicaciones, lo que utilizamos los usuarios y lo que da verdadero valor a los ordenadores. Corelet aspira a ser el nuevo FORTRAN de la computación cognitiva.
IBM lleva varios años embarcada en el proyecto SyNAPSE junto con la agencia DARPA. El objetivo es crear procesadores y sistemas cognitivos inspirados en la funcionalidad, el bajo consumo y el tamaño del cerebro de los mamíferos.
La primera pieza del puzzle es el procesador. Se trata de un chip neurosináptico basado en la arquitectura de las neuronas. El chip está construido con tecnología CMOS de 45nm y contiene computación (neuronas), memoria (sinapsis) y comunicaciones (axones). En concreto 256 neuronas, 1024 axones y 256x1024 sinapsis. El funcionamiento del chip es paralelo, modular, distribuido, tolerante a fallos, dirigido por eventos (no por un reloj) y escalable.
Este chip rompe con la arquitectura de procesadores vigente hasta hoy. John Von Neumann dio nombre a esta arquitectura en la que se separan procesador y memoria y programas y datos. Todos los procesadores (PCs, servidores, o smartphones) hasta la fecha son arquitectura Von Neumann. La dificultad es que solo podemos mejorar haciendo chips más rápidos, pequeños y costosos. Pero todo tiene un límite. El problema de sustituir la arquitectura Von Neumann es que nada de lo anterior vale. Ni una sola línea de código.
No solo hay que construir un chip. Hay que diseñar una solución completa. La arquitectura de muchos chips neurosinápticos se denomina TrueNorth. Dado que no hay una producción masiva de chips, IBM diseñó una simulador llamado Compass que traslada el funcionamiento de dos mil millones de chips e una ordenador convencional (es un decir ya que trata de Sequoia, un superordenador de 1,5 millones de núcleos). Con esta simulación se comprobó el escalado del sistema (que cuantos más cores añades más rápido va, lo que no es trivial).
Y lo que hacía falta en el puzzle era el lenguaje de programación para que los desarrolladores puedan crear aplicaciones. Corelet es la respuesta. Se trata de todo un ecosistema: un lenguaje de programación orientado a objetos y una librería de módulos llamados corelets. Los corelets son como bloques de LEGO. Pequeños corelets realizan funciones simples. Luego se van combinando para crear corelets más complejos. De esta forma los programadores pueden crear corelets utilizando otros preexistentes.
¿Será Corelet el nuevo FORTRAN? Como suele decirse, la mejor manera de predecir el futuro es inventarlo.