Héroes del cálculo

Diana Saavedra González

FCCyT

Desde tiempos antiguos, el hombre ha creado máquinas que le permitan realizar cálculos de forma más sencilla y que le faciliten la toma de decisiones, por ejemplo, para conocer, entre otras cosas, el tiempo exacto de siembra o cosecha.

Datado en el siglo I a.C., el mecanismo de Anticitera es considerado por historiadores una de las primeras computadoras analógicas. Fue construida alrededor del año 87 a.C., y contiene discos que representaban las posiciones del Sol y la Luna para cada día, con base en un calendario lunar, detalla Carlos Coello Coello, investigador del Departamento de Computación del Cinvestav, en su libro Breve historia de la computación y sus pioneros. Existen así mismo, relatos de otras máquinas inclusive más complejas que el mecanismo de Anticitera, pero de las cuales no se tienen vestigios.

Hoy en día, las supercomputadoras permiten a científicos, economistas y demás investigadores realizar su trabajo de forma más rápida y sencilla, pues son máquinas cuyo hardware está diseñado para procesar datos en masa en un periodo de tiempo considerablemente menor al que se ocuparía utilizando una computadora de escritorio estándar.

Lo que hacen estas máquinas es que dividen la tarea para que cada procesador realice algún cálculo, reúnen los resultados y los entregan al investigador, quien los analiza para encontrar soluciones a sus planteamientos.

Imagine que a usted le han encargado comprar 100 productos del hogar en el supermercado, si hace la compra solo, tardará muchas horas tratando de completar la misión, pero qué tal si lo acompañan 10 personas para apoyarlo. Cada una buscará 10 productos de un pasillo diferente de la tienda, mientras usted reúne todos los datos y hace el pago en caja. Algo similar pero a una escala mucho más grande y compleja ocurre en las supercomputadoras.

Así, al igual que las computadoras que hay en casi todos los hogares, las supercomputadoras surgieron debido a la necesidad de resolver problemas, como el comportamiento de los movimientos de la bolsa de valores, predecir el clima, los dobleces de las proteínas en el organismo humano en pacientes con Alzheimer, es decir, asuntos cuya resolución requieren una gran cantidad de procesamiento numérico para encontrar respuestas.

Es por esto que en el mundo académico las supercomputadoras son una herramienta muy valiosa porque permiten reducir los tiempos requeridos para realizar el cálculo o la simulación de un problema científico complejo, detalla el maestro en Ciencias, Ricardo Velázquez Castañeda, de la Coordinación General de Servicios de Tecnologías de la Información y las Comunicaciones (CGSTIC) del Cinvestav.

El descubrimiento del bosón de Higgs, considerado uno de los hallazgos de la física moderna más importantes de los últimos tiempos, habría sido imposible sin máquinas capaces de procesar la información para que los científicos pudieran analizarla y encontrar la elusiva partícula encargada de dar masa a la materia. Igualmente, el supercómputo se utiliza para resolver problemas complejos en diversas áreas que van desde aquéllas relacionadas con la biología, la química, la física, la matemática, hasta el comportamiento de ciertos fenómenos en las ciencias sociales.

“Como resultado, la sociedad en general se beneficia de los logros científicos y tecnológicos que se alcanzan, por ejemplo está el desarrollo de vacunas en relativamente poco tiempo”, añade Velázquez Castañeda. Salvador Venegas Andraca, investigador de la Escuela de Ingeniería y Ciencias del Tecnológico de Monterrey, precisa que otro uso que se da a estas máquinas son los cálculos para sistemas cuánticos, la simulación de terremotos y el mundo financiero.

De hecho las primeras supercomputadoras fueron pensadas para trabajar en problemas de carácter financiero, para empresas como IBM, American Express y otras organizaciones dedicadas al cálculo de seguros, donde todo se define con base en probabilidades y estadísticas razonables en torno a modelos probabilísticos complejos.

Existe otra gran rama del uso de estas máquinas, como la proyección de escenarios de conflicto e identificar cuáles son razonables o no y sus posibles consecuencias. Qué pasaría con México en el caso de que haya un conflicto armado entre Estados Unidos y Rusia, o cuáles son las opciones para la economía mexicana si el dólar sube dos pesos o 20 centavos.

“Ese tipo de escenarios son muy importantes de estudiar, primero por las consecuencias prácticas, pero también porque el comportamiento de los sistemas no es lineal. Lo que pasa es que en el mundo financiero se debe mantener la estabilidad y si hay un cambio brusco puede generarse pánico en la población y esos comportamientos es importante modelarlos para estar preparados ante ello”, ejemplifica Venegas Andraca.

Si se quisieran realizar estos cálculos en una PC para el hogar, ésta colapsaría o tardaría tanto en procesar los datos que sería prácticamente imposible realizar el trabajo a tiempo. La propuesta del mercado ante esta avalancha de cálculos es el diseño y construcción de las supercomputadoras o High Performance Computer (HPC), cuyo mantenimiento es costoso y requiere de instalaciones especiales, por lo que sólo empresas como IBM, los centros de investigación o las universidades pueden tenerlas.

Otra solución, de menor costo, que puede ofrecer las capacidades de procesamiento de información similar es la creación de clústers, donde la idea es tomar cientos o miles de procesadores interconectados mediante una red de alta velocidad y baja latencia para trabajar de manera coordinada.

Adicionalmente, los clústers son equipos con un elevado nivel de memoria, almacenamiento y tienen una capacidad de respuesta que puede medirse, actualmente, en centenares de miles de millones de operaciones por segundo (Teraflops, Petaflops, en adelante).

“Una supercomputadora puede o no ser un clúster; una supercomputadora que no es clúster, ya no es escalable, es decir, ya no se le pueden agregar más nodos de procesamiento, mientras que al clúster se le pueden agregar nodos sin límite”, afirma Alberto Hernández García, del Centro Nacional de Supercómputo, del Instituto Potosino de Investigación Científica y Tecnológica.

Un clúster implica agregación de dos o más equipos de cómputo para procesar la información pero de manera distribuida, comenta Fabián Romo, titular de Sistemas y Servicios Institucionales, de la Dirección General de Cómputo y de Tecnologías de Información y Comunicación de la Universidad Nacional Autónoma de México.

“La supercomputadora basada en un clúster implica la ejecución de librerías, aplicaciones y una configuración especial en términos de la distribución de las tareas entre los nodos que lo constituyen, con una baja latencia de comunicación y un uso eficiente tanto de la memoria como de las capacidades de almacenamiento, algo que no necesariamente hace un clúster en su definición más básica”, precisa.

Lo que sucede entonces con el clúster es que se cuenta con muchas computadoras que se ponen a trabajar en línea, repartiendo los trabajos como en una industria o una fábrica.

En su origen, añaden los expertos, la idea del clúster era que había una cantidad considerable de computadoras ordenadas para procesar datos científicos, pero con el tiempo este concepto se extendió a lo que hoy es conocido como grid computing que implica tener computadoras no solamente dedicadas a una sola tarea, sino grandes equipos utilizados en otros propósitos.

Las máquinas que son empleadas para servicios educativos en una universidad (pagos, Word, SAT, etcétera) en realidad utilizan 10 o 20 por ciento de la memoria de la máquina, desperdiciando un gran poder del CPU.

Tanto para la programación de supercomputadoras o clústers se requiere de programadores altamente experimentados pues no se trata de una tarea trivial, enfatizan los especialistas.

En el caso de una supercomputadora, el programador debe saber repartir las cargas de trabajo en los diferentes procesadores de la máquina, mientras que en el caso del clúster se necesita de un buen conocimiento de redes porque tendrá que realizar la distribución de las tareas.

China, Estados Unidos, Reino Unido y Suiza tienen las mejores supercomputadoras del mundo de acuerdo con la organización del Top 500, que ofrece de manera pública en su sitio de internet la relación de todas las computadoras que entran en su clasificación.

El listado es elaborado desde 1993 con ayuda de expertos informáticos de alto rendimiento, científicos computacionales, fabricantes y la comunidad de internet en general, los cuales suelen responder un cuestionario especializado elaborado por personajes como Erich Strohmaier y Horst Simon, del Centro de Investigaciones Científicas Computacionales del Departamento Nacional de Energía de Estados Unidos.

Se trata de una lista sobre los equipos de más alto rendimiento que es de gran interés para los fabricantes y usuarios, ya que puede ayudar facilitar el establecimiento de colaboraciones o el intercambio de datos y software.

El listado más reciente, presentado en noviembre de 2016, revela que el Centro Nacional de Supercómputo Wuxi, en China, es el que posee la supercomputadora más potente del mundo, mientras que el centro Guangzhou –también en esa nación– ostenta el segundo lugar. Según los autores, China y Estados Unidos luchan por tener el mayor número de equipos de supercómputo, pues ambas tienen 171 equipos clasificados, representando dos tercios de la lista.

El caso nacional

Al igual que muchas naciones del mundo, nuestro país cuenta con supercomputadoras que son equipos tipo clúster dedicados a la investigación y la industria privada.

El Consejo Nacional de Ciencia y Tecnología creó en 2006 el Centro Nacional de Supercómputo (CNS), que se ubica en el Instituto Potosino de Investigación Científica y Tecnológica, en el estado de San Luis Potosí.

En 2015 se creó el Laboratorio Nacional de Cómputo de Alto Desempeño, donde colaboran UNAM, UAM y Cinvestav, que tienen la mayor experiencia en el manejo de supercomputadoras, las cuales se ligan a través de fibra óptica y equipo que conecta a las tres instituciones para crear la Red Delta Metropolitana.

Cabe destacar que aunque hay supercomputadoras en México de muy alta capacidad, estar en la lista del Top 500 implica hoy en día disponer de un equipo de 350 Teraflops o más, aclara Fabián Romo.

Las mejor posicionadas en México

Abacus, adquirida por el Cinvestav en 2014, es un equipo que por sus características ha sido comparado con uno similar de la NASA y fue considerada una de las 150 más rápidas de ese año.

El Cinvestav también cuenta con Xiuhcoatl, un equipo híbrido inaugurado en 2012 que fue uno de los más grandes e importantes del país, y actualmente tiene un procesamiento de alrededor de 250 Teraflops.

Le sigue Miztli, equipo que inició operaciones en 2013 y pertenece a la Dirección de Cómputo de Tecnologías de Información y Comunicación de la UNAM y, de hecho, sustituyó a la supercomputadora Kan Balam.

También está la del Laboratorio Nacional de Supercómputo del Sureste de México, en la Benemérita Universidad Autónoma de Puebla, con Cuetlaxcoapan, compuesta por un clúster estándar de cálculo con procesadores Intel Xeon y uno de procesadores Intel Xeon Phi Knights Land.

Otro de los equipos de supercómputo en México más reconocidos es Aitzaloa, de la UAM, que en 2008 llegó a ser el más potente de América Latina, pues contaba con 2 mil 160 núcleos en procesadores Intel Xeon en E5272 QuadCore y 100TB de almacenamiento. Actualmente, éste ha sido relevado por el clúster Yolta, con capacidad de 152 Teraflops.

Estos equipos procesan proyectos de investigación relacionados con nanotecnología, comportamientos y conexiones para fibra óptica, relaciones sobre la diabetes tipo 2, caracterización de estructuras relacionadas con el Alzheimer, análisis tridimensionales de los discos de galaxias espirales, cálculos teóricos sobre química cuántica computacional y caracterización de genomas, entre muchos otros.

Miztli atiende en promedio 130 proyectos de investigación anualmente y Xiuhcoatl acepta alrededor de 60.

Para los científicos que trabajan en instituciones académicas o en centros de investigación, añade

Venegas Andraca, el acceso es relativamente sencillo, pues se trata de equipos públicos que deben servir a la ciencia mexicana, ya que no se puede rentar de forma privada una infraestructura así. “Hay justificación de tener que utilizar una supercomputadora para resolver problemas de ingeniería.

Para ellos es que está instalada la plataforma. No necesariamente es la más rápida del planeta o de América, pero se puede utilizar”, comenta. La historia, sin embargo, se torna diferente cuando de empresas privadas se trata, pues deben pagar por acceder y usar el equipo. También es por eso que la iniciativa privada busca esporádicamente hacer uso de los equipos públicos. Xiuhcoatl, por ejemplo, recibe una o dos solicitudes de las empresas anualmente, por lo que para Velázquez Castañeda es necesario hacer mayor labor para vincularse con la industria.

Para Romo esto se debe también a que las empresas que usan supercómputo de forma intensa tienen sus propios departamentos e infraestructura, como son las industrias químicas o las armadoras de automóviles.

Los que no tienen supercomputadoras en el sector privado tampoco poseen el personal capacitado para la utilización de este tipo de infraestructura.

En un esfuerzo por integrar también a todos los actores de esta área para potenciar el uso de los equipos con los que el país cuenta, recientemente fue creada la Red Mexicana de Supercómputo (Redmexsu).

En esta red participan la Agencia Espacial Mexicana, la BUAP, el Centro de Investigación en Matemáticas, el CNS, el Instituto Nacional de Astrofísica, Óptica y Electrónica, así como varias universidades y centros de investigación más, incluyendo a empresas privadas.

Uno de sus primeros pasos será reunirse con miembros del Congreso de la Unión para que los investigadores expliquen a los legisladores la importancia de crear más infraestructura de supercómputo en el país.

Fuente: Avance y Perspectiva