domingo, 30 de diciembre de 2012

Parallella: una supercomputadora para todos

Hace poco colaboré en Kickstarter en la finaciación de un nuevo tipo de supercomputadora, llamada Parallella. Es un proyecto muy revolucionario, porque lleva el poder del procesamiento paralelo en forma económica y con bajo consumo a todos aquellos que lo necesiten.

Parallella es una computadora dentro de un circuito impreso de tamaño realmente pequeño. La idea es realmente muy buena. Parte de un par de procesadores ARM (ARM 9) como los que tienen los teléfonos celulares, pero que en este caso están ejecutando Ubuntu Linux. Lo interesante es que esto es solo el frente, lo que está por delante.

Por detrás de estos dos procesadores encontraremos 16 o 64 procesadores RISC altamente paralelos basados en la arquitectura Ephiphany. Esto permite que ciertos tipos de operaciones se ejecuten en forma ultrarápida, al ser descompuestas en 16 o 64 procesos paralelos.

Ahora bien, ¿que es RISC? No puedo explicar que es RISC antes de explicar que es CISC. CISC, Complex Instruction Set Computer (Computadora con set de instrucciones complejo), es lo que estamos usando cada vez que usamos una PC. Son procesadores MUY complejos, con montones de operaciones optimizadas para diversas cosas,  que descomponen operaciones complejas en otras más sencillas para procesarlas, pero que no son óptimos para procesar cosas para las que no tienen operaciones optimizadas.

Por el contrario, RISC es otra escuela de pensamiento. RISC Reduced Instruction Set Computer (Computadora con set de instrucciones reducido) significa que los procesadores usados solo tienen un conjunto muy reducido de operaciones básicas, que están todas optimizadas para ejecución ultrarápida. Esto implica por un lado, que hay que programar más, para realizar operaciones más complejas a partir de operaciones básicas, pero que se gana mucho en performance por ciclo.

Los ejemplos de computadoras RISC no abundan, ya que el estándar imperante es el X86, que es una arquitectura CISC. Como ejemplos de computadoras con procesadores RISC podemos citar las UltraSparc, de la famosa Sun, o los PowerPC, de IBM, que fueron, entre otras cosas, el corazón de las computadoras Apple por mucho tiempo.

Otra de las grandes diferencias entre CISC y RISC tiene que ver con que CISC puede ejecutar operaciones entre registros internos y datos en la memoria, mientras que RISC solo permite ejecutar operaciones con datos en registros internos. En primer instancia, esto parecería una desventaja para RISC, pero la verdad es que la diferencia de velocidad entre registros internos y memoria es muy importante, y que lo que hace RISC es cargar datos a registros desde la memoria y procesarlos desde registros. Esto, que puede parecer menor, ayuda a implementar paralelismo de una forma mucho más eficiente que con procesadores CISC.

El proyecto tiene previsto entregar las primeras Parallellas en mayo del 2013, y para esa época ya voy a tener mi propia Parallella de 16+2 nucleos. Ahí comenzaré una etapa de aprendizaje intenso de programación paralela con esa computadora, que a pesar de su gran poder, solo consumirá menos de 3 watts por hora al 100% de ocupación de sus 18 núcleos.

Si les interesa, se está formando ya una linda comunidad donde se están discutiendo bastantes temas en los foros que Adapteva, la empresa tras Parallella, ha armado para nosotros. Hay que reconocer que la comunidad está aportando ideas y que Adapteva parece estar escuchando y respondiendo. Esto es muy importante, porque seremos la primera tanda de gente que adopta esta tecnología en forma temprana, y hay un porcentaje muy alto de desarrolladores con ganas de aprender. Los invito a sumarse para que puedan ayudar a dar forma a una revolución.

También están comenzando a aparecer proyectos relacionados con BOINC, que es un sistema de computación distribuida en forma voluntaria. La idea de ensamblar una supercomputadora a partir de varias Parallelas de 64+2 nucleos está despertando la imaginación de muchos dentro de varias comunidades científicas.


3 comentarios:

  1. Oye que interesante y el precio se ve bastante asequible.

    ResponderEliminar
  2. Efectivamente, es un proyecto que estoy esperando con ansias. Y la cosa no termina aquí, luego de las computadoras de 16+2 o 64+2 nucleos, hay planes de expandir esto a medida que puedan acceder en masa a maquinas con menor micronaje.

    Todo el proyecto de Kicksarter fue, en realidad, conseguir el volumen necesario para justificar la producción en masa, para abaratar los costos desde el inicio.

    ResponderEliminar
  3. Cuantos más módulos unas más potente será y no tiene fin puedes hacer tu computadora tan potente como quieras asta un punto que nunca imaginaste y lo que nos queda aún por ver

    ResponderEliminar