La resiliencia de Exascale transforma un rincón - Calendae | Informática, Electrónica, CMS, Ciberseguridad

La resiliencia de Exascale transforma un rincón

Hola otra vez. Yo soy Simón Sánchez y hoy te voy a contar sobre La resiliencia de Exascale transforma un rincón

Aunque el avance del campo de HPC hacia la era de la exaescala está plagado de muchos obstáculos, la resiliencia puede ser el más espinoso de todos. A medida que prolifera el número de núcleos, también lo hace el número de malas conductas, amenazando no solo el funcionamiento de la máquina, sino también la validez de los resultados. Cuando se considera que las máquinas de exaescala emplearán un paralelismo de miles de millones de formas, la necesidad de abordar este problema es clara.

«La resiliencia se ha convertido en un tema importante para los sistemas HPC en los últimos años, particularmente en la perspectiva de los grandes sistemas Petascale y los futuros sistemas Exascale». Estas palabras son el texto de apertura de un 2009 reporte técnico del Laboratorio Conjunto Illinois-INRIA sobre Computación PetaScale.

El estudio hizo un gran trabajo al describir el desafío de la resiliencia, que si bien no es el único problema del cálculo a exaescala, es sin duda uno de los más problemáticos. Para empezar, la inquietante afirmación (escrita en 2009) de que «el tiempo de control y reinicio puede exceder el tiempo promedio para apagar las mejores supercomputadoras antes de 2015».

Recientemente, el

«Los últimos cinco años han sido testigos de avances técnicos extraordinarios en muchos dominios relacionados con la resiliencia a exaescala»,

los papel define la resiliencia en el contexto de las plataformas informáticas como «las técnicas para mantener las aplicaciones en ejecución para una solución correcta de manera oportuna y eficiente a pesar de las fallas del sistema subyacente». Las fallas, que son el resultado de errores, se tratan previendo, previniendo, eliminándolas o tolerándolas. Los errores pueden ocurrir en todos los niveles de la pila y, por lo tanto, la tolerancia a fallas se extiende al hardware, sistema y software de aplicación.

La primera sección del documento está dedicada a la descripción del problema de la resiliencia a exaescala. En las palabras de

En igualdad de condiciones, un sistema mil veces más poderoso tendría mil veces más fallas. Si bien esa simple estadística sería lo suficientemente angustiante, el problema es peor que eso. El tamaño de función más pequeño hace que las CPU sean más propensas a errores y la reducción de transistores y cables envejece más rápido, lo que provoca fallas aún más permanentes en el camino. Las mismas técnicas que reducen la corriente de fuga también contribuyen a aumentar las fallas. Hay pasos que los proveedores pueden tomar para reducir la tasa de error, como agregar circuitos, pero hacerlo agrega costos de material y energía.

El hardware no es de ninguna manera el único desafío. El hardware más complejo corresponde a un software de sistema más complejo, que también es más propenso a errores. Los códigos de aplicación también son cada vez más sofisticados e incluso más propensos a errores. Las investigaciones sugieren que los trabajos paralelos grandes pueden fallar una vez cada 30 minutos en plataformas de exaescala.

En el lado positivo, se han aprendido algunas lecciones importantes ahora que la comunidad tiene algunos años de experiencia trabajando con máquinas de petaescala. Las plataformas petascale actuales experimentan varios fallos de componentes todos los días, según

los

La mayor parte de este documento de 28 páginas está dedicado a presentar una encuesta de lo que la comunidad ha aprendido desde 2009 (sección cuatro) y un resumen de los temas de investigación que la comunidad aún considera críticos (sección cinco).

los

Del artículo: «La regla en 2009 era almacenar el estado de la aplicación en un repositorio remoto, generalmente un sistema de archivos paralelo, a través de los nodos de E / S. El tiempo del punto de control fue significativo (a menudo de 15 a 30 minutos), debido al ancho de banda limitado del sistema de archivos paralelo. Cuando la hora del punto de control está cerca del MTBF, el sistema pasa todo su tiempo revisando y reiniciando, con poco progreso hacia adelante. Dado que MTJI puede durar una hora o menos en plataformas de exaescala, se necesitan nuevas técnicas para reducir el tiempo de control «.

Esto se puede lograr reduciendo el tamaño del puesto de control. Para ello, los programadores están en la mejor posición para saber qué son los datos críticos, pero esto requiere un enfoque manual. «Las notas sobre las formas de proteger o controlar los datos, los cálculos o las comunicaciones clave siguen siendo una dirección relevante», dijo

Otra vía es reducir el uso del disco para el almacenamiento de puntos de control, por ejemplo, mediante el uso de puntos de control en memoria o tecnologías de puntos de control multinivel, que implican la combinación de diferentes tecnologías de almacenamiento para optimizar la sobrecarga y la confiabilidad. . Las técnicas de reinicio parcial también permiten una recuperación acelerada.

La reversión hacia adelante es otra forma de manejar los errores. En este escenario, «la aplicación debe ser consciente del error y realizar pasos de recuperación hacia adelante que pueden implicar el acceso a datos pasados ​​o remotos para corregir (a veces parcialmente) o compensar el error y su efecto, un dependiendo de la latencia de la detección de errores «.

El estándar MPI no proporciona ninguna especificación sobre el comportamiento de una aplicación MPI después de una falla, por lo que se han desarrollado varios diseños e implementaciones resistentes de MPI para llenar este vacío. El primer esfuerzo fue la biblioteca FT-MPI (MPI tolerante a fallas). Otro llamado ULFM permite que la aplicación sea notificada de errores y reorganice la ejecución para la recuperación hacia adelante. El foro MPI aún no ha llegado a un consenso sobre las características de un IPM resiliente.

La replicación es otro enfoque de la resiliencia en HPC, pero está sujeta a varias limitaciones, incluida una gran sobrecarga.

Un área que ha logrado un «gran progreso» en los últimos años es la predicción de fallas, específicamente un enfoque que combina la minería de datos con el análisis de señales y métodos para detectar valores atípicos. los

Esto lleva a la pregunta de cómo ejecutar un predictor de fallas en una gran infraestructura. Los métodos locales y globales tienen cada uno sus propias ventajas y desventajas.

También hay un efecto secundario de todos estos errores y gestión de fallas: coloca una demanda de energía adicional en el sistema informático. los

Otro desafío difícil al que se enfrenta la HPC en una escala extrema es el aumento de la corrupción de datos silenciosa (SDC). Curiosamente, los estudios muestran que, si bien los DSC provocan bloqueos y bloqueos, solo una pequeña fracción de ellos sesga los resultados. Pero obtener un resultado incorrecto hizo que los investigadores se preocuparan lo suficiente como para explorar estrategias de mitigación. La solución clásica es detectar al menos algunos de estos errores silenciosos, replicar las ejecuciones y comparar los resultados. Nuevamente, existe un alto costo total.

Un segundo problema más espinoso es el supuesto de que la ejecución genera resultados idénticos. los

También ha habido un movimiento hacia enfoques integradores que tienen en cuenta todos los niveles, desde el hardware hasta la aplicación. Actualmente hay al menos cinco proyectos que abordan este problema de diferentes maneras.

Otras áreas que han logrado grandes avances desde 2009 incluyen enfoques algorítmicos para la detección y recuperación de fallas y los denominados métodos iterativos inconscientes de fallas. Un cambio importante fue la separación de defectos en dos categorías. Fail-stop se refiere a un proceso que falla y se detiene, lo que resulta en la pérdida de todo el estado del proceso, mientras que fail-continue significa que un proceso falla pero continúa, a menudo debido a una falla transitoria. Se espera que los errores transitorios (también llamados errores leves) sean probables
siendo el tipo de falla más preocupante en los sistemas de exaescala, por lo que es prometedor que se hayan logrado avances significativos en esta área.

En la sección final del documento, el

– Caracterización de fallas de hardware
– Desarrollo de un modelo estandarizado de gestión de fallas
– Mejor predicción, contención, detección, notificación y recuperación de fallas
– Programación de abstracciones para resiliencia
– Evaluación estandarizada de enfoques de tolerancia a fallas

Se pone mucho énfasis en informar el proceso de investigación tanto como sea posible para apoyar mejores opciones. La caracterización de las fallas de hardware ayudaría a los investigadores a saber qué problemas es más probable que ocurran y cuáles han causado más caos para que puedan maximizar sus esfuerzos. El primer paso aquí sería recopilar información de manera sistemática sobre los sistemas actuales.

En cuanto al segundo punto, el

Obviamente, la detección de errores no es muy útil si no se detectan fallas. En este punto, el

Existe otro vacío cuando se trata de programar abstracciones para la resiliencia. La investigación actual muestra que será necesario desarrollar y apoyar varias aplicaciones de programación para desarrollar aplicaciones de exaescala resistentes.

El área de enfoque final proporcionaría una forma práctica de probar nuevos enfoques frente a enfoques conocidos y, lo que es igualmente importante, proporcionaría un medio para medir la eficacia de un enfoque dado en diferentes arquitecturas y en diferentes escalas. Para lograr el objetivo de un sistema de evaluación estandarizado, el

Recuerda compartir en tus redes sociales para que tus amigos lo lean

??? ? ? ???

Comparte