Servers in a data center

4 cosas que los administradores de centros de datos pueden aprender de las supercomputadoras más rápidas

Si le preguntara a un novato en la calle qué cree que es una supercomputadora, probablemente obtendría un gran porcentaje citando ejemplos de películas populares y, por lo general, ejemplos con una reputación infame. Desde HAL 900 (2001: odisea del espacio) hasta VIKI de iRobot e incluso Skynet de Terminator; La cultura pop a menudo hace referencia a las supercomputadoras como sistemas sensibles que han evolucionado y se han vuelto contra la humanidad.

Si le cuenta esto a los investigadores del Laboratorio Nacional Lawrence Livermore, o al Servicio Meteorológico Nacional, y ellos se reirán de usted. La verdad, es que las supercomputadoras de hoy están lejos de ser conscientes de sí mismas, y la única IA es esencialmente una barra de búsqueda exagerada que está escaneando conjuntos de datos muy grandes.

Hoy en día, las supercomputadoras están impulsando una multitud de aplicaciones que están a la vanguardia del progreso: desde la exploración de petróleo y gas hasta las predicciones meteorológicas, los mercados financieros y el desarrollo de nuevas tecnologías. Las supercomputadoras son los Lamborghini o Bugatti del mundo de la informática, y en Kingston, prestamos mucha atención a los avances que están empujando los límites de la informática. Desde la utilización y el ajuste de DRAM, hasta los avances de firmware en la administración de matrices de almacenamiento, incluso en el énfasis en la consistencia de la transferencia y las velocidades de latencia en lugar de los valores máximos, nuestras tecnologías están profundamente influenciadas por la vanguardia de la supercomputación.

Del mismo modo, hay muchas cosas que los administradores de centros de datos en la nube y locales pueden aprender de la supercomputación a la hora de diseñar y administrar sus infraestructuras, así como la mejor forma de seleccionar los componentes que estarán listos para futuros avances sin grandes cambios.

servidor con líneas brillantes que representan una red
1. Las supercomputadoras están diseñadas específicamente para la consistencia

A diferencia de la mayoría de las plataformas de computación en la nube, como Amazon Web Services o Microsoft Azure, que están diseñadas para impulsar una variedad de aplicaciones que pueden utilizar recursos e infraestructuras compartidas, la mayoría de las supercomputadoras están diseñadas específicamente para necesidades específicas. La actualización más reciente de la lista TOP500 de las supercomputadoras más rápidas del mundo (públicamente conocidas y clasificadas), señala no solo las ubicaciones y las velocidades de las instalaciones, sino también el campo principal de aplicación.

Once de las doce mejores máquinas están dedicadas a la investigación energética, pruebas nucleares y aplicaciones para la defensa. El único caso atípico es Frontera, un nuevo sistema de computación de escala peta financiado por NSF en el Texas Advanced Computing Center de la Universidad de Texas, que proporciona recursos académicos de investigación en ciencias e ingeniería para socios. De las siguientes 20 supercomputadoras en la lista TOP500, casi todas están dedicadas a aplicaciones de inteligencia y defensa del gobierno. Las máquinas entre los números 30-50 en la lista están dedicadas en gran medida a las predicciones meteorológicas. Las últimas 50 de las 100 principales son una combinación de computación corporativa (NVIDIA, Facebook, et.al), predicciones meteorológicas de rango medio, programas espaciales, exploración de petróleo y gas, usos académicos y específicos del gobierno

Estas máquinas no son una caja de modelo único. Se desarrollan a medida con fabricantes como Intel, Cray, HP, Toshiba e IBM para realizar tipos específicos de cálculos en conjuntos de datos muy específicos, ya sea en tiempo real o en cálculos asincrónicos.

Han definido umbrales de latencia aceptables:

  • Recursos informáticos preestablecidos que aprovechan millones de núcleos de procesamiento
  • Entregue frecuencias de reloj entre 18,000 y 200,000 teraFLOPS.

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

Los sistemas como Frontera no solo tienen que correr en una carga máxima de cómputo, sino que deben leer constantemente grandes cantidades de datos para llegar a un resultado. Una subida en el rendimiento de cómputo en realidad podría causar errores en los resultados, por lo tanto, el énfasis está en la consistencia.

El administrador del centro de datos de hoy, debe primero preguntar: "¿Qué estamos haciendo con el sistema?" Para poder diseñar, administrar recursos y construir sistemas de seguridad predecibles. Administrar un centro de datos que ejecuta un montón de escritorios virtuales es muy diferente a un centro de llamadas 911 o sistemas de control de tráfico aéreo. Tienen diferentes necesidades, demandas, acuerdos de nivel de servicio y presupuestos, y deben diseñarse respetivamente.

Del mismo modo, se debe considerar cómo lograr un rendimiento consistente sin requerir compilaciones personalizadas. Empresas como Amazon, Google y Microsoft tienen los presupuestos para diseñar infraestructuras de almacenamiento o informática personalizadas, pero la mayoría de los proveedores de servicios tienen que ser más selectivos con el hardware estándar.

Por esta razón, más administradores de centros de datos necesitan establecer criterios estrictos para las evaluaciones comparativas de rendimiento que abordan la QoS, y asegurar que el mayor énfasis no sea solo en la velocidad y la latencia de cómputo, sino también en la consistencia.

servidor con líneas brillantes que representan una red
2. Su tiempo real no es mi tiempo real

Con las aplicaciones de supercomputación, la mayoría de las instancias de datos en tiempo real tienen implicaciones importantes. Desde detener una reacción nuclear hasta datos de telemetría para el lanzamiento de un cohete, la latencia informática puede tener efectos catastróficos, y los conjuntos de datos masivos. Estas transmisiones no solo se alimentan de una sola fuente; pero a menudo son enviados desde una red de nodos de informes.

Pero los datos son de corta duración. Cuando se trabaja con alimentación en tiempo real, la mayoría de los datos no se guardan para siempre. Se escribe y luego se sobrescribe con una caducidad para escrituras y sobrescrituras secuenciales. Los datos en tiempo real siempre cambian, y muy pocas aplicaciones necesitarían cada bit almacenado desde el principio de los tiempos. Los datos se procesan en lotes, se calculan para crear un resultado (ya sea un modelo o algoritmo probabilístico promedio) y el resultado es lo que se conserva.

Tome como ejemplo las predicciones de la supercomputadora de la Administración Nacional Oceanográfica y Atmosférica “National Oceanographic and Atmospheric Administration” (NOAA). Siempre hay cambios constantes en los factores meteorológicos, ya sea precipitación, temperatura del aire y del suelo, presión barométrica, hora del día, efectos solares, viento e incluso cómo afecta el terreno. Eso cambia cada segundo y se informa como un flujo de información en tiempo real. Pero el Servicio Meteorológico Nacional “National Weather Service” (NWS) de NOAA no necesita para siempre estos datos sin procesar. ¡Necesita los modelos de pronóstico! A medida que toma forma el modelo del Sistema global de predicción “global forecasting system" (GFS), se introducen nuevos datos, formando predicciones más precisas y actualizadas.

Además, los meteorólogos locales que comparten y reciben datos del NWS no necesitan acceder a todo el conjunto global de datos meteorológicos. Simplemente limitan sus modelos a las áreas locales. Esto les permite complementar los datos del NWS con estaciones meteorológicas locales, proporcionando información sobre los microclimas y acelerando las predicciones locales más precisas, mediante la creación de lotes que han sido calculados para crear un resultado (ya sea un modelo o algoritmo probabilístico promedio) y el resultado es lo que se conserva.

Lo mismo podría decirse de la negociación de acciones o los modelos financieros, que funcionan con promedios móviles, cada uno con indicadores específicos y desencadenantes de acción integrados, basados en parámetros específicos para umbrales aceptables de comportamiento del mercado. El diseño de un sistema que utiliza datos "en tiempo real" no tiene que almacenar todo lo que ingiere, sino que debe aprovechar la memoria de acceso aleatorio no volátil (NVRAM) y la memoria dinámica de acceso aleatorio (DRAM) para almacenar en caché y procesar datos en tránsito, luego enviar el resultado calculado al almacenamiento.

Ilustración de chip de memoria flash con trazas de circuitos brillantes
3. Umbrales de latencia, flash NAND y ajuste de DRAM

La mayoría de los umbrales de latencia se establecen de acuerdo a las demandas de la aplicación. En escenarios de negociación, segundos significan millones, si no miles de millones de dólares. Para las predicciones meteorológicas y el seguimiento de huracanes, podría significar decidir entre evacuar Nueva Orleans o Houston.

Las supercomputadoras funcionan con el nivel de carga de servicio a priori, ya sea latencia, recursos informáticos, almacenamiento o ancho de banda. La mayoría emplea computación con detección de fallas, por lo que el sistema puede redirigir los flujos de datos para condiciones de latencia óptimas (basadas en el cronometraje 𝛱 +Δmax), cambiando a modelos de computación asíncronos o priorizando recursos de cómputo para entregar suficiente capacidad de procesamiento o ancho de banda para los trabajos.

Ya sea que esté trabajando con las estaciones de trabajo más exigentes, servidores de hierro o HPC y cargas de trabajo científicas, las computadoras grandes y el Big Data requieren grandes cargas de DRAM. Las supercomputadoras como la Tianhe-2 utilizan enormes cargas de RAM combinadas con tarjetas de aceleración especializadas. Las maneras en que la supercomputación ajusta el marco del hardware y el controlador son exclusivas del diseño de la aplicación. A menudo, las tareas informáticas específicas, donde el acceso al disco crea un enorme cuello de botella con los requisitos de RAM, hacen que la DRAM no sea práctica, pero son lo suficientemente pequeñas como para caber en la memoria flash NAND. Las concentraciones de FPGA también se ajustan aún más para cada carga de trabajo específica y así garantizar que grandes conjuntos de datos tengan un excelente rendimiento si tienen que usar medios tradicionales para recuperar datos.

Los equipos que colaboran entre la Universidad de Utah, Lawrence Berkeley Lab, la Universidad del Sur de California y Argonne National Lab han mostrado nuevos modelos para el ajuste automático del rendimiento (o ajuste automático) como un medio eficaz para proporcionar portabilidad del rendimiento entre arquitecturas. En lugar de depender de un compilador que pueda ofrecer un rendimiento óptimo en arquitecturas multinúcleo más novedosas, los núcleos y las aplicaciones de ajuste automático pueden sintonizarse automáticamente en el modelo de CPU, red y modelo de programación.

Trabajador de TI con casco con una computadora portátil frente a una ilustración en la pantalla
4. Múltiples capas de sistemas de seguridad

La distribución de energía dentro del centro de datos de HPC es cada vez más desafiante, especialmente con las infraestructuras que son aprovechadas como recursos compartidos. Tanto en infraestructuras dedicadas como aprovisionadas al servicio, los centros de datos deben garantizar un funcionamiento continuo y reducir el riesgo de dañar componentes de hardware frágiles en caso de una falla de energía, una subida o cambios en el pico de demanda.

Los arquitectos usan una mezcla de transformadores de distribución de pérdidas:

  • Distribución de energía CD y respaldos de UPS,
  • Trigeneración (creando electricidad a través del calor para almacenar en respaldo)
  • Monitoreo activo
"Guardar y guardar a menudo" es el mantra para cualquier aplicación, y lo mismo es cierto para los centros de datos donde "la copia de seguridad" se convierte en el término operativo.

La mayoría de los centros de datos de hoy funcionan con una estructura RAID de alto nivel para garantizar escrituras continuas y casi simultáneas en las matrices de almacenamiento. Además, las infraestructuras HPC utilizan una gran cantidad de NVRAM para almacenar en caché los datos en proceso, que son transmisiones en vivo de datos que no atraviesan las matrices de almacenamiento, o información procesada en paralelo creando un uso de disco de memoria virtual para liberar recursos informáticos adicionales. El sistema Frontera mencionado anteriormente aprovecha 50PB de la capacidad virtual total. Los usuarios con requisitos de ancho de banda o IOPS muy altos podrán solicitar una asignación en un sistema de archivos NVMe (memoria express no volátil) con una capacidad aproximada de 3PB y un ancho de banda de ~ 1.2TB/seg.

Esta copia de seguridad RAID constante para el almacenamiento y y almacenamiento en caché constante de los búferes NVMe dependen de los umbrales totales de I/O para los controladores en el dispositivo y del ancho de banda total disponible o provisto para el remoto almacenamiento/copia de seguridad.

La mayoría de las infraestructuras HPC también están eliminando la posibilidad de fallas de hardware con discos giratorios, al pasar completamente a matrices de estado sólido y bloques de almacenamiento flash. Estas soluciones de almacenamiento proporcionan IOPS consistentes y tienen latencias predecibles que se encuentran dentro de los umbrales de latencia específicos de la aplicación. Muchas supercomputadoras también utilizan múltiples cintotecas (con capacidad escalable a un exabyte o más), para tener un archivo de datos confiable para cada bit procesado y almacenado.

Muchos también aseguran que si todo lo demás falla en la cadena, hay condensadores (P-Cap) de falla de energía (Pfail) también etiquetados como Protección en caso de pérdida de energía (PLP) instalados en SSDs y DRAM. Los P-Caps permiten que los dispositivos (independientes o en una matriz) completen las escrituras en progreso, reduciendo así la cantidad de datos potencialmente perdidos durante una falla catastrófica.

Concluyendo

Una vez más, la costumbre es clave en el mundo de la supercomputación, pero conocer sus necesidades es el primer paso al crear un centro de datos y saber cómo lograr el tipo de rendimiento más consistente. No importa el tamaño del centro de datos, ¿por qué no considerarlo importante o en términos de una supercomputadora cuando se trata de generar, almacenar o compartir datos? Al evaluar esos factores, los arquitectos pueden diseñar infraestructuras de alto rendimiento que estén listas para futuros avances, incluso con componentes estándar

#KingstonIsWithYou

Artículos relacionados