El 5 de noviembre del 2004 se presentó en España el Mare Nostrum, un supercomputador basado en el sistema operativo Linux; está compuesto por 4.564 procesadores Power PC 970 en paralelo, capaces de realizar 40 teraflops (40*109 ó 40 mil millones de instrucciones por segundo), con una memoria de 9 terabytes (9.000 gigas), discos externos de 128 terabytes (128.000 gigas); pesa 40 toneladas, ocupa 160 m² y consume 600 kilovatios. Forma parte del Centro Nacional de Supercomputación (CNS), aunque su nombre internacional es el de Barcelona Supercomputing Center. El Estado español pagará 70 millones de euros en cuatro años por todo el proyecto.
Entre las aplicaciones a las que se dedica se encuentran: el estudio del cuerpo humano, como el genoma o procesos complejos relacionados con ciertas enfermedades; la metereología, con estudios de predicciones climáticas y simulaciones; la anticipación de los posibles efectos de catástrofes naturales; y diversos procesos industriales para sectores como el aeroespacial o el automovilístico [1].
Como puedes ver, este tipo de superordenadores requiere de grandes inversiones que sólo estados o grandes corporaciones se pueden permitir, sin embargo muchos de nosotros disponemos de ordenadores personales más o menos potentes, que agrupados pueden conseguir potencias de cálculo de zetaflops (10²¹ instrucciones por segundo) como los obtenidos por el proyecto SETI@home el 26 de septiembre del 2001, con una media de 71 teraflops [2].
Para poder conseguir estos espectaculares resultados, el cálculo o trabajo completo se divide en partes más pequeñas que un ordenador personal pueda realizar en un plazo razonable de tiempo. Básicamente un ordenador u ordenadores centrales se encargan de repartir el trabajo entre los distintos ordenadores que se unen al proyecto, estos utilizan un programa especial que realiza el cálculo o proceso, una vez terminado, les devuelve el resultado, recibiendo otra pequeña parte del trabajo, así hasta la terminación del mismo.
Veamos un ejemplo, una película de cine se compone de una sucesión de imágenes estáticas -fotogramas-, que nos dan la sensación de movimiento al proyectarse a una velocidad de 24 imágenes por segundo. Películas como Buscando a Nemo, Final Fantasy, Shrek, Toy Story, etc., generadas totalmente por ordenador, necesitan que se "dibuje", renderice es el término exacto, cada uno de los fotogramas; para una película de 90 minutos, se necesita renderizar 129.600 fotogramas.
Pixar, autora de algunas de estas películas, comenta en su web [3] que cada imagen les lleva renderizarla unas 6 horas, algunas hasta 19 horas; para esos 90 minutos harían falta 88 años de cálculo para que un sólo ordenador las completara, sin embargo, repartiendo el trabajo entre 200 ordenadores podría hacerse en tan sólo 6 meses.
Esta es una de las posibilidades del cálculo distribuido, hay proyectos científicos como el mencionado SETI@home que busca vida inteligente mediante el análisis de ondas de radio, climateprediction.net que trabaja en la elaboración de modelos de predicción climática; proyectos de investigación biológica como Drug Design Optimization Lab (D²OL)™ que busca medicamentos para el Antrax, Ebola, Malaria, SARS y la Viruela, Find-a-Drug similar al anterior que trabaja en medicamentos contra el Cáncer, Malaria, SARS, SIDA, etc., Folding@home que estudia el plegamiento y agregación de las proteínas que ayude a comprender las enfermedades relacionadas, como el Alzheimer, de la vaca loca (Encefalopatía Espongiforme Bovina), de Creutzfeldt-Jacob, la Esclerosis Lateral Amiotrófica, y el mal de Parkinson, fightAIDS@home que busca nuevos fármacos para combatir el SIDA, grid.org que trabaja en varios proyectos como la búsqueda de una cura contra el cáncer o una vacuna contra la viruela; existen además proyectos sobre criptografía, finanzas, Internet, matemáticas; en la web Internet-based Distributed Computing Projects tienes una lista de diferentes proyectos, información de los mismos, sus objetivos, etc.
La mayor parte de estos proyectos usan programas específicos, algunos utilizan BOINC, permite ejecutar diferentes proyectos, pudiendo asignar el tiempo que nuestro ordenador dedica a cada uno, está la empresa United Devices con soluciones comerciales, colabora en otros proyectos con su cliente, que también permite el proceso de diferentes proyectos; The Globus Alliance, es un proyecto de investigación y desarrollo, enfocado a la aplicación del concepto de colaboración al cálculo científico y de ingeniería.
El viernes 21 de mayo de 1999 empecé mi colaboración en el proyecto SETI@home, primero con la versión del cliente clásico en modo salvapantallas, posteriormente al incrementar la memoria de mi ordenador y actualizar mi sistema a Windows NT me pasé a la versión de consola, de esta forma lo tenía ejecutándose todo el tiempo aprovechando al máximo los tiempos muertos de mi ordenador, a pesar de un mayor consumo de memoria, a nivel de procesador no interfería con el resto de aplicaciones.
Después de procesar 500 unidades, con un total de 5,430 años de cálculo, el sábado 2 de noviembre del 2002 envié mi último resultado, recibiendo el correspondiente certificado.
Dejé el proyecto porque descubrí otro que creí más útil y realista, como el United Devices Cancer Research Project, al cual me uní el 31 de octubre del 2002, les doné un total de 297 días, 6 horas, 24 minutos y 8 segundos, procesando 338 resultados hasta el día 10 de noviembre del 2003, debido a mi desconexión de Internet y mi paso a GNU/Linux como sistema operativo.
Cuando vuelva a disponer de conexión a Internet, retomaré mi contribución en algún proyecto que me permita ejecutar su cliente bajo GNU/Linux; te animo a que tú también lo hagas, busca el proyecto que más te interese y si dispones de un ordenador u ordenadores adecuados ¡participa!.
[1] Larranz, Teresa. España presenta el mayor supercomputador de Europa [en línea]. En: Reuters, Fri November 5, 2004 6:28 PM GMT+01:00, [consultado el 6 de Noviembre del 2004]. Disponible en Internet en: <http://www.reuters.es/locales/c_newsArticle.jsp?type=topNews&localeKey=es_ES&storyID=6731260>
[2] Pearson, Kirk. Internet-based Distributed Computing Projects - Active Projects - Science [en línea]. 14 de Octubre del 2004, [consultado el 6 de Noviembre del 2004]. Disponible en Internet en: <http://www.aspenleaf.com/distributed/ap-science.html#setiathome>
[3] Pixar How We Do It [en línea]. Pixar, fecha no disponible, [consultado el 13 de Noviembre del 2004]. Disponible en Internet en: <http://www.pixar.com/howwedoit/index.html>
Computación distribuida [en línea]. En: Wikipedia, 14:06 28 oct, 2004, [consultado el 6 de Noviembre del 2004]. Disponible en Internet en: <http://es.wikipedia.org/wiki/Computación_distribuida.htm>
Buyya, Rajkumar. Grid Computing Info Centre (GRID Infoware) [en línea]. Fecha no disponible, [consultado el 21 de Noviembre del 2004]. Disponible en Internet en: <http://www.gridcomputing.com>