@inproceedings {, title = {Checkpointing {\`a} la Young/Daly: An Overview}, journal = {IC3-2022: Proceedings of the 2022 Fourteenth International Conference on Contemporary Computing}, year = {2022}, month = {2022-08}, pages = {701-710}, publisher = {ACM Press}, address = {Noida, India}, abstract = {The Young/Daly formula provides an approximation of the optimal checkpoint period for a parallel application executing on a supercomputing platform. The Young/Daly formula was originally designed for preemptible tightly-coupled applications. We provide some background and survey various application scenarios to assess the usefulness and limitations of the formula.}, isbn = {9781450396752}, doi = {10.1145/3549206}, url = {https://dl.acm.org/doi/fullHtml/10.1145/3549206.3549328}, author = {Anne Benoit and Yishu Du and Thomas Herault and Loris Marchal and Guillaume Pallez and Lucas Perotin and Yves Robert and Hongyang Sun and Frederic Vivien} } @article {, title = {{Resilient scheduling heuristics for rigid parallel jobs}}, journal = {Int. J. of Networking and Computing}, volume = {11}, number = {1}, year = {2021}, pages = {2-26}, author = {Anne Benoit and Valentin Le F{\`e}vre and Padma Raghavan and Yves Robert and Hongyang Sun} } @conference {, title = {Design and Comparison of Resilient Scheduling Heuristics for Parallel Jobs}, booktitle = {22nd Workshop on Advances in Parallel and Distributed Computational Models (APDCM 2020)}, year = {2020}, month = {2020-05}, publisher = {IEEE Computer Society Press}, organization = {IEEE Computer Society Press}, address = {New Orleans, LA}, author = {Anne Benoit and Valentin Le F{\`e}vre and Padma Raghavan and Yves Robert and Hongyang Sun} } @conference {, title = {Reservation and Checkpointing Strategies for Stochastic Jobs}, booktitle = {34th IEEE International Parallel and Distributed Processing Symposium (IPDPS 2020)}, year = {2020}, month = {2020-05}, publisher = {IEEE Computer Society Press}, organization = {IEEE Computer Society Press}, address = {New Orleans, LA}, author = {Ana Gainaru and Brice Goglin and Valentin Honor{\'e} and Padma Raghavan and Guillaume Pallez and Padma Raghavan and Yves Robert and Hongyang Sun} } @conference {1316, title = {Reservation Strategies for Stochastic Jobs}, booktitle = {33rd IEEE International Parallel and Distributed Processing Symposium (IPDPS 2019)}, year = {2019}, month = {2019-05}, publisher = {IEEE Computer Society Press}, organization = {IEEE Computer Society Press}, address = {Rio de Janeiro, Brazil}, author = {Guillaume Aupy and Ana Gainaru and Valentin Honor{\'e} and Padma Raghavan and Yves Robert and Hongyang Sun} } @article {1218, title = {Coping with Silent and Fail-Stop Errors at Scale by Combining Replication and Checkpointing}, journal = {Journal of Parallel and Distributed Computing}, volume = {122}, year = {2018}, month = {2018-12}, pages = {209{\textendash}225}, abstract = {This paper provides a model and an analytical study of replication as a technique to cope with silent errors, as well as a mixture of both silent and fail-stop errors on large-scale platforms. Compared with fail-stop errors that are immediately detected when they occur, silent errors require a detection mechanism. To detect silent errors, many application-specific techniques are available, either based on algorithms (e.g., ABFT), invariant preservation or data analytics, but replication remains the most transparent and least intrusive technique. We explore the right level (duplication, triplication or more) of replication for two frameworks: (i) when the platform is subject to only silent errors, and (ii) when the platform is subject to both silent and fail-stop errors. A higher level of replication is more expensive in terms of resource usage but enables to tolerate more errors and to even correct some errors, hence there is a trade-off to be found. Replication is combined with checkpointing and comes with two flavors: process replication and group replication. Process replication applies to message-passing applications with communicating processes. Each process is replicated, and the platform is composed of process pairs, or triplets. Group replication applies to black-box applications, whose parallel execution is replicated several times. The platform is partitioned into two halves (or three thirds). In both scenarios, results are compared before each checkpoint, which is taken only when both results (duplication) or two out of three results (triplication) coincide. Otherwise, one or more silent errors have been detected, and the application rolls back to the last checkpoint, as well as when fail-stop errors have struck. We provide a detailed analytical study for all of these scenarios, with formulas to decide, for each scenario, the optimal parameters as a function of the error rate, checkpoint cost, and platform size. We also report a set of extensive simulation results that nicely corroborates the analytical model.}, keywords = {checkpointing, fail-stop errors, Fault tolerance, High-performance computing, Replication, silent errors}, doi = {https://doi.org/10.1016/j.jpdc.2018.08.002}, author = {Anne Benoit and Aurelien Cavelan and Franck Cappello and Padma Raghavan and Yves Robert and Hongyang Sun} } @article {1239, title = {Multi-Level Checkpointing and Silent Error Detection for Linear Workflows}, journal = {Journal of Computational Science}, volume = {28}, year = {2018}, month = {2018-09}, pages = {398{\textendash}415}, abstract = {We focus on High Performance Computing (HPC) workflows whose dependency graph forms a linear chain, and we extend single-level checkpointing in two important directions. Our first contribution targets silent errors, and combines in-memory checkpoints with both partial and guaranteed verifications. Our second contribution deals with multi-level checkpointing for fail-stop errors. We present sophisticated dynamic programming algorithms that return the optimal solution for each problem in polynomial time. We also show how to combine all these techniques and solve the problem with both fail-stop and silent errors. Simulation results demonstrate that these extensions lead to significantly improved performance compared to the standard single-level checkpointing algorithm.}, author = {Anne Benoit and Aurelien Cavelan and Yves Robert and Hongyang Sun} } @conference {1096, title = {Identifying the Right Replication Level to Detect and Correct Silent Errors at Scale}, booktitle = {2017 Workshop on Fault-Tolerance for HPC at Extreme Scale}, year = {2017}, month = {2017-06}, publisher = {ACM}, organization = {ACM}, address = {Washington, DC}, abstract = {This paper provides a model and an analytical study of replication as a technique to detect and correct silent errors. Although other detection techniques exist for HPC applications, based on algorithms (ABFT), invariant preservation or data analytics, replication remains the most transparent and least intrusive technique. We explore the right level (duplication, triplication or more) of replication needed to efficiently detect and correct silent errors. Replication is combined with checkpointing and comes with two flavors: process replication and group replication. Process replication applies to message-passing applications with communicating processes. Each process is replicated, and the platform is composed of process pairs, or triplets. Group replication applies to black-box applications, whose parallel execution is replicated several times. The platform is partitioned into two halves (or three thirds). In both scenarios, results are compared before each checkpoint, which is taken only when both results (duplication) or two out of three results (triplication) coincide. If not, one or more silent errors have been detected, and the application rolls back to the last checkpoint. We provide a detailed analytical study of both scenarios, with formulas to decide, for each scenario, the optimal parameters as a function of the error rate, checkpoint cost, and platform size. We also report a set of extensive simulation results that corroborates the analytical model.}, doi = {10.1145/3086157.3086162}, author = {Anne Benoit and Franck Cappello and Aurelien Cavelan and Yves Robert and Hongyang Sun} } @article {1090, title = {Towards Optimal Multi-Level Checkpointing}, journal = {IEEE Transactions on Computers}, volume = {66}, year = {2017}, month = {2017-07}, pages = {1212{\textendash}1226}, keywords = {checkpointing, Dynamic programming, Error analysis, Heuristic algorithms, Optimized production technology, protocols, Shape}, doi = {10.1109/TC.2016.2643660}, author = {Anne Benoit and Aurelien Cavelan and Valentin Le F{\`e}vre and Yves Robert and Hongyang Sun} } @article {933, title = {Assessing General-purpose Algorithms to Cope with Fail-stop and Silent Errors}, journal = {ACM Transactions on Parallel Computing}, year = {2016}, month = {2016-08}, abstract = {In this paper, we combine the traditional checkpointing and rollback recovery strategies with verification mechanisms to cope with both fail-stop and silent errors. The objective is to minimize makespan and/or energy consumption. For divisible load applications, we use first-order approximations to find the optimal checkpointing period to minimize execution time, with an additional verification mechanism to detect silent errors before each checkpoint, hence extending the classical formula by Young and Daly for fail-stop errors only. We further extend the approach to include intermediate verifications, and to consider a bi-criteria problem involving both time and energy (linear combination of execution time and energy consumption). Then, we focus on application workflows whose dependence graph is a linear chain of tasks. Here, we determine the optimal checkpointing and verification locations, with or without intermediate verifications, for the bicriteria problem. Rather than using a single speed during the whole execution, we further introduce a new execution scenario, which allows for changing the execution speed via dynamic voltage and frequency scaling (DVFS). We determine in this scenario the optimal checkpointing and verification locations, as well as the optimal speed pairs. Finally, we conduct an extensive set of simulations to support the theoretical study, and to assess the performance of each algorithm, showing that the best overall performance is achieved under the most flexible scenario using intermediate verifications and different speeds.}, keywords = {checkpoint, fail-stop error, failure, HPC, resilience, silent data corruption, silent error, verification}, doi = {10.1145/2897189}, author = {Anne Benoit and Aurelien Cavelan and Yves Robert and Hongyang Sun} } @conference {930, title = {Optimal Resilience Patterns to Cope with Fail-stop and Silent Errors}, booktitle = {2016 IEEE International Parallel and Distributed Processing Symposium (IPDPS)}, year = {2016}, month = {2016-05}, publisher = {IEEE}, organization = {IEEE}, address = {Chicago, IL}, abstract = {This work focuses on resilience techniques at extreme scale. Many papers deal with fail-stop errors. Many others deal with silent errors (or silent data corruptions). But very few papers deal with fail-stop and silent errors simultaneously. However, HPC applications will obviously have to cope with both error sources. This paper presents a unified framework and optimal algorithmic solutions to this double challenge. Silent errors are handled via verification mechanisms (either partially or fully accurate) and in-memory checkpoints. Fail-stop errors are processed via disk checkpoints. All verification and checkpoint types are combined into computational patterns. We provide a unified model, and a full characterization of the optimal pattern. Our results nicely extend several published solutions and demonstrate how to make use of different techniques to solve the double threat of fail-stop and silent errors. Extensive simulations based on real data confirm the accuracy of the model, and show that patterns that combine all resilience mechanisms are required to provide acceptable overheads.}, keywords = {fail-stop errors, multilevel checkpoint, optimal pattern, resilience, silent errors, verification}, doi = {10.1109/IPDPS.2016.39}, author = {Anne Benoit and Aurelien Cavelan and Yves Robert and Hongyang Sun} }