viernes, 19 de octubre de 2007

Supercomputación en una Playstation 3

¿Quién dijo que una consola de videojuegos sólo sirve para matar marcianos? También puede valer para encontrarlos, o para ayudar a resolver otros innumerables problemas científicos. Y es que cuando uno compra una de estas consolas está adquiriendo en realidad un dispositivo de cómputo que representa la punta de lanza tecnológica en procesamiento numérico específico. En su interior se encuentra hardware especializado, optimizado para realizar las complejas simulaciones físicas que subyacen a muchos juegos o para hacer el rendering fotorrealista de las escenas de los mismos. Si a esto añadimos la capacidad de interconexión a través de Internet, tenemos todos los ingredientes para desarrollar una plataforma de cómputo masivo distribuido.

Playstation 3

Lo anterior no es en sí mismo novedoso. Desde el histórico proyecto SETI@home han surgido diferentes iniciativas en computación grid que intentan aprovechar los ciclos libres de millones de equipos conectados a Internet. Lo que sí resulta especialmente interesante es la extrema capacidad de cómputo de las videoconsolas, y cómo éstas se adaptan especialmente a la resolución de este tipo de problemas. Pensemos por ejemplo en una Playstation 3. Esta consola incorpora un procesador Cell de 8 núcleos a 3.2GHz. Uno de ellos es el denominado “Power Processing Element” (PPE), similar a un PowerPC y responsable de ejecutar el sistema operativo y coordinar el funcionamiento del sistema. Los restante siete núcleos son los Synergistic Processing Elements (SPEs), procesadores RISC con registros de 128-bits que se encargan de “machacar números” (aunque uno de ellos está dedicado a otro tipo de labores, tales como seguridad). Si a esto le unimos la unidad de procesamiento de gráficos, el rendimiento combinado del sistema puede alcanzar los 2 teraflops.

Simulations of the villin headpieceEsto no ha pasado desapercibido para los administradores de Folding@home, un proyecto de computación distribuida en el área de la biología molecular que estudia el plegado de las proteínas (algo de capital importancia, ya que la función que desempeña una proteína está determinada por su estructura plegada tridimensional). Para ello es necesario realizar simulaciones físicas del proceso, lo que requiere ingentes recursos computacionales. Desde Folding@home se ha llegado a un acuerdo con Sony que ha facilitado la disponibilidad del software necesario para que quien lo desee pueda contribuir la capacidad de cómputo de su consola al proyecto. El resultado es espectacular, ya que con unas 22,000 consolas activas se están consiguiendo 289 teraflops (recordemos que la capacidad de cómputo sostenido del supercomputador más potente en la actualidad es de 280 teraflops), prácticamente la mitad de la capacidad de cómputo total, que incluye más de 240,000 CPUs. Los administradores del proyecto confían en llegar pronto al petaflop. Hay también planes de extender a la PS3 otros proyectos de computación distribuida (a través de BOINC).

El único inconveniente de momento es que esta aplicación no puede hacerse en background, ya que en el momento en que el usuario empiece a jugar no habrá potencia restante que dedicar a otro tipo de cálculos. En cualquier caso, uno no está jugando las 24h del día, así que ya sabes, hazle un favor a la ciencia, y compra una videoconsola.

No hay comentarios: