Desde que se formaron las primeras redes de computadoras, mucho antes de Internet, se dio vueltas a la idea de aprovechar los recursos de éstas cuando permanecieran inactivas. Ahora la computación distribuida es una realidad presente en multitud de proyectos que aprovechan la Red para conseguir unir equipos de investigación de diferentes lugares del mundo y alcanzar una potencia de cálculo a la que no llegan ni las supercomputadoras más potentes. Cualquier internauta, cediendo su PC cuando no lo utiliza, puede analizar las señales recibidas por un radiotelescopio para encontrar inteligencia extraterrestre o contribuir en proyectos médicos y científicos.
Orígenes
La imagen del científico resolviendo problemas armado de tiza y pizarra ha quedado muy atrás; ya no se entiende la ciencia sin la ayuda de los ordenadores. Los científicos e investigadores afrontan cada día mayores retos que precisan de la potencia de cálculo de enormes supercomutadoras. Pero a pesar de que la Ley de Mooresigue vigente y los procesadores doblan su potencia cada 18 meses, los ordenadores no son capaces de absorber la demanda de almacenamiento y proceso de datos que genera la investigación en la actualidad.
La solución se ha encontrado en distribuir la tarea entre multitud de ordenadores conectados, aprovechando la gran cantidad de tiempo en que éstos no se utilizan o no se exprime toda su capacidad. Es lo que se conoce como computación distribuidaque, gracias a Internet, consigue que cualquier usuario con conexión pueda ceder tiempo y espacio de su PC para ayudar, por ejemplo, en la lucha contra el Sida o en la búsqueda de inteligencia extraterrestre. Los datos se dividen en pequeños paquetes que se envían a los voluntarios, y se devuelven tras ser analizados por su ordenador.
Desde que se conectaron entre sí las primeras computadoras, a principios de los 70, nació la idea de aprovechar los recursos de las CPU (procesadores) infrautilizadas. Ya en Arpanet, red predecesora de Internet, programas como Creeper y Reaper-ran experimentaban con la computación distribuida. Pero fue en 1973, en el Centro de Investigación Xerox de Palo Alto, cuando se creó la primera red Ethernet en la que se introdujo un ‘gusano’ (un pequeño programa) que recorría las máquinas utilizando recursos inactivos.
Desde entonces se sucedieron los experimentos centrados en la descentralización de los trabajos aprovechando redes de ordenadores que resuelven varios problemas al mismo tiempo:
- Potencia de cálculo: ninguna supercomputadora es capaz de competir con varios miles de máquinas (de todos los tamaños) conectadas a una red.
- Tiempo: las investigaciones que requieren del análisis de una ingente cantidad de datos (genoma humano) se aceleran con proyectos de computación distribuida.
- Almacenamiento: de la misma forma, el volumen de datos generados por algunos proyectos (como las señales de radio procedentes del espacio que analiza SETI@home) se puede distribuir entre los discos duros de millones de internautas.
- Dinero: No todas las empresas pueden permitirse una supercomputadora o una red propia para afrontar grandes retos. Una red distribuida que emplee recursos no utilizados reduce drásticamente el coste de grandes proyectos.
- Colaboración: entre países, organismos o grupos de investigadores situados en distintos puntos del planeta para trabajar en un proyecto común.
El salto de Internet
En los años 90 la popularización de Internet llevó a la computación distribuida a una escala global. Y, al contrario de lo que muchos preveían, los proyectos en que participan internatutas de todo el mundo han probado la viabilidad y el buen funcionamiento del concepto. El primero en utilizar, en 1997, los PCs conectados a Internet fue distributed.net(dnet), que con una potencia de cálculo equivalente a 160.000 ordenadores PII a 266MHz ha esclarecido complicadas claves criptográficas.
Pero sin duda el proyecto más conocido es SETI@home, dedicado a escuchar señales de radio procedentes del espacio. Desde hace décadasexisten proyectos SETI (siglas en inglés de Búsqueda de Inteligencia Extraterrestre) que tratan de averiguar si estamos o no solos en el Universo. Pero no fue hasta 1995 cuando David Gedye y Craig Kasnoff pensaron en emplear las computadoras conectadas a Internet para resolver el problema de la cantidad de datos que era preciso analizar, pues desbordaban la capacidad de las supercomputadoras instaladas a tal efecto.
Así, en mayo de 1999, nació SETI@home, un proyecto que ya ha enganchado a más de cinco millones de internautas –España , con 104.593, es el decimoquinto país que más usuarios aporta- que han prestado el equivalente a dos millones de años de uso de sus PCs para enviar unos 1.500 millones de resultados. El usuario instala un salvapantallas que salta cuando se le indica (normalmente cuando el ordenador está inactivo) y, aunque parezca ciencia ficción, comienza a analizar fragmentos de las señales de radio captadas por el radiotelescopio de Arecibo en Puerto Rico, el mayor del mundo con 305 metros de diámetro. Si la señal pasa los numerosos filtros dispuestos y se determina que esconde ‘inteligencia’ extraterrestre, la persona que la recibió en su PC vería su nombre junto al descubrimiento más importante de la historia.
Su éxito ha contribuido a la creación de numerosos proyectos @home (en casa), como Genome@home (para entender el funcionamiento de los genomas y su aplicación en medicina) Folding@home(el plegamiento de las proteínas y las enfermedades asociadas), FightAIDS@Home(para colaborar desde casa en el descubrimiento de un remedio contra el Sida).
La Universidad de Berkeley (California), artífice del proyecto SETI@home, sigue siendo muy activa en el campo de la informática distribuida. A través de BOINC(Berkeley Open Infrastructure for Network Computing), ha creado una plataforma de computación distribuida en la que los voluntarios pueden colaborar en una segunda versión de SETI@homey, con el mismo programa, unirse a otras iniciativas que ha puesto en marcha:
- LHC@home, para construir el acelerador de partículas LHC (Large Hadron Collider) del Centro Europeo de Investigación Nuclear.
- Climateprediction.netClimateprediction.net, para estudiar modelos de cambio climático.
- Predictor@homepara encontrar soluciones a enfermedades relacionadas con las proteínas.
- Pirates@home, para desarrollar el salvapantallas de Einstein@home, un proyecto que buscará las ondas gravitacionales que debieran existir según la teoría de Einstein.
En España existen páginas como CANALBOINCo Astrosetidonde informarse sobre proyectos de computación distribuida y apuntarse a ellos. Todos estos proyectos funcionan de manera similar: se instala un programa que aprovecha el espacio y tiempo cedidos por el usuario y, mediante la conexión a Internet, recibe, analiza y devuelve paquetes de datos. Usuarios y asociaciones compitenpor ver quién aporta más.
«The Grid», la computadora universal
A comienzos del siglo XX, para tener electricidad era necesario estar cerca de un generador eléctrico o comprarse uno, problema que fue resuelto gracias a la red eléctrica (electric grid, en inglés). Grid computing(mallas de ordenadores) persigue un paradigma similar: gran variedad de recursos contribuyen a alimentar una ‘piscina’ común que los consumidores pueden utilizar según sus necesidades. El término, que se confundea menudo con computación distribuida, hace referencia a la utilización conjunta de ordenadores dispersos (PCs, servidores, mainframes..) que comparten aplicaciones, datos y otros recursos de red para funcionar como un único sistema.
Sin embargo, para conectar a todos los ordenadores del planeta con el fin de que formen una única, enorme y poderosa computadora (“The Grid”), hace falta una herramienta que a través de estándares y tecnologías comunes consiga que todas las máquinas se entiendan. Mientras se trabaja en ello -ya existe la Open Grid Standards Architectureque desarrolla el Globus Toolkit-, las empresas ofrecen soluciones grid comerciales para ahorrar tiempo y dinero, y la tecnología de mallas de ordenadores está presente en numerosos proyectos de investigación a la vez que se desarrolla en otras áreas, como la educación.
En España, la Fundación Telefónica y Sun Microsystems colaboran en el desarrollo del ‘Portal Grid Computing para la Comunidad Investigadora Española’, que pretende crear un sistema en red para que los equipos de investigadores compartan sus recursos. Ya se han unido a esta iniciativa más de una decena de universidades españolas, y está abierto a la Administración, entidades investigadoras, sanitarias y de enseñanza superior. También prevé desarrollar cursos de formación ‘e-learning’ para personas mayores y voluntariado social.
A nivel global y en lo que concierne al usuario doméstico la solución por el momento es la informática distribuida: cualquier sistema creado para que varios ordenadores resuelvan un problema de manera conjunta. En este sentido, grid computing es sólo una forma más de informática distribuida al igual que el cluster computing,metacomputing, las redes P2P (que utilizan los usuarios para intercambiar archivos) o la propia Interneta través de proyectos como SETI@home.
A la computación distribuida y al grid se les augura un brillante futuro, tanto para los avances científicos y la lucha contra las enfermedades, como para causas no tan elevadas (ajedrez virtual) o más actuales (PatriotGrid, para combatir el bioterrorismo).