Nubes Computacionales para Marte

El pasado 26 de septiembre impartí una charla invitada en la ISC-Cloud 2011 que tuvo lugar en Mannheim, Alemania. El objetivo de esta conferencia es dar a conocer todos los esfuerzos realizados a nivel mundial en computación de altas prestaciones sobre infraestructuras de computación en nube o cloud.

La computación de altas prestaciones (High Performance Computing en inglés) es un área de las Ciencias de la Computación que pretende dar solución a problemas complejos a través de arquitecturas tanto hardware como software, allá donde la computación tradicional no puede llegar. Los denominados supercomputadores y cualquier otro sistema de computación que pueda llegar a procesar como mínimo 1 billón de operaciones de coma flotante al segundo entrarían en la categoría de la computación de altas prestaciones. Ahora mismo, el record lo tendría el “K” japonés, llegando a procesar 8,200 billones de operaciones de coma flotante al segundo. 

En Rusia, el supercomputador más potente es el Ломоно́сов (“Lomonósov”) de la Universidad Estatal de Moscú. El nombre no es para nada baladí, ya que Mijaíl Lomonósov (1711-1765) cultivaba una gran cantidad de disciplinas científicas, destacando en todas ellas, perfecto paralelismo con un supercomputador de propósito general. Este coloso llega a procesar 510 billones de operaciones de coma flotante por segundo.

Lomonósov, el supercomputador de la Universidad Estatal de Moscú.


La computación cloud es un nuevo paradigma que permite el suministro de cualquier tipo de servicio de computación (aplicaciones, máquinas virtuales, bases de datos) bajo demanda. El usuario no ve ni necesita ver los elementos que le están ofreciendo el servicio, garantizando así un pronto uso del mismo.

Relación de algunos servicios ofrecidos a través de la computación cloud.

En la actualidad estamos utilizando estas nubes y muchas veces sin darnos cuenta siquiera. Un ejemplo es cuando en Facebook alguien nos etiqueta en una foto, ésta formará parte de nuestra colección automáticamente. Habrá muy poca gente que se descargue físicamente la foto porque en sus propias palabras: “ya está en Facebook”. De la misma manera, el uso cada vez más generalizado de servicios como las redes sociales o el correo electrónico requiere de una potencia de computación para almacenar y procesar datos cada vez mayor, y con una demanda bastante variable.

De esta manera, la computación sería un servicio más que se añadiría a los propios empleados en cualquier organización, ya sea académica como empresarial (electricidad, agua, …). A este punto, podemos distinguir dos tipos principales de infraestructuras cloud empleando un paralelismo con la evolución de la Era Industrial, que en Rusia comenzó en la segunda mitad del siglo XIX.

Al principio, las fábricas necesitaban construir en su recinto una planta de energía que suministrara electricidad. La fábrica asumía por tanto no solo los costes de construcción, sino también de mantenimiento. Un cloud cuya infraestructura físicas, las máquinas que dan soporte al servicio ofrecido, se encuentran en la misma institución es denominado privado. En un cloud privado, la institución tendrá un total control sobre sus recursos pero también los costes fijos de la electricidad, los contratos de mantenimiento, las nóminas de los técnicos. Además, la institución verá como sus equipos sufren una devaluación continua debida a la antigüedad de los modelos.

Fábrica rusa de 1888.

Con el paso de los años, las fábricas fueron contratando los servicios de otras empresas que producían energía. De esta manera, a través de un medio estandarizado de comunicación, la electricidad fluía a las fábricas y la fábrica solo pagaba lo que consumía. Los clouds públicos siguen este mismo principio, siendo empresas las que ofrecen sus servicios de computación por tiempo de uso y a través de un medio estandarizado de comunicación: Internet.

En la actualidad, muchas instituciones se decantan por un tipo de cloud llamado híbrido y que supone una solución intermedia a las antes descritas. Una infraestructura mínima es mantenida dentro de la institución y un proveedor externo es contactado cuando surgen picos de demanda.

Son muchas las aplicaciones científicas que se están beneficiando de la computación cloud. En particular, la exploración espacial es un área que está apostando firme por esta tecnología.

En Estados Unidos, NASA inició en 2008 el suministro de una solución de cloud privado a aquellos centros con gran demanda de computación pero con escasos recursos, o conectividad que les permitan emplear los de un centro de proceso de datos remoto. Estos centros suelen ser radiotelescopios que necesariamente están ubicados en localizaciones alejadas de cualquier núcleo urbano, y muchas veces en parajes inhóspitos.

Esta solución, bautizada como “Nebula” por sus creadores, consiste en enviar un tráiler al centro demandante. En el interior de este tráiler se encuentra un centro de proceso de datos consistente en 15000 procesadores y con un almacenamiento total de 15 Petabytes (algo más de 15 millones de Gigabytes) y solo necesita ser conectado a la red del centro. Gracias a esta infraestructura física, el centro podía emplear máquinas virtuales configuradas a su medida y con servicios que pueden construirse encima.

Uno de los contenedores de Nébula

No obstante, esta solución no era la óptima para todos, puesto que para determinadas aplicaciones el uso de estos recursos no iba a ser continuo. El desaprovecho de recursos debido a la ejecución puntual de ciertas aplicaciones no justificaba por tanto el empleo del presupuesto de numerosos centros en estos contenedores de potencia computacional.

Por ello, a finales de 2010, NASA se fijó en los proveedores públicos y en particular, Amazon. Amazon, compañía estadounidense fundada en 1995, comenzó a ofrecer servicios de computación cloud en 2006 cuando se dio cuenta de que disponía de potencia computacional de sobra y que estaba en grado de ofrecerla como un servicio más. En la actualidad, muchísimos de los servicios que empleamos están contratando a su vez los de Amazon, desde equilibrado de carga para el correo electrónico, hasta el almacenamiento de imágenes de blogs y periódicos digitales.

De esta manera, NASA usó el cloud de Amazon con gran éxito para realizar una prueba en la que se procesaron 200.000 imágenes de gran resolución provenientes de la sonda Cassini en poco tiempo. Esta misma aplicación será usada cuando ATLETHE, un robot de grandes dimensiones que ayudará a los astronautas en Marte, tenga que tomar decisiones relativas al camino a recorrer.

Athlete realizando una prueba de carga

Pero la NASA no había sido la primera en usar la computación cloud para la exploración de Marte. Un año antes, la Misión MetNet había ya tomado la iniciativa.

Esta misión es el resultado de la colaboración activa de tres países:

-         Rusia: Instituto Ruso de Investigaciones Espaciales (IKI) y Asociación Lavochkin (LA)

-         Finlandia: Instituto Meteorológico Finlandés (FMI)

-         España: Instituto Nacional de Técnica Aeroespacial (INTA).

Además, la Universidad Complutense de Madrid (UCM) lleva la dirección científica española de la Misión a través del Proyecto MEIGA-MetNet.

 

Logotipos de MetNet y Meiga- MetNet

El objetivo de esta misión es el desplegar una red meteorológica en Marte compuesta por decenas de sondas. Entre otras muchas cosas, esto permitirá obtener modelos climáticos precisos, estudiar ciertos fenómenos atmosféricos específicos del planeta rojo y, ¿cómo no? suministrar a los astronautas del futuro la información del tiempo.

Posando con una de las sondas de la misión MetNet

El grupo de Arquitectura de Sistemas Distribuidos de la Universidad Complutense, grupo de investigación al que pertenezco, comenzó su colaboración con la Misión en 2009 cuando se planteó el primer reto resoluble a través de la computación cloud.

Debido a que el área de aterrizaje se conocerá con muy poca antelación, se dispondrá de muy poco tiempo para obtener los cronogramas de medidas. Por ello se necesitará una gran potencia de computación en un tiempo muy reducido.

Fotografía de Marte tomada por la sonda soviética Mars-3 (1971)

En Marte, una brújula es inútil debido a que no existe un campo magnético global como en nuestro planeta. El GPS tampoco funciona en el planeta rojo. De esta manera, en el Proyecto MEIGA-MetNet pensaron que la sonda podría orientarse empleando el mismo método que nuestros ancestros en alta mar, a través de la observación de un cuerpo celeste.

Sextante de la marina soviética (1970)

El cuerpo celeste escogido es Fobos, la luna de Marte más grande. Fue descubierto en 1877 por Asaph Hall pero ya en 1726, Jonathan Swift hablaba de él en “Los Viajes de Gulliver”. Fobos es la luna que más cerca orbita su planeta (6000 Km), pudiendo ser visto desde la misma posición en la superficie hasta 3 veces al día marciano. El día marciano dura 24 horas y casi 38 minutos.

La luna Fobos de Marte

En el contexto del Proyecto MEIGA-MetNet se había desarrollado una aplicación que permite calcular el cronograma de Fobos (trazar su trayectoria) respecto a unas coordenadas dadas. De esta manera, se podrían mandar a la sonda los cronogramas para las diferentes coordenadas del área de aterrizaje y así, calibrar los instrumentos en la superficie marciana, una vez que Fobos fuera localizado.

La ejecución de dicha aplicación para todo un área posible de aterrizaje durante un tiempo de Misión establecido duraría días, no haciendo factible el uso de la computación tradicional frente al límite temporal impuesto. Por lo tanto, era necesario inicialmente paralelizar la aplicación, esto es, dividir la aplicación en un gran número de tareas que pudieran ejecutarse de forma individual. Después de esta fase, había que buscar el entorno de computación más idóneo.

Dado que para cada sonda, este cálculo masivo se realizaría en contadas ocasiones, adquirir la infraestructura computacional necesaria fue descartado. Esto nos llevó a crear un sistema que realizara los cálculos en una infraestructura bajo demanda, como la ofrecida por Amazon. Además, creamos un modelo que nos permitiría establecer la infraestructura de computación óptima en función del tiempo de cálculo y el coste.

Fobos eclipsando al sol captado por la sonda Oportunity

Para el problema de prueba, el trazado se realizó en algo menos de 1 hora y con un coste total de 7,5 dólares. La infraestructura equivalente comprada a HP costaría hasta 200.000 dólares, y eso sin contar el coste de mantenimiento, lo cual demostró la idoneidad del uso de un cloud público para esta aplicación.

Y esto es solo el principio. En la actualidad nos encontramos procesando la gran cantidad de datos meteorológicos provenientes de otras misiones a Marte. Estos datos servirán para mejorar la fabricación de los sensores de las sondas futuras, refinar los modelos climáticos que se emplearán con los datos de las MetNet y por supuesto, dar con aspectos han podido pasar inadvertidos durante todas estas décadas. La tarea requiere de una gran potencia de cálculo puesto que es necesario realizar un análisis minucioso de los datos para detectar errores debidos al deterioro del almacenamiento (cintas magnéticas enlatadas) e incluso debidos a un fallo en los sensores correspondientes.

Fotografía de la superficie marciana tomada por la Viking 1 (1977)

Recapitulando, la computación cloud es una tecnología de frontera que está sirviendo a otro campo de frontera: la exploración de Marte. Gracias a que la Informática ha dado este paso en su evolución, vemos cada vez más cerca nuestro salto al planeta rojo en un futuro no muy lejano.

Resultados científicos (en forma de publicaciones científicas)

J. L. Vázquez-Poletti, G. Barderas, I. M. Llorente and P. Romero: A Model for Efficient Onboard Actualization of an Instrumental Cyclogram for the Mars MetNet Mission on a Public Cloud Infrastructure. PARA2010: State of the Art in Scientific and Parallel Computing, Reykjavík (Iceland), June 2010. Proceedings to appear in Lecture Notes in Computer Science (LNCS).

P. Romero, G. Barderas, J.L. Vazquez-Poletti and I.M. Llorente: Chronogram to detect Phobos Eclipses on Mars with the MetNet Precursor Lander. Planetary and Space Science, vol. 59, n. 13, 2011, pp. 1542-1550.

Pilar Romero, Gonzalo Barderas, Jose Luis Vazquez-Poletti and Ignacio M. Llorente: Temporal Areographic Patterns of Phobos Eclipses on Mars for the Metnet Precursor Mission. 8th European Geosciences Union (EGU) General Assembly 2011 (EGU 2011), Vienna (Austria), April 2011. Proceedings published in Geophysical Research Abstracts. Volume 13, EGU2011-6470, 2011. Copernicus Publications.

Más Información:

ISC-Cloud 2011

http://www.isc-events.com/cloud11/

ISC-Cloud2011: “Mars as a Service: Cloud Computing for Humanity’s next Final Frontier”

http://www.isc-events.com/cloud11_ap/HTML/contribution_detail.php?con_id=1454&evid=230&request_day_id=16

Japan Reclaims Top Ranking on Latest TOP500 List of World’s Supercomputers

http://www.top500.org/lists/2011/06/press-release

Ranking de los supercomputadores más potentes de Rusia

http://supercomputers.ru/

Nebula Cloud Computing Platform:

http://nebula.nasa.gov/

Amazon Webservices

http://aws.amazon.com/

ATHLETE

http://www-robotics.jpl.nasa.gov/systems/system.cfm?System=11

Mars MetNet

http://metnet.fmi.fi/

MEIGA-MetNet

http://meiga-metnet.org/

DSA-Research (Grupo de Arquitectura de Sistemas Distribuidos)

http://dsa-research.org/

Listado de las imágenes contenidas en las cintas de datos de las sondas Viking

http://pds-imaging.jpl.nasa.gov/volumes/viking.html

 

 


 

 

 

 

Todos los derechos reservados por Rossiyskaia Gazeta.