fronteras de la física: ciencia y computación
Mayo 8, 2008 por yerart
Hoy he asistido a la tercera conferencia de fronteras de la física, que cierra la trilogía dedicada a los instrumentos del estudio del universo y de la estructura de la materia. El tema del que se ha hablado es de la relación entre la ciencia y la computación, hoy más fuerte que nunca. La conferencia ha sido impartida por Jesús Marco de Lucas del Instituto de Física de Cantabria (CSIC-UC), un científico cuyos inicios fueron en la física fundamental y que ha ido evolucionando hacia la computación científica, a partir de su experiencia en el procesado de la información científica obtenida en los experimentos de los aceleradores del CERN, concretamente en el experimento delphi, en el que tuvieron que corregir los datos mal calculados de un experimento en un tiempo récord, cosa que solamente fue posible utilizando los recursos de computación distribuidos de varios centros en Europa formando lo que se denomina hoy un GRID. Esta experiencia provocó la publicación de un paper y el inicio del interés del ponente por la computación. El desarrollo de la tecnología GRID, surgida en el CERN, al igual que la tecnología Web, como una necesidad científica, será vital en el nuevo colisionador LHC, que se pondrá en marcha este verano.
La relación entre computación y ciencia, nacida de manera clara para el procesamiento de los datos obtenidos de la instrumentación científica y la simulación de modelos teóricos en física fundamental, cosmología, ciencias de la tierra y ciencias de la vida, ha ampliado hoy en día su ámbito de aplicación y se ha extendido hacia el resto de las ciencias, la ingeniería y los negocios. La computación masiva y distribuida se ha convertido, gracias a los avances científicos y técnicos en computación y telecomunicaciones, en un servicio básico para la comunidad científica, el mundo de la ingeniería y la empresa. El uso intensivo de la computación distribuida y colaborativa en la investigación científica se denomina eCiencia.
En lo que respecta a la conferencia, el ponente comenzó explicando qué es un computador y la ciencia de la computación. Seguidamente se pasó revista a su evolución histórica desde un mundo mecánico cuyo máximo exponente es la máquina analítica de Babbage (que nunca se llegó a completar por dificultades técnicas y económicas) hasta el mundo electrónico y óptico de hoy en día con una arquitectura de computadores basados en varios microprocesadores de varios núcleos, apilados en blades conectados por redes ópticas de alta velocidad en armarios, que en un gran número se agrupan conectados por redes de alta velocidad en locales especialmente acondicionados en cuestión de suministro eléctrico, mantenimiento de condiciones ambientales óptimas y redes de telecomunicaciones externas, que le permiten conectarse con otros centros similares distribuidos por el mundo en Universidades, Centros de Investigación Públicos e incluso empresas (Sun Utlity Computing, Amazon Elastic Computing Cloud), y que de forma regional se agrupan en redes de supercomputación y que pueden agruparse para formar un GRID. ¿Cuál es el sistema operativo que corre en gran parte de los centros de supercomputación? Linux
El enorme desarrollo de la computación se produjo en el siglo XX con avances en la teoría matemática (Turing), física (electrónica basada en transistores y su posterior miniaturización en circuitos integrados), arquitectura (von neumann) y en gran medida tirada por la incipiente demanda proveniente de aplicaciones gubernamentales tanto civiles, como por ejemplo el censo de los EEUU, como militares (mensajes cifrados)
¿Y la ciencia? El cálculo automático de funciones matemáticas complejas, la simulación de sistemas físicos, las simulaciones estadísticas (montecarlo), … fueron necesidades científicas que incentivaron el progreso de la Ciencia de la Computación y de la Ingeniería Informática. Pero hasta épocas muy recientes no se utilizó de forma integral la computación en la ciencia. Como anécdota, el ponente citó que hasta 1975 había personal especialmente contratado en el CERN para hacer cálculos.
Como ejemplo de computador moderno nos mostró y explicó la arquitectura del MareNostrum el mayor nodo de supercomputación de España situado en Barcelona dentro del Barcelona Supercomputing Center (BSC) Se pueden consultar los detalles del mismo en el momento de su construcción en un artículo de IBM del año 2005. En la conferencia se dieron todos los detalles de los que quiero resaltar que utiliza 2560 procesadores de IBM PowerPC de 4 cores y bajo consumo (precisamente el hecho de tener varios cores es un factor de reducción de la potencia consumida), agrupados en blades de 2 procesadores con 8 GB de RAM y 36 GB de disco duro. Estos se agrupan en armarios y están unidos entre ellos por una red Myrinet de alto rendimiento. Los armarios se agrupan en hileras y hay armarios dedicados a almacenamiento externo y suministro de emergía. Los armarios están unidos por tres redes de alta velocidad, una de almacenamiento, otra de control y otra de datos. Las características de la red de datos es clave para el rendimiento final del computador ya que con sus 250 Mbps y 4 microsegundos de latencia permite sincronizar todos los procesadores en los experimentos de computación. DEl sistema operativo que corre en los blades es … Linux. Se mencionaron varios proyectos ejecutados en el computador y su rendimiento (llegando al 95% de utilización de todo el complejo) La localización de este complejo, en una antigua capilla, le da un sabor especial.
Se da la circunstancia de que recientemente fue desmantelado para renovar su infraestructura. La parte desmantelada se dividió a su vez en partes y se distribuyó por toda España en varios nodos de supercomputación. Una de esas partes fue a parar a Cantabria y está instalado en el IFCA recibiendo el nombre de Nodo Altamira. El conjunto de nodos de supercomputación forman la Red Española de Supercomputación (RES) que forma parte de las grandes instalaciones científicas de España.
Dos de los conceptos clave en computación en ciencia son:
- capability computing (la necesidad de realizar cargas de computación durante largos periodos de tiempo, relacionada con las arquitecturas de paralelización, en tareas que se dividen en trabajos altamente acoplados y que requieren baja latencia en su intercomunicación) y
- capacity computing (la necesidad de llevar a cabo grandes cargas de computación en un corto periodo de tiempo, relacionada con las arquitecturas de clustering y GRID, en tareas que se dividen en trabajos secuenciales con poco acoplamiento, que pueden ser fácilmente repartidas entre recursos de computación dispersos)
Como vemos, tienen sus diferencias en cuanto a implementación en arquitectura de HW/SW. Están relacionados con otros dos conceptos más antiguos que son High Performance Computing y High Throughput Computing. Los problemas reales que hay que resolver suelen tener las dos componentes.
Para ilustrar estos conceptos puso un ejemplo: el análisis del fondo cósmico de microondas mediante el análisis de una imagen del mismo. A la hora de procesar, podemos dividir la imagen en 16 cuadrículas y mandar cada una a un procesador. Tenemos el problema de los puntos que se sitúan a uno y otro lado de los bordes, que pueden tener cierta correlación. Si además puede existir cierta correlación entre celdas, habrá que tenerla en cuenta (capacity computing/HPC) Si asumimos que existe independencia entre las regiones cubiertas por las cuadrículas podremos distribuir el trabajo en un GRID (capability Computing/HTC)
Para ejecutar el programa que simula y/o resuelve un problema debemos utilizar técnicas especiales de programación y librerías especiales del lenguaje de programación que se utilice (normalmente C/C++, Fortran y en menor medida, pero cada vez más Java) para sacar el máximo partido de la HPC y HTC. Para el primer caso (HPC) se mencionaron en la ponencia MPI y OpenMP. Para el segundo (HTC) se tienen plataformas como GLOBUS.
Al final en cualquier caso nuestros trabajos (jobs) van a ocupar un tiempo de ejecución de la infraestructura de computación y deberemos reservarlo y en su caso pagarlo. Las instituciones de investigación suelen compartir sus recursos de computación entre sí y tienen un sistema de selección de trabajos que se pueden mandar con un comité de evaluación formado por expertos. Gracias a las infraestructuras y técnicas descritas hoy en día se puede hacer en minutos lo que antes se tenía que hacer en semanas.
¿Para qué tipo de áreas científicas se utiliza toda esa potencia? En la presentación el ponente citó unas cuantas entre las que se encuentran: física de partículas, física del estado sólido (materiales), astrofísica, química, bioinformática, mecánica cuántica, …
Por otra parte la computación se ha introducido en todas las fases del experimento científico. El preprocesado de los datos extraídos de los instrumentos de medida, cada vez más cuantiosos y complejos, su transmisión, su almacenamiento, su explotación (la extracción del conocimiento) La cantidad ingente de datos que produce cada experimento científico en cualquier campo se ha multiplicado en los últimos años (gracias a los avances en la instrumentación científica y su proliferación)
Se mencionaron una lista de aplicaciones concretas realizadas en España, a nivel europeo y a nivel mundial (que comentaré otro día, ya que ando falto de tiempo, tengo que ir a un concierto …) Estos proyectos Europeos y mundiales ponen de manifiesto una característica muy importante de las infraestructuras GRID: que han traspasado fronteras y han permitido a investigadores de todo el mundo colaborar en complejos experimentos que de otra forma no se podrían haber abordado. La eCiencia tiene una componente de Red Social, una dimensión cooperativa, que junto con la potencia que proporciona la infraestructura supone una nueva era para la investigación científica.
No obstante, el ponente apuntó algunos riesgos. El más sobresaliente en mi opinión fue el de la virtualización de la ciencia. Cada vez se hacen más experimentos virtuales, simulaciones en computador que pretenden demostrar teorías pero cuyos experimentos reales no se pueden realizar por diversos factores (el ponente citó un descubrimiento inesperado realizado con eCiencia que a lo mejor nunca podrá ser corroborado en la realidad, en el hecho concreto de la implosión de una supernova)
Al final de la presentación se realizó un pequeño turno de preguntas y respuestas. En este turno yo planteé el riesgo que existe en el consumo de energía de esta infraestructura para la eCiencia, el hecho de que cada vez existan más nodos de supercomputación construidos con una tecnología cada vez más accesible gracias a las economías de escala y que más actores la utilicen al convertirse en una comodity. El ponente contestó que el riesgo era cierto pero que ya se estaba teniendo en cuenta (existía un doble ranking de potencia y de eficiencia energética) en los nuevos centros que se estaban construyendo y en toda la tecnología que se estaba diseñando para dar una eficiencia energética a estos centros de computación.
A este respecto quiero señalar el concepto de green computing (imagen, vídeo) como una iniciativa de sostenibilidad en el mundo de la computación.

El Instituto de Física de Cantabria (IFCA) es un referente de la supercomputación en eCiencia en España y sin duda es la gran instalación científica de Cantabria en este campo. Además de tener la infraestructura propia para realizar su labor científica y formar parte de la Red de Supercomputación de España, forma parte del GRID europeo. De hecho su labor de investigación en esta tecnología de computación distribuida ha dado lugar a varias publicaciones que se pueden consultar en la web. Entre las actividades y cursos que organiza el instituto de investigación se encuentra uno especialmente relacionado con la conferencia:
- Grids y e-Ciencia 2007. Instituto de Física de Cantabria :: Curso de Postgrado del CSIC
Por otra parte he intentado buscar el paper original del ponente sobre las aplicaciones de la tecnología GRID derivado de su experiencia en el proyecto Delphi del LEP pero no he tenido éxito. No obstante he conseguido dos búsquedas con resultados interesantes en:
- Google
- Google Scholar
con información sobre la tecnología GRID.
Me han quedado en el tintero la enumeración de los retos que tiene por delante la computación aplicada a la ciencia y le evolución futura de esta ciencia para cubrir la ingente demanda de potencia de computación que van a requerir ciertos retos futuros.
En cuanto a la evolución de la computación se está llegando en la potencia de computación a los petaflops y ya se piensa en la exascale computing. Cuando llegue se podrán abordar retos como la simulación de una célula, modelado de la tierra, interpretar por completo el genoma humano, modelado de los sistemas vivos de las moléculas hasta las células, y hasta del propio cerebro del ser humano (ya se están haciendo intentos con cerebros de ratas …
En este último caso tenemos el ejemplo del proyecto Blue-Brain, en el que colabora España a través de la UPM.
El ponente nos dio dos direcciones web, la primera americana y la segunda europea donde se gestan los avances en computación y su aplicación al descubrimiento científico:
- Scientific Discovery through Advanced Computing (SCDAC), un programa del U.S. Department of Energy
- HPC in Europe Taskforce (HET): Towards a new level of High Performance Computing facilities for Europe
Finalmente indicar que se pasó de puntillas sobre el asunto de la computación cuántica, en la que se cree que no se producirán avances significativos en los próximos años, ya que todavía se duda de su aplicación general más allá del propio análisis de los fenómenos cuánticos. Antes llegará la exascale computing (que permitirá además simular computación cuántica para así entenderla mejor)
Una de las cosas que me impactó en la conferencia fue la referencia a la calculadora humana que trabajó en el CERN hasta 1975. Así que me he puesto a investigar sobre el tema.
Tras una primera búsqueda en Google he descubierto que se llamaba Wim Klein (tiene hasta una entrada en la wikipedia), que era un matemático holandés superdotado, y dotado de un gran sentido del humor. Creo que su vida y sobretodo su muerte (asesinado de una puñalada en misteriosas circunstancias en su apartamento de amsterdam en 1986, diez años después de retirarse del CERN)
Se pueden ver una miríada de imágenes y vídeos en la red sobre este personaje. Yo destacaría el vídeo que hay colgado sobre su conferencia demostración en el CERN en 1973 donde muestra sus habilidades y sentido del humor (lástima que yo no entienda el francés!!)
En YouTube hay 41 referencias con su nombre!
Sobre la parte práctica de la eCiencia que se comentó en la conferencia, he repasado las notas que tomé e intentaré ser lo más exhaustivo posible.
Experimentos hechos en el BSC (MareNostrum):
- simulación del confinamiento en un reactor de fusión (CIEMAT) (STELLARATOR TJ-II)
NOTA: En la página del BSC se pueden consultar todas las líneas de investigación y proyectos que se están realizando en:
* Computer Sciencies
* Earth Sciencies
* Life Sciences
* Computer Applications
Proyectos en bioinformática en el European Molecular Biology Laboratory (EMBL), European Bioinformatics Institute (EBI), National Human Genome Research Institute (NHGRI), …:
- The Encode Project
- The Earth’s Proteome (?)
Proyectos prácticos de predicción de catástrofes naturales como las inundaciones en slovakia en donde se pretenden encadenar servicios de monitorización (sistemas de radar atmosférico, satélites), predicción, simulación de modelos con los datos reales de monitorización, toma de decisiones y acciones de protección civil (multidisciplinar) Estos proyectos se desarrollan el proyecto crossgrid (en el que participa el IFCA)
El proyecto de infreaestructura europea para eCiencia (EGEE) (en el que participa el IFCA) La infraestructura Grid de EGEE consiste en unas 20,000 CPU disponibles para los usuarios 24 horas al día y 7 días a la semana, además de unos 5 Petabytes (5 millones de Gigabytes) de almacenamiento de datos, y el mantenimiento de una media de 20,000 trabajos simultáneos. Tal cantidad de recursos disponibles, cambia la forma en la que se llevan a cabo las investigaciones científicas. El uso final de estos recursos depende de las necesidades de los usuarios: gran capacidad de almacenamiento, la banda ancha que ofrece la infraestructura, o la disponibilidad total de la potencia de computación. Este proyecto tiene también aplicaciones financieras (modelos de simulación de bolsa, de negocios, …
Un proyecto muy interesante de tomografía computerizada por ultrasonidos (Ultra Sound Computational Tomography - USCT) que pretende implementar una tecnología no dañina para hacer mamografías de prevención del cáncer de mama. Los rayos-X, que es lo que se emplea ahora, se debe utilizar con cuidado y por ello no se usa de forma intensiva para monitorizar pacientes. La USCT es como una ecografía pero de mayor resolución, ya que los tumores que se pretenden detectar son del entorno de 1mm. La carga computacional viene por el hecho de que para obtener la resolución necesaria hay que enviar un montón de haces de ultrasonidos, recogerlos en un montón de sensores y reconstruir sus trayectorias para luego reconstruir la imagen.
He encontrado la historia en vídeo de la máquina analítica de Babbage:
- Charles Babbage and his Difference Engine
Tirando del hilo he buscado directamente en Youtube y he encontrado cinco enleces relevantes:
1. Charles Babbage and his Difference Engine #2
2. Charles Babbage Analytical Engine
3. Babbage’s Difference Engine No. 2
4. Maker Faire 2008: Babbage’s Difference Engine No. 2 Replica
5. From the Abacus to the Microcomputers
El último videoclip puede ser un complemento perfecto a la primera parte de la conferencia donde se explicó la historia de la computación.
Existen varios proyectos europeos que intentan potenciar el uso de la tecnología GRID como apoyo a la investigación científica en campos como la astronomía, las ciencias de la tierra, la física de altas energías, etc. y su posterior aplicación al mundo de la empresa.
En una nota de prensa del IFCA sobre la conferencia celebrada en Manchester hace un año del Open Grid Formum (OGF20), donde se comunica el premio recibido por la aplicación de simulación del confinamiento magnético en el reactor de fusión (stellarator TJ-II del CIEMAT) se explica muy bien la aplicación de la tecnología GRID a la eCiencia y los proyectos que se han puesto en marcha.
Me pidieron investigar en que se usa la computación en áreas como medicina, computación y arquitectura, pero no encuentro esta respuesta me podrían ayudar?