Revista Digital Universitaria
ISSN: 1607 - 6079 Publicación mensual
 
1 de marzo de 2010 Vol.11, No.3
EJEMPLARES DIRECTORIO QUIÉNES SOMOS COLABORA VÍNCULOS MAPA DE SITIO
 
El poder del Supercómputo en la Astrofísica Teórica
Alfredo Santillán González y Liliana Hernández-Cervantes
CITA PDF
Introducción El cómputo en la... Astrofísica computacional La era de los GPU's... Bibliografía

Astrofísica computacional

Como se mencionó en la sección anterior, las simulaciones numéricas están sujetadas a un modelo teórico que consiste de un conjunto de ecuaciones matemáticas que nos permitirán describir la formación y/o evolución del objeto astronómico que estamos estudiando y que en la mayoría de las veces no tienen una solución exacta o analítica, y por lo tanto, es necesario recurrir a métodos numéricos para obtener una solución aproximada. La rama de la Astronomía que utiliza los métodos numéricos para resolver problemas de investigación vinculados a esta ciencia utilizando una computadora se le conoce como Astrofísica Computacional. Aun cuando sabemos que el cómputo ha tenido un crecimiento descomunal en los últimos años y ha permitido que una parte considerable de problemas astrofísicos puedan resolverse en una computadora de escritorio, existen áreas de investigación en astrofísica que necesitan de enormes recursos computacionales y que su desarrollo estará limitado por la memoria y velocidad de los procesadores de los equipos de alto rendimiento disponibles. Para permitirles a los astrofísicos trabajar con códigos numéricos en alta resolución temporal y espacial, así como, incluir el mayor número de procesos físicos en sus experimentos numéricos.

Actualmente, la astrofísica computacional está presente en cuatro grandes áreas de la astronomía (Stone, 2007):

1. Evolución y estructura estelar.
2. Transferencia de radiación y atmósferas estelares.
3. Dinámica de fluidos astrofísicos.
4. Dinámica planetaria, estelar y galáctica.

En cada una de estás áreas se han desarrollado una serie de códigos numéricos que permiten resolver las ecuaciones que describen el problema en cuestión (si el lector está interesado en ampliar la información sobre la variedad de códigos astrofísicos que se han creado en los últimos años se recomienda ver Stone 2007).

En particular, un grupo importante de astrofísicos de los Institutos de Astronomía, Ciencias Nucleares y Geofísica, del Centro de Radioastronomía y Astrofísica y de la Dirección General de Servicios de Cómputo Académico de la UNAM, han trabajado en el desarrollo y uso de códigos numéricos vinculados al área de Dinámica de Fluidos Astrofísicos, que utilizan diferentes métodos numéricos, tales como, diferencias finitas (ZEUS3D; Stone & Norman 1992); smooth particle hydrodynamics (SPH; Monaghan, 2001); mallas adaptativas (Raga, et al; 2000); total variation diminishing (TVD; Kim, et al 1999), etcétera.

Grosso modo hemos dado un panorama general de la astrofísica computacional, sin embargo, no hemos contestado la pregunta que seguramente muchos lectores se estarán haciendo, ¿por qué las simulaciones numéricas astronómicas necesitan de supercomputadoras? Para contestar esta pregunta nos apoyaremos en el concepto de malla computacional, que no es otra cosa que la división del dominio computacional con el que estamos trabajando; en coordenadas cartesianas (x,y,z) esto se manifestaría geométricamente en puntos en una dimensión, en cuadros en 2D y en cubos en 3D. Supongamos que deseamos estudiar numéricamente el comportamiento de la superficie del Sol con un código numérico que tiene una malla computacional tridimensional fija en el espacio, donde las celdas que la componen tienen un tamaño fijo. Las dimensiones o tamaños de las celdas estarán fuertemente asociadas a que tan fino o detallado se puede hacer el análisis del sistema astrofísico que deseamos estudiar. Por otro lado, entre más fina sea la malla computacional (celdas muy pequeñas), más recursos computacionales se requerirán para realizar la simulación numérica.


Figura 3. En la figura se muestran dos imágenes de la superficie Sol, que tienen sobrepuestas dos mallas computacionales con diferentes resoluciones: baja resolución (izquierda-malla A) y alta resolución (derecha-malla B).

En la Figura 3 se muestran dos imágenes del Sol, que tienen sobrepuestas dos mallas computacionales, una menos refinada que la otra, o en otras palabras, las celdas de la Figura 3a son más grandes que las de la Figura 3b., o la malla computacional de la Figura 3a tiene menos celdas que la de la Figura 3b. Cuando comparamos las dos mallas computacionales (ver Figura 3), claramente vemos que la malla B puede resolver con más detalle pequeñas zonas activas de la superficie del Sol, que no pueden estudiarse en la malla A. Supongamos que nuestro código calcula 120 números reales por cada celda y que por cada número real en precisión sencilla la memoria de la computadora le asigna 4 bytes, esto quiere decir que por cada celda de mi malla, la computadora deberá apartar 480 bytes (~ 0.5 MB) de memoria. Conforme vamos haciendo más refinado nuestro dominio computacional, la demanda de memoria irá incrementándose sustancialmente (ver Tabla 1). En la última columna de la Tabla 1 se tiene la resolución del sistema que se está modelando, es decir, la escala mínima que es capaz de estudiar mi experimento numérico. Por ejemplo, si el radio del Sol es de Rzs y la malla es de 2563, se podrán estudiar fenómenos que ocurran a una escala de Rs/256. Respecto al uso de los procesadores, que son los encargados de realizar las operaciones matemáticas, entre más celdas tenga en la malla, más operaciones tendrán que realizar, y por lo tanto, para una simulación en tres dimensiones, el tiempo de CPU podrá incrementarse exponencialmente.

Tabla 1

Número de Celdas

Memoria RAM

Resolución

643

125 MB

2Rs/64

1283

1 GB

2Rs/128

2563

8 GB

2Rs/256

5123

64 GB

2Rs/512

10243

512 GB

2Rs/1024

20483

4 TB

2Rs/2048

Rs es el radio del Sol

Para darnos una idea de lo que es consumo excesivo de recursos computacionales, presentamos el siguiente ejemplo. En el 2007 un grupo de astrofísicos de la Universidad de California, San Diego, realizaron un simulación numérica con una malla computacional de 20483 celdas (~ 8,589 millones de celdas), utilizando 4,096 CPUs durante dos semanas, equivalentes a 1.33 millones de horas de CPU, para estudiar con detalle el problema de la turbulencia en el medio interestelar, en particular dentro de las nubes moleculares (Kritsuk et al. 2008; ver Figura 4).


Figura 4. En la gráfica se muestran los efectos que produce la turbulencia en el material que compone a una nube molecular. La escala de colores está asociada a la densidad del gas (negro-baja densidad; blanco-alta densidad). Esta simulación necesitó de 4,096 CPUs durante 14 días.

Ahora la siguiente pregunta es, ¿qué han hecho los astrofísicos para resolver este problema?

1. Buscar y desarrollar mejores métodos numéricos.
2. Adaptar sus códigos a la arquitectura paralela de las supercomputadoras.

En el caso particular del punto (2) cabe recordar el concepto de cómputo paralelo o distribuido. El cómputo paralelo se puede entender de una manera muy simple, repartir el trabajo que se tiene que hacer para resolver numéricamente las ecuaciones que describen un sistema astronómico entre 2 o más procesadores que se tengan disponibles. Y para hacer esto, es conveniente dividir el problema que estoy estudiando en un número equivalente de procesadores que tenga a la mano. Las Figura 5 y 6 muestran dos claros ejemplos de cómo puede partirse repartirse entre los procesadores, un problema en particular. También se puede ver que la malla computacional se hace más en las zonas donde ocurren los fenómenos que se quieren estudiar. La Figura 5 está vinculada al estudio de la migración de planetas (Masset, 2002), en tanto que, la Figura 6 reprsenta un corte de densidad de un grumo de gas autogravitante que está siendo fotoevaporado por una estrella masiva que se localiza al lado izquierda de la figura. El código numérico que se utilizó para realizar esta simulación 3D se conoce con el nombre de YGUAZÚ-A, y fue desarrollado por un grupo de astrofísicos del Instituto de Ciencias Nucleares de la UNAM (Esquivel & Raga, 2007)


Figura 5. La imagen muestra un ejemplo de cómo se puede “partir” un problema y distribuir los cálculos numéricos en diferentes procesadores (Cortesía Fredeic Masset 2002)


Figura 6. La imagen muestra la densidad (escala de colores) de un grumo autogravitante que está siendo fotoevaporado por una estrella masiva que se localiza al lado izquierda de la figura. Sobrepuesta se encuentra una malla computacional que presenta múltiples niveles de refinamiento. (La evolución temporal de este proceso puede verse en el siguiente video).


anterior

subir

siguiente

 

D.R. © Dirección General de Servicios de Cómputo Académico-UNAM / Ciudad Universitaria, México D.F.
Se autoriza la reproducción total o parcial de los artículos aquí presentados, siempre y cuando se cite la fuente completa y su dirección electrónica
 
 
Open Journal Systems
E d i t o r i a l

Perspectivas del Supercómputo en México
José Luis Gordillo Ruiz

El impacto del Supercómputo en la química cuántica
Jorge Garza Olguín

El poder del Supercómputo en la Astrofísica Teórica
Alfredo Santillán González y Liliana Hernández-Cervantes

Supercómputo en la física de la materia condensada:dos ejemplos
Luis Antonio Pérez López

Materiales por diseño ¿ficción o realidad?
Chumin Wang, Carlos Ramírez y Vicenta Sánchez

El Supercómputo en 2010
René Luna, Luis Villa y Marco Ramírez

El Mundo de los átomos y las moléculas.
Entrevista con la Dra. María Guadalupe Moreno Armenta

Adrián Estrada Corona

INNOVACIÓN EN TICS
DIVULMEDIA
PRESENCIA UNIVERSITARIA
 
e-journal
Mati
Colecciones Mexicanas