6 research outputs found

    Efficient checkpoint/verification patterns for silent error detection

    Get PDF
    Resilience has become a critical problem for high performance computing. Checkpointing protocols are often used for error recovery after fail-stop failures. However, silent errors cannot be ignored, and their particularities is that such errors are identified only when the corrupted data is activated. To cope with silent errors, we need a verification mechanism to check whether the application state is correct. Checkpoints should be supplemented with verifications to detect silent errors. When a verification is successful, only the last checkpoint needs to be kept in memory because it is known to be correct. In this paper, we analytically determine the best balance of verifications and checkpoints so as to optimize platform throughput. We introduce a balanced algorithm using a pattern with p checkpoints and q verifications, which regularly interleaves both checkpoints and verifications across same-size computational chunks. We show how to compute the waste of an arbitrary pattern, and we prove that the balanced algorithm is optimal when the platform MTBF (Mean Time Between Failures) is large in front of the other parameters (checkpointing, verification and recovery costs). We conduct several simulations to show the gain achieved by this balanced algorithm for well-chosen values of p and q, compared to the base algorithm that always perform a verification just before taking a checkpoint ( p = q = 1), and we exhibit gains of up to 19%.

    Assessing General-Purpose Algorithms to Cope with Fail-Stop and Silent Errors

    Get PDF
    International audienceIn this paper, we combine the traditional checkpointing and rollback recovery strategies with verification mechanisms to address both fail-stop and silent errors. The objective is to minimize either makespan or energy consumption. While DVFS is a popular approach for reducing the energy consumption, using lower speeds/voltages can increase the number of errors, thereby complicating the problem. We consider an application workflow whose dependence graph is a chain of tasks, and we study three execution scenarios: (i) a single speed is used during the whole execution; (ii) a second, possibly higher speed is used for any potential re-execution; (iii) different pairs of speeds can be used throughout the execution. For each scenario, we determine the optimal checkpointing and verification locations (and the optimal speeds for the third scenario) to minimize either objective. The different execution scenarios are then assessed and compared through an extensive set of experiments

    A checkpointing mechanism for GPU intensive HPC applications

    Get PDF
    Please refer to pdf.James Watt ScholarshipEngineering and Physical Sciences Research Council (EPSRC) grants EP/N028201/1 and EP/L00058X/

    SEDAR: Detecci贸n y recuperaci贸n autom谩tica de fallos transitorios en sistemas de c贸mputo de altas prestaciones

    Get PDF
    El manejo de fallos es una preocupaci贸n creciente en el contexto del HPC; en el futuro, se esperan mayores variedades y tasas de errores, intervalos de detecci贸n m谩s largos y fallos silenciosos. Se proyecta que, en los pr贸ximos sistemas de exa-escala, los errores ocurran incluso varias veces al d铆a y se propaguen en grandes aplicaciones paralelas, generando desde ca铆das de procesos hasta corrupciones de resultados debidas a fallos no detectados. En este trabajo se propone SEDAR, una metodolog铆a que mejora la fiabilidad, frente a los fallos transitorios, de un sistema que ejecuta aplicaciones paralelas de paso de mensajes. La soluci贸n dise帽ada, basada en replicaci贸n de procesos para la detecci贸n, combinada con diferentes niveles de checkpointing (checkpoints de nivel de sistema o de nivel de aplicaci贸n) para recuperar autom谩ticamente, tiene el objetivo de ayudar a los usuarios de aplicaciones cient铆ficas a obtener ejecuciones confiables con resultados correctos. La detecci贸n se logra replicando internamente cada proceso de la aplicaci贸n en threads y monitorizando los contenidos de los mensajes entre los threads antes de enviar a otro proceso; adem谩s, los resultados finales se validan para prevenir la corrupci贸n del c贸mputo local. Esta estrategia permite relanzar la ejecuci贸n desde el comienzo ni bien se produce la detecci贸n, sin esperar innecesariamente hasta la conclusi贸n incorrecta. Para la recuperaci贸n, se utilizan checkpoints de nivel de sistema, pero debido a que no existe garant铆a de que un checkpoint particular no contenga errores silenciosos latentes, se requiere el almacenamiento y mantenimiento de m煤ltiples checkpoints, y se implementa un mecanismo para reintentar recuperaciones sucesivas desde checkpoints previos si el mismo error se detecta nuevamente. La 煤ltima opci贸n es utilizar un 煤nico checkpoint de capa de aplicaci贸n, que puede ser verificado para asegurar su validez como punto de recuperaci贸n seguro. En consecuencia, SEDAR se estructura en tres niveles: (1) s贸lo detecci贸n y parada segura con notificaci贸n al usuario; (2) recuperaci贸n basada en una cadena de checkpoints de nivel de sistema; y (3) recuperaci贸n basada en un 煤nico checkpoint v谩lido de capa de aplicaci贸n. Cada una de estas variantes brinda una cobertura particular, pero tiene limitaciones inherentes y costos propios de implementaci贸n; la posibilidad de elegir entre ellos provee flexibilidad para adaptar la relaci贸n costo-beneficio a las necesidades de un sistema particular. Se presenta una descripci贸n completa de la metodolog铆a, su comportamiento en presencia de fallos y los overheads temporales de emplear cada una de las alternativas. Se describe un modelo que considera varios escenarios de fallos y sus efectos predecibles sobre una aplicaci贸n de prueba para realizar una verificaci贸n funcional. Adem谩s, se lleva a cabo una validaci贸n experimental sobre una implementaci贸n real de la herramienta SEDAR, utilizando diferentes benchmarks con patrones de comunicaci贸n dis铆miles. El comportamiento en presencia de fallos, inyectados controladamente en distintos momentos de la ejecuci贸n, permite evaluar el desempe帽o y caracterizar el overhead asociado a su utilizaci贸n. Tomando en cuenta esto, tambi茅n se establecen las condiciones bajo las cuales vale la pena comenzar con la protecci贸n y almacenar varios checkpoints para recuperar, en lugar de simplemente detectar, detener la ejecuci贸n y relanzar. Las posibilidades de configurar el modo de uso, adapt谩ndolo a los requerimientos de cobertura y m谩ximo overhead permitido de un sistema particular, muestran que SEDAR es una metodolog铆a eficaz y viable para la tolerancia a fallos transitorios en entornos de HPC.Tesis con direcci贸n conjunta por convenio de colaboraci贸n entre la Universidad Nacional de La Plata (UNLP) y la Universidad Aut贸noma de Barcelona (UAB).Facultad de Inform谩tic

    On the Combination of Silent Error Detection and Checkpointing

    Get PDF
    Abstract鈥擨n this paper, we revisit traditional checkpointing and rollback recovery strategies, with a focus on silent data corruption errors. Contrarily to fail-stop failures, such latent errors cannot be detected immediately, and a mechanism to detect them must be provided. We consider two models: (i) errors are detected after some delays following a probability distribution (typically, an Exponential distribution); (ii) errors are detected through some verification mechanism. In both cases, we compute the optimal period in order to minimize the waste, i.e., the fraction of time where nodes do not perform useful computations. In practice, only a fixed number of checkpoints can be kept in memory, and the first model may lead to an irrecoverable failure. In this case, we compute the minimum period required for an acceptable risk. For the second model, there is no risk of irrecoverable failure, owing to the verification mechanism, but the corresponding overhead is included in the waste. Finally, both models are instantiated using realistic scenarios and application/architecture parameters. Keywords鈥揌igh-performance computing, checkpointing, silent data corruption, verification, error recovery. I
    corecore