Monday, October 30, 2006

Computación Grid: Más allá de los superordenadores

Borja Sotomayor

Una vez más, os recomendamos el interesantísimo blog de Borja

Departamento de Ciencias de la Computación de la Universidad de Chicago

CHICAGO. Cuando Charles Babbage diseñó la primera computadora programable a mediados del sigo XIX, lo hizo con el propósito de resolver eficientemente un problema contemporáneo: la tabulación de fórmulas matemáticas que, hasta entonces, eran calculadas manualmente por operadores humanos (llamados «computadores»). Babbage fue un pionero de la informática, y sus ideas permanecieron relativamente en la oscuridad hasta que, más de 100 años después, se construyeron los primeros ordenadores electrónicos. Nuevamente, la principal motivación fue un problema especialmente importante en esos tiempos: descifrar los códigos de la Alemania nazi durante la Segunda Guerra Mundial.
Desde entonces, la informática ha evolucionado mucho, y también lo han hecho los problemas que deben resolver los ordenadores. En lugar de tabulaciones matemáticas o mensajes cifrados, ahora los ordenadores se enfrentan a nuevas tareas, como el análisis de las partículas más fundamentales del universo y complicadas simulaciones de modelos medioambientales. Para abordar estos problemas, se construyen enormes supercomputadores, miles de veces más potentes que nuestro ordenador de sobremesa, capaces de realizar billones de operaciones por segundo. Sin embargo, nuestro afán por el conocimiento, por el planteamiento de nuevos y emocionantes problemas que resolver, evoluciona más rápidamente que la informática, y a veces nos encontramos con que estos gigantes computacionales resultan insuficientes y hay que saltar al siguiente nivel: la Computación Grid (Grid Computing).

Para explicar lo que es la Computación Grid conviene utilizar un ejemplo de un problema de proporciones gigantescas. Un buen ejemplo, que a estas alturas se ha convertido en el «embajador de la Grid» para los no-iniciados, es el Large Hadron Collider (LHC), un acelerador de partículas con una circunferencia de 27 km cuya construcción se realiza en el CERN (el Centro Europeo de Investigaciones Nucleares), cerca de Ginebra. Cuando el LHC entre en funcionamiento el año que viene, los experimentos que se realizarán en el acelerador producirán 15 petabytes de información cada año (un petabyte equivale a 1.048.576 gigabytes; un disco duro típico de sobremesa suele rondar los 150-300 gigabytes). Esta información tiene que ser almacenada y procesada, y eso resulta inabordable en un único centro de cálculo, ya que sería necesario equipar al CERN con una potencia de cómputo varios ordenes de magnitud mayor de la actualmente disponible, una opción impracticable tanto a nivel técnico como económico.

Complicación del «reparto»

La Computación Grid es un modelo de computación relativamente nuevo que plantea repartir el cómputo de estos problemas entre recursos computacionales (como supercomputadores, clusters de ordenadores, etc.) distribuidos en diversas organizaciones. Conceptualmente, es una solución muy sencilla, un «divide y vencerás» de toda la vida: si no podemos resolver el problema en un único lugar (Ginebra), pues lo repartimos entre centros de cálculo de toda Europa, cuya unión sí da cabida a las necesidades computacionales del LHC. Esta unión de recursos de distintas organización es lo que habitualmente se denomina una «grid» computacional.

Sin embargo, en la práctica, realizar este «reparto» es técnicamente muy complicado. Por ejemplo, supongamos que queremos distribuir un enorme cómputo entre centros de cálculo situados en distintos paises. ¿Cómo «dividimos» el problema? Y una vez dividido, ¿cómo realizamos el reparto de las distintas subtareas? ¿Cómo conseguimos que los distintos centros de cálculo (cada uno con distintos tipos de máquinas, redes, sistemas operativos, etc.) se comuniquen entre ellos? Desde el punto de vista de alguien que cede parte de sus recursos a una grid, ¿cómo garantizamos que nadie abusa de esos recursos que se están cediendo? ¿Cómo mover las enormes cantidades de datos de un centro a otro? La Computación Grid se encarga de responder a estas y muchas otras preguntas.

Primeros frutos

Por supuesto, dicho todo esto, puede parecer que la Computación Grid no es más que pura fantasía, o algo que difícilmente puede afectar al público general (al fin y al cabo, no es habitual tener un acelerador de partículas en el salón de casa...). Sin embargo, hace tiempo que la Computación Grid dejó de ser una tecnología experimental, y actualmente ya se utiliza para mejorar la calidad investigadora de muchos proyectos en todo el mundo. El LHC, por ejemplo, se valdrá de una grid europea, fruto del proyecto EGEE, que une los recursos computacionales de más de 100 centros de cálculo alrededor de todo el mundo (la mayoría situados en Europa).

Eso sí, la Computación Grid no se limita a resolver enormes problemas, como los planteados por el LHC. También puede proporcionar potencia computacional sobre demanda a proyectos más modestos. De hecho, el término «Grid» se originó por analogía a la red eléctrica («Electrical Grid»). Cuando nosotros necesitamos electricidad, evidentemente no necesitamos contar con nuestro propio generador eléctrico.
Sencillamente nos conectamos a la red eléctrica, que nos proporcionará la potencia que nos hace falta, y que se habrá originado en una central eléctrica que atiende las necesidades de muchos usuarios. La Computación Grid, en esencia, permite que un usuario tenga acceso a toda la potencia computacional que necesita (la «electricidad»), pero sin tener que disponer de un supercomputador propio (la «central eléctrica»). Así pues, hay muchas Grids alrededor del mundo, tales como EGEE (en Europa) y TeraGrid (en EEUU) que proporcionan una valiosa infraestructura a distintos proyectos relacionados con bioinformática, astrofísica, química computacional, finanzas y muchas otra áreas. Las grids como EGEE y TeraGrid afectan al público general indirectamente al mejorar los recursos de los que disponen científicos que trabajan en problemas que, de una manera u otra, acaban afectándonos. Sin embargo, también hay grids centradas en solucionar problemas que afectan más directamente a la sociedad, como caBIG (Cancer Biomedical Informatics Grid), una Grid para aunar recursos en la lucha contra en cancer, y NEES (Network for Earthquake Engineering Simulation), una red de investigación que utiliza una infraestructura grid para la simulación de terremotos.

El futuro: «La Grid»

La Computación Grid, a pesar de ser una tecnología con bastante madurez, sigue estando en constante evolución. Actualmente existen muchas grids computacionales (como EGEE y TeraGrid), construidas para dar salida principalmente a problemas científicos, pero todavía no existe «La Grid». De la misma manera que internet nació en el ámbito científico para luego llegar al público general, lo mismo puede esperarse, a largo plazo, de la Computación Grid. Cuando la tecnología madure lo suficiente, será posible que cualquier usuario, desde su ordenador personal de casa, pueda enviar complejos trabajos computacionales a «La Grid», como si tuviésemos un supercomputador en el salón de casa.

0 Comments:

Post a Comment

<< Home