domingo, 3 de diciembre de 2017

Supercomputación preparada para un aumento de velocidad masivo


La supercomputadora K de Japón es actualmente la décima más rápida en la lista Top500, 
pero primero por una medida alternativa. 
Crédito: Jiji Press / AFP / Getty

Los planes para construir máquinas 'exascale' están avanzando, pero todavía enfrentan grandes desafíos tecnológicos.

A fines de julio, los trabajadores del Laboratorio Nacional Oak Ridge en Tennessee comenzaron a llenar una sala cavernosa con las características de un gigante computacional: fila tras fila de unidades de computación prolijamente apiladas, unos 290 kilómetros de cable de fibra óptica y un sistema de refrigeración capaz de llevar el agua de una piscina.

El Departamento de Energía de los EE. UU. (DOE) espera que cuando esta máquina de 280 millones de dólares, llamada Summit, esté lista el año próximo, le permita a Estados Unidos recuperar un título que no ha tenido desde 2012, sede del superordenador más veloz de Estados Unidos. el mundo.

Summit está diseñado para funcionar a una velocidad máxima de 200 petaflops, capaz de atravesar hasta 200 millones de millones de "operaciones de punto flotante", un tipo de cálculo aritmético, cada segundo.

Eso podría hacer que Summit sea un 60% más rápido que el actual poseedor del récord mundial en China.

Pero para muchos científicos informáticos, la finalización de Summit es simplemente una vuelta de una carrera mucho más larga.

En todo el mundo, equipos de ingenieros y científicos apuntan al siguiente salto en la capacidad de procesamiento: computadoras 'exascale', capaces de funcionar a una asombrosa cantidad de 1000 petaflops o más.

Ya, cuatro equipos nacionales o internacionales, que trabajan con las industrias de computación en sus regiones, están presionando hacia este objetivo ambicioso.

China planea tener su primera máquina de exascale funcionando para 2020. Estados Unidos, a través del Proyecto de Computación Exascameral del DOE, apunta a construir al menos uno para el 2021.

Y se espera que la Unión Europea y Japón estén muy cerca.

Los científicos anticipan que las computadoras de exascala les permitirán resolver problemas actualmente difíciles en campos tan variados como la ciencia del clima, la energía renovable, la genómica, la geofísica y la inteligencia artificial.

Eso podría incluir el emparejamiento de modelos detallados de química de combustible y motores de combustión para identificar más rápidamente las mejoras que podrían reducir las emisiones de gases de efecto invernadero.

O podría permitir simulaciones del clima global a una resolución espacial de hasta un kilómetro.

Con el software adecuado en la mano, "habrá una gran cantidad de ciencia que podemos hacer y que ahora no podemos hacer", dice Ann Almgren, científica computacional del Laboratorio Nacional Lawrence Berkeley en California.

Pero alcanzar el régimen de exascala es un tremendo desafío tecnológico.

Los incrementos exponenciales en el rendimiento de la informática y la eficiencia energética que una vez acompañaron la ley de Moore ya no están garantizados, y se necesitan cambios agresivos a los componentes de la supercomputadora para seguir obteniendo ganancias.

Además, una supercomputadora que rinde bien en una prueba de velocidad no es necesariamente una que sobresalga en aplicaciones científicas.

El esfuerzo por llevar la informática de alto rendimiento al siguiente nivel está forzando una transformación en cómo se diseñan los supercomputadores y se mide su desempeño.

"Este es uno de los problemas más difíciles que he visto en mi carrera", dice Thomas Brettin, un científico informático en el Laboratorio Nacional Argonne en Illinois, que está trabajando en software médico para máquinas exascale.

Hardware acelerado

Tendencias más amplias en la industria de la computación están dando forma a la ruta para exascale computadoras.

Durante más de una década, los transistores han estado tan empaquetados que los chips informáticos no pueden ejecutarse a velocidades más rápidas.

Para evitar esto, las supercomputadoras actuales se apoyan fuertemente en el paralelismo, usando bancos de chips para crear máquinas con millones de unidades de procesamiento llamadas 'núcleos'.

Una supercomputadora puede hacerse más poderosa al juntar más de estas fichas.

Pero a medida que estas máquinas crecen, la administración de datos se convierte en un desafío.

Mover datos dentro y fuera del almacenamiento, e incluso dentro de núcleos, requiere mucha más energía que los cálculos mismos.

Según algunas estimaciones, hasta el 90% de la energía suministrada a una computadora de alto rendimiento se utiliza para el transporte de datos.

Eso ha llevado a algunas predicciones alarmantes.

En 2008, en un informe para la Agencia de Proyectos de Investigación Avanzada de Defensa de EE. UU.,

Un equipo encabezado por el científico informático Peter Kogge concluyó que una computadora exascale construida a partir de tecnologías previsibles necesitaría gigavatios de potencia, quizás de una planta nuclear dedicada (véase go.nature. com / 2hs3x6d).

"El poder es el problema número uno, dos, tres y cuatro con la computación exascale", dice Kogge, profesor de la Universidad de Notre Dame en Indiana.

En 2015, a la luz de las mejoras tecnológicas, Kogge redujo esta estimación a entre 180 y 425 megavatios.

Pero eso todavía es mucho más poder que el que usan los supercomputadores actuales; el sistema que lidera el ranking mundial actual, el Sunway TaihuLight de China, consume alrededor de 15 megavatios.

"El informe de Peter fue importante porque elevó la alarma", dice Rick Stevens, director de laboratorio asociado para informática, medioambiente y ciencias de la vida en Argonne.

Gracias en parte a las proyecciones de Kogge, dice, "ha habido mucha fermentación intelectual en torno a la reducción del poder".

Pero en los últimos años, dice Stevens, una serie de nuevas tecnologías ha ayudado a reducir el consumo de energía.

Un avance clave ha sido acercar la memoria a los núcleos informáticos para reducir la distancia que deben atravesar los datos.

Por razones similares, los ingenieros también han construido hacia arriba, acumulando matrices de memoria de alto rendimiento en lugar de distribuirlas en dos dimensiones.

Los supercomputadores también están incorporando cada vez más memoria flash, que no requiere energía para mantener los datos, como lo hacen algunos otros tipos de memoria ampliamente utilizados.

Y los diseñadores de circuitos han hecho posible apagar circuitos en chips cuando no están en uso, o cambiar su voltaje o frecuencia, para ahorrar energía.

Cambios más fundamentales en los procesadores también han marcado la diferencia.

Un desarrollo importante ha sido la adopción de versiones de propósito general de unidades de procesamiento de gráficos, o GPU, que se destacan por el tipo de procesamiento de números intensivo en datos que se necesita para aplicaciones como la representación de videojuegos.

Las computadoras que incorporan GPU, junto con unidades de procesamiento central (CPU) para dirigir el tráfico, son particularmente competentes en simulaciones físicas.

Desde el punto de vista de la programación, dice Katherine Yelick del Laboratorio Nacional Lawrence Berkeley, los cálculos necesarios para animar las olas del océano en una película como Finding Nemo no son dramáticamente diferentes de la simulación de la dinámica atmosférica en un modelo climático.

Se han construido otros supercomputadores con procesadores 'livianos', que descartan algunas capacidades a favor de la velocidad y la eficiencia energética.

China utilizó el esquema de peso ligero para construir Sunway TaihuLight.

La máquina ocupó el primer puesto con procesadores de fabricación propia poco después de que Estados Unidos impusiera un embargo comercial (en 2015) por la venta de chips a los centros de supercomputación en China.

Los procesadores ligeros Sunway no son radicalmente diferentes de las CPU de jardín, dice Depei Qian, un científico informático de la Universidad de Beihang en Beijing, que está ayudando a gestionar los esfuerzos exascale de China.

Los núcleos individuales están simplificados, con memoria local limitada y velocidades más bajas.

Pero con muchos trabajando juntos, la máquina en general es más rápida.

El objetivo de uso de electricidad del DOE para su primer sistema de exascale, llamado Aurora, es de 40 megavatios, con margen para un máximo absoluto de 60 megavatios.

El gigante informático Intel se ha encargado de fabricar los chips para la máquina, y la compañía de supercomputación Cray, con sede en Seattle, Washington, ha sido subcontratada para ensamblar el sistema completo. Los detalles sobre cómo se alcanzará ese objetivo aún no son públicos.

Pero Al Gara, arquitecto jefe de informática de alto rendimiento y exascale en Intel en Santa Clara, California, dice que la compañía está trabajando en una nueva plataforma, que incluye una nueva microarquitectura de chips, diseñada para minimizar el uso de energía.

Otros tienen objetivos más agresivos.

Qian dice que China apuntará a tan solo 30 megavatios para su primer sistema de exascale.

Con un plazo posterior de 2022 o 2023 y por lo tanto más tiempo para trabajar en su sistema, el proyecto europeo podría llegar a 10 megavatios, dice Jean-Philippe Nominé, especialista en informática de alto rendimiento en CEA, las energías alternativas francesas y Atomic. Comisión de Energía en Saclay cerca de París.

Pero la eficiencia energética es solo un factor: también está la cuestión del rendimiento.

El significado de "exascala" se ha convertido en una cuestión de búsqueda de almas para los científicos informáticos.

La definición más simple es una computadora que puede procesar un conjunto específico de ecuaciones de álgebra lineal a una tasa de 1 exaflops, equivalente a 1.000 petaflops.

Un grupo de investigadores ha utilizado este punto de referencia, llamado LINPACK, para clasificar los supercomputadores en la lista Top500 desde 1993.

LINPACK se ha convertido en una forma abreviada de rendimiento de supercomputadora, y desde junio de 2013, las supercomputadoras construidas en China han encabezado la lista (ver 'Saltos constantes').

Pero la velocidad no es todo, dice Jack Dongarra, un científico informático de la Universidad de Tennessee en Knoxville y fundador de la lista Top500.

"Todo el mundo quiere los derechos de fanfarronear", dice Dongarra.

Pero compara las puntuaciones máximas de los supercomputadores con la velocidad más alta en el velocímetro de un automóvil.

Aunque la capacidad de golpear 300 kilómetros por hora puede parecer impresionante, lo que realmente le da valor a la mayoría de los autos es cómo se desempeñan durante las unidades diarias en el límite de velocidad.



De manera similar, la velocidad de una computadora al pasar a través de operaciones específicas de álgebra lineal no necesariamente refleja su capacidad para predecir actividad de drogas, entrenar redes neuronales o realizar simulaciones complejas.

Todos plantean diferentes demandas de potencia de procesamiento, sobre qué tipos de cálculos se pueden abordar en paralelo y sobre la cantidad de datos que se deben mover.

El Top500 "no mide qué tan bien funcionará el hardware en aplicaciones reales", dice Barbara Helland, directora asociada de investigación científica avanzada en la Oficina de Ciencia del DOE.

A pesar de eso, los mejores supercomputadores de hoy han sido "diseñados para ofrecer el rendimiento más alto de LINPACK", dice Shekhar Borkar, un científico informático que se retiró de Intel el año pasado.

Una aplicación científica del mundo real podría usar el 10% de esa velocidad, pero solo 1.5-3% es más típico, dice Borkar.

Él espera que esta limitación persista en la exascala.

En los Estados Unidos, la creciente preocupación por esta desconexión entre las velocidades máximas y la utilidad ha llevado a una definición diferente, impulsada por las aplicaciones, de la computación exascal.

El DOE busca que sus primeras computadoras exascale funcionen unas 50 veces mejor que el sistema actual más rápido de los Estados Unidos: el 17.6-petaflops (medido por LINPACK) Titan.

Eso podría significar, por ejemplo, seleccionar 50 veces más materiales solares potenciales en un momento dado, o modelar el clima global con un factor de 50 mayor resolución espacial.

Para lograr estos logros, el DOE está trabajando con cientos de investigadores de la academia, el gobierno y la industria.

Ha creado 25 equipos, cada uno encargado de diseñar un software que pueda explotar una máquina de exascala para resolver una cuestión científica o de ingeniería específica, como el diseño del motor. Stevens dice que la métrica principal de éxito para los supercomputadores de exascala de EE. UU. Será una "media geométrica" ​​de su rendimiento en las 25 aplicaciones.

En el desarrollo de tales computadoras, la agencia también está tratando de mejorar la colaboración entre las personas que usan los supercomputadores, los que escriben el software y las empresas de semiconductores responsables de la construcción de hardware.

Con el proyecto exascale del DOE, "estamos uniendo a estas comunidades.

Podemos forzar esa convergencia ", dice Doug Kothe, científico informático del Laboratorio Nacional de Oak Ridge que lidera el proyecto.

Esta estrategia de unir usuarios y constructores, llamada codiseño, no es nueva.

Pero, dice Kothe, "no se ha hecho de una manera tan amplia y profunda como se está haciendo ahora".

"He estado en estos 20 años.

Esta es la primera vez que veo este tipo de coordinación y apoyo ", dice Thuc Hoang, gerente de programa de investigación y operaciones de supercomputación en la Administración Nacional de Seguridad Nuclear (NNSA) en Washington DC.

Los Estados Unidos no están solos fomentando colaboraciones entre científicos e ingenieros en estos campos dispares.

El programa de supercomputación de China, que ha sido criticado por priorizar la velocidad bruta sobre la ciencia, también utiliza el codiseño en sus esfuerzos de exascale, con un enfoque en 15 aplicaciones de software.

"Tenemos que conectar el desarrollo de hardware y software con los científicos del dominio", dice Qian.

Prueba del futuro

Pero a Borkar y otros observadores les preocupa que los primeros sistemas de exascala en China y Estados Unidos sean máquinas de riesgo que no funcionarán bien para aplicaciones reales.

"Ofrecer un mayor rendimiento de la aplicación significa diseñar las máquinas de manera diferente y más realista", dice Borkar.

Eso, agrega, "definitivamente comprometería el rendimiento de LINPACK, haciéndolos quedar mal desde [un] punto de vista de comercialización".

(Borkar señala que, aunque todavía consulta al gobierno de EE. UU. Y a empresas privadas, estos puntos de vista son suyos).

Borkar dice que desea que los Estados Unidos, en particular, se hayan aferrado a los planes que se forjaron por primera vez en 2008, que habrían utilizado el cambio exascale como una oportunidad para repensar la informática de manera más radical.

"Los enfoques evolutivos fracasarán", dice.

"Se necesita un enfoque revolucionario".

Stevens dice que se están produciendo grandes cambios a puertas cerradas.

El DOE completará su contrato oficial con Intel alrededor de o después de Navidad, él espera.

Hasta entonces, él dice,

"No puedo decirte lo que estamos haciendo, pero es muy innovador".

Pero hay límites a la agresiva supercomputación que se puede impulsar.

Con cada nueva generación de superordenadores, los programadores deben construir sobre el software que tienen.

"Tenemos código heredado", dice Hoang.

El programa que ella opera en la NNSA depende de supercomputadoras para mantener el arsenal de los Estados Unidos en cumplimiento de la prohibición de probar armas nucleares.

"Debido a lo que mi oficina es responsable, no podemos simplemente dejar caer viejos códigos que nos llevó una década para desarrollar y validar".

Las restricciones presupuestarias también han dictado planes de exascala de los Estados Unidos.

Aurora tenía la intención de ser una máquina de petaflops de 180 peones, y comenzar a operar en Argonne en 2018. Pero la agencia no tenía suficiente dinero para comenzar a poner en servicio hardware exascale.

En lugar de emitir una solicitud pública de propuestas, el DOE cambió el contrato de Intel y Cray para Aurora a una máquina exascale, que se suministrará para el 2021.

Stevens confía en que tienen la tecnología en proceso para entregarla.

Mientras tanto, otros programas exascale están progresando.

Todavía en el objetivo para llegar a la exascala primero, en 2020, es China.

El país está evaluando tres prototipos.

Dos, que se construyen en las instalaciones de supercomputación que albergan las máquinas más rápidas de ese país, probablemente sean variaciones de la arquitectura liviana en la que el país ha sido pionero, dice Dongarra.

El tercero está siendo construido por Sugon, una empresa de computación de Pekín que tiene una relación con el desarrollador de chips de alto rendimiento AMD, y por lo tanto tiene acceso a las microarquitecturas de los caballos de batalla de AMD.

Esta máquina, piensa Dongarra, probablemente tendrá nuevas características y se diferenciará de los pesos ligeros.

Al mismo tiempo, los investigadores están considerando qué se necesitará para superar la exascala y lograr supercomputadores aún más rápidos y de mejor rendimiento en las próximas décadas.

Producir esa próxima generación de supercomputadores podría significar adoptar tecnologías que todavía están en sus primeras etapas: circuitos neuromórficos, tal vez, que se basan en el funcionamiento de las neuronas en el cerebro o la computación cuántica.

Pero la principal preocupación de muchos investigadores es asegurarse de que puedan entregar los sistemas prometidos de exascala, y que las aplicaciones científicas desarrolladas para ellos funcionen en el momento en que se enciendan.

"Haciendo que [exascale] funcione", dice Helland.

"Eso es lo que me mantiene despierto por la noche".

doi: 10.1038 / d41586-017-07523-y

Katherine Bourzac
nature.com


No hay comentarios: