Servers in a data center

4 cosas que los administradores de centros de datos pueden aprender de los superordenadores más rápidos

Si preguntásemos a cualquier persona en la calle qué cree que es la supercomputación, posiblemente un alto porcentaje de las respuestas harían referencia a ejemplos de películas populares, y normalmente de pésima reputación. Desde HAL 9000 (2001: Una odisea del espacio) hasta VIKI de Yo, Robot e incluso el Skynet de Terminator, la cultura popular suele considerar a los superordenadores como sistemas sensibles que han evolucionado y se han rebelado contra la humanidad.

Dígaselo a los investigadores del Laboratorio Nacional Lawrence Livermore o del Servicio Meteorológico Nacional, y las carcajadas de burla resultarán sonrojantes. Lo cierto es que los superordenadores de la actualidad están muy lejos de la autoconciencia y, esencialmente, su única IA es una exagerada barra de búsqueda de explora enormes conjuntos de datos.

En la actualidad, los superordenadores alimentan multitud de aplicaciones que se sitúan a la vanguardia del progreso: desde la explotación del petróleo y gas hasta los pronósticos meteorológicos, y desde los mercados financieros hasta el desarrollo de nuevas tecnologías. Los superordenadores son los Lamborghini o los Bugatti del mundo informático, y en Kingston prestamos muchísima atención a los avances que amplían las fronteras de la computación. Desde el uso y ajuste de las DRAM hasta los avances en firmware para administrar matrices de almacenamiento haciendo hincapié más en la uniformidad de las velocidades de transferencia y latencia que en los valores máximos, nuestras tecnologías están profundamente influidas por la vanguardia de la supercomputación.

De manera similar, hay muchas cosas que los administradores de centros de datos pueden aprender de la supercomputación a la hora de diseñar y gestionar sus infraestructuras, y también cómo seleccionar mejor los componentes que les permitirán futuros avances sin necesidad de profundas reformas.

Servidor con líneas brillantes representando una red
1. Los superordenadores han sido diseñados específicamente para uniformidad

A diferencia de la mayoría de las plataformas informáticas en la nube, como Amazon Web Services o Microsoft Azure, que han sido diseñadas para ejecutar diversas aplicaciones que pueden utilizar recursos e infraestructuras compartidos, la mayoría de los superordenadores han sido diseñados para necesidades específicas. La actualización más reciente de la lista de superordenadores más rápidos del mundo (de dominio público y desclasificados) TOP500 no solamente indica las ubicaciones y velocidades de las instalaciones, sino también su campo de aplicación principal.

Once de las doce principales se dedican a aplicaciones de investigación energética, ensayos nucleares y defensa. La duodécima es Frontera, un nuevo sistema de computación a petaescala financiado por la NSF instalado en el Centro de Computación Avanzada de la Universidad de Texas, que proporciona recursos académicos a investigadores de ciencias e ingenierías. De los 20 superordenadores siguientes de la lista de TOP500, casi todos están dedicados a aplicaciones gubernamentales de defensa e inteligencia. En gran medida, las máquinas que ocupan los puestos entre el 30 y el 50 se dedican a los pronósticos meteorológicos. Las últimas 50 de las 100 principales son una combinación de aplicaciones informáticas corporativas (NVIDIA, Facebook y otros), pronósticos meteorológicos de media escala, programas espaciales, exploración de petróleo y gas, y usos académicos y gubernamentales específicos.

Estas máquinas no son equipos estándar. Su desarrollo personalizado ha sido encargado especialmente a fabricantes como Intel, Cray, HP, Toshiba e IBM, específicamente para que ejecuten determinados tipos de cálculos basados en conjuntos de datos muy específicos, tanto en tiempo real como de manera asíncrona.

Se les han definido umbrales de latencia admisibles:

  • Recursos informáticos predefinidos que aprovechan millones de núcleos de procesamiento
  • Con velocidades de reloj de entre 18.000 y 200.000 teraFLOPS.

Sus capacidades de almacenamiento se miden en exabytes, mucho más allá de los petabytes de los modernos almacenes de datos.

Los sistemas como el Frontera no solo tienen que funcionar a una carga de computación pico, sino leer de manera uniforme vastos volúmenes de datos para llegar a un resultado. De hecho, un tope en el rendimiento informático podría provocar errores en los resultados, por lo cual el énfasis se pone en la uniformidad.

Hoy en día, lo primero que debe preguntarse un administrador del centro de datos es “¿Qué vamos a hacer con el sistema?” para configurar su arquitectura, gestionar los recursos y construirlo sobre la base de niveles a prueba de fallos predecibles. Administrar un centro de datos que ejecuta un conjunto de escritorios virtuales es muy diferente a hacerlo de un centro de llamadas de emergencia o de sistemas de control de tráfico aéreo. Cada uno tiene diferentes necesidades, demandas, contratos de nivel de servicio y presupuestos, por lo cual deben ser diseñados en consecuencia.

Del mismo modo, es necesario considerar cómo conseguir un rendimiento uniforme si necesidad de compilaciones personalizadas. Hay empresas que, como Amazon, Google y Microsoft, cuentan con los presupuestos necesarios para diseñar infraestructuras de almacenamiento o de computación personalizadas. No obstante, la mayoría de los proveedores de servicios tienen que ser más selectivos con el hardware existente.

Por lo tanto, es necesario que más administradores de centros de datos establezcan criterios estrictos para las normas de rendimiento que aborden la calidad de servicio y garanticen que se enfatice no solo la velocidad de cálculo y la latencia, sino también la consistencia.

Servidor con líneas brillantes representando una red
2. Tu tiempo real no es mi tiempo real

En la mayoría de las aplicaciones de supercomputación, la mayoría de las instancias de datos en tiempo real tienen importantes implicaciones. Desde interrumpir una reacción nuclear hasta los datos de telemetría para el lanzamiento de un cohete, la latencia de computación puede tener efectos catastróficos. Y estamos hablando de conjuntos de datos enormes. Y estos flujos no proceden desde una única fuente, sino que por lo general proceden de una red de nodos de información.

No obstante, los datos son efímeros. Cuando trabajamos con canales en tiempo real, la mayoría de los datos no se mantienen por siempre. Son escritos, y seguidamente sobreescrito, con una vida útil signada por escrituras y sobreescrituras secuenciales. Los datos en tiempo real cambian continuamente, y muy pocas aplicaciones necesitan mantener almacenado cada bit desde el inicio de los tiempos. Los datos son procesados en lotes, computados para crear un resultado (sea este un promedio, un modelo estadístico o un algoritmo), y es ese resultado el que se guarda.

Veamos, por ejemplo, las predicciones del superordenador de la National Oceanographic and Atmospheric Administration (NOAA, Administración Nacional Oceanográfica y Atmosférica). Siempre se producen cambios continuos en los factores meteorológicos, como las precipitaciones, la temperatura atmosférica y del terreno, la presión barométrica, la hora del día, los efectos solares, el viento, e incluso cómo se van transformando sobre el terreno. Esto cambia cada segundo y es comunicado como flujo de información en tiempo real. Pero el National Weather Service (NWS, Servicio Meteorológico Nacional) de la NOAA no necesita estos datos brutos para siempre. ¡Lo que necesita son modelos de pronósticos! A medida que toma forma el sistema global de predicción (GFS), los nuevos datos canalizados a través del mismo general pronósticos más exactos y actualizados.

Además, los meteorólogos locales que comparten y reciben datos desde el NWS no necesitan acceder a todo el conjunto global de datos meteorológicos. En su lugar, limitan sus modelos a áreas locales. Esto les permite complementar los datos del NWS con estaciones meteorológicas locales, lo cual aporta información detallada de microclimas y agiliza pronósticos locales más exactos mediante la creación de lotes, que se computan para generar un resultado (que puede ser un promedio, un modelo estadístico), que es lo que se guarda.

Lo mismo podría decirse de las operaciones bursátiles, o de los modelos financieros, que funcionan con medias móviles. En cada caso, incorporan indicadores específicos y desencadenantes de acciones, basados en parámetros específicos correspondientes a los umbrales admisibles de comportamiento de los mercados. Diseñar un sistema que utiliza datos en “tiempo real” no implica que tenga que almacenar todo lo que ingiere, aunque debería aprovechar la memoria de acceso aleatorio no volátil (NVRAM) y la memoria de acceso aleatorio dinámico (DRAM) para guardar en caché y procesar los datos sobre la marcha para, posteriormente, enviar el resultado computado al almacenamiento.

Ilustración de chip de memoria Flash con huellas de circuitos brillantes
3. Umbrales de latencia, Flash NAND y ajuste de la DRAM

La mayoría de los umbrales de latencia se configuran debido a las demandas de las aplicaciones. En entornos bursátiles, los segundos suponen millones, si no miles de millones, de dólares. En cuanto a las predicciones meteorológicas y el seguimiento de huracanes, puede implicar la decisión de evacuar o no Nueva Orleáns o Houston.

Los superordenadores funcionan con una carga a priori de nivel de servicio, sea esta latencia, recursos informáticos, almacenamiento o ancho de banda. La mayoría emplea computación sensible a los fallos, merced a la cual el sistema puede reencaminar los flujos de datos para conseguir condiciones de latencia óptima (sobre una base de frecuencia de reloj de 𝛱+Δmáx), pasando a modelos informáticos asíncronos, o priorizar recursos informáticos para generar suficiente potencia de procesamiento o anchura de banda para los trabajos.

Tanto si trabaja con estaciones de trabajo de alto nivel como con servidores «iron», HPC y cargas de trabajo científicas, los grandes ordenadores y los macrodatos requieren enormes cargas de salida de DRAM. Los superordenadores como el Tianhe-2 emplean enormes cargas de salida de DRAM combinadas con tarjetas aceleradoras especializadas. La manera en que la supercomputación afina el hardware y el marco controlador es exclusiva del diseño de la aplicación. A menudo, las tareas computacionales específicas, en las que el acceso al disco genera enormes atascos con los requisitos de RAM, conllevan que la DRAM resulte poco práctica, aunque son lo bastante pequeñas como para admitir una Flash NAND. Además, los clústeres de FPGA resultan ajustados por carga de trabajo específica con el objeto de garantizar que conjuntos de datos voluminosos cumplan sus objetivos de rendimiento si tienen que utilizar soportes tradicionales para recuperar datos.

Los equipos colaboradores de la Universidad de Utah, el Laboratorio Lawrence Berkeley, la Universidad del Sur de California y el Laboratorio Nacional Argonne han demostrado que los nuevos modelos de ajuste automático de rendimiento (o autoajuste) son un medio eficaz para posibilitar la portabilidad de rendimiento entre arquitecturas. Más que depender de un compilador capaz de posibilitar un rendimiento óptimo en las más avanzadas arquitecturas multinúcleo, los kernels y las aplicaciones de ajuste automático pueden ajustar la CPU, la red y el modelo de programación de destino.

Ilustración de trabajador de TI con casco con un portátil delante de una pantalla
4. Múltiples capas para resistencia a fallos

La distribución de energía dentro del centro de datos de HPC resulta cada vez más complicada, en especial con infraestructuras que son aprovechadas como recursos compartidos. Tanto en las infraestructuras dedicadas como en las provisionadas como servicio, los centros de datos deben garantizar un funcionamiento continuo y reducir los riesgos de dañar componentes de hardware frágiles en caso de desperfectos de alimentación, picos o variaciones en la demanda pico.

Los arquitectos utilizan una combinación de transformadores de distribución de pérdidas:

  • Distribución de alimentación de CC y respaldos de UPS,
  • Trigeneración (generación de electricidad a partir del calor para almacenar en copia de seguridad)
  • Monitorización activa
“Guardar, y guardar con frecuencia” es el mantra de cualquier aplicación, y lo mismo es válido para los centros de datos en los que “copia de seguridad” se convierte en el concepto operativo.

Hoy en día, la mayoría de los centros de datos funcionan con una estructura RAID de alto nivel que garantiza las escrituras continuas y prácticamente simultáneas en las matrices de almacenamiento. Además, las infraestructuras de HPC aprovechan un gran volumen de NVRAM para procesar datos en caché, que son flujos de datos que no se dirigen a las matrices de almacenamiento, o bien información procesada en paralelo que crea un uso básico en disco que libera recursos informáticos adicionales. El anteriormente mencionado sistema Frontera aprovecha 50 PB de la capacidad básica total. Los usuarios con requisitos elevados de anchura de banda o de IOPS podrán solicitar una asignación del sistema de archivos NVMe (memoria exprés no volátil) integral con una capacidad aproximada de 3 PB, y un ancho de banda de ~1,2 TB/s.

Esta constante copia de seguridad en RAID para almacenamiento, así como el procesamiento en caché de los búfers de NVMe, dependen del total de umbrales de E/S de los controladores del dispositivo, y del total disponible para la anchura de banda disponible o provisionada para el almacenamiento/copia de seguridad remota.

Además, la mayoría de las infraestructuras de HPC eliminan las posibilidades de desperfectos de hardware con unidades giratorias al adoptar matrices de estado sólido y bloques de almacenamiento Flash. Estas soluciones de almacenamiento permiten obtener niveles de IOPS homogéneos y tienen latencias previsibles que se sitúan en los umbrales de latencia específicos de la aplicación. Asimismo, muchos superordenadores aprovechan múltiples bibliotecas de cintas (con capacidad escalable hasta un exabyte, o más), con el objeto de conseguir un nivel de archivado de datos fiable por cada bit procesado y almacenado.

Muchos también garantizan que, en caso de que fallasen todos los demás eslabones de la cadena, existan condensadores a prueba de fallos (P-Cap), también denominadas protecciones de pérdida de potencia (PLP) instalados en los discos SSD y DRAM. Los P-Cap permiten que las unidades (tanto las independientes como las de una matriz) completen las escrituras en curso, reduciendo así el volumen de datos potencialmente perdidos en caso de fallo catastrófico.

Conclusiones

Nuevamente, la personalización es fundamental en el mundo de la supercomputación. Pero conocer sus necesidades es el primer paso para construir un centro de datos y obtener un rendimiento uniforme. Independientemente del tamaño del centro de datos, debe considerarse su importancia en lo que respecta a generar, almacenar o compartir datos. Evaluando estos factores, los arquitectos pueden diseñar infraestructuras de alto rendimiento preparadas para los futuros avances, incluso con componentes estándar.

#KingstonIsWithYou

Artículos relacionados