Exploring versioned distributed arrays for resilience in scientific applications: Global view resilience
- Univ. of Chicago, Chicago, IL (United States); Argonne National Lab. (ANL), Argonne, IL (United States)
- Argonne National Lab. (ANL), Argonne, IL (United States)
- Univ. of Chicago, Chicago, IL (United States)
- HP Vertica, Cambridge, MA (United States)
- Intel Corp., Santa Clara, CA (United States)
- Lawrence Livermore National Lab. (LLNL), Livermore, CA (United States)
- Lawrence Berkeley National Lab. (LBNL), Berkeley, CA (United States)
- Sandia National Lab. (SNL-NM), Albuquerque, NM (United States)
Exascale studies project reliability challenges for future HPC systems. We present the Global View Resilience (GVR) system, a library for portable resilience. GVR begins with a subset of the Global Arrays interface, and adds new capabilities to create versions, name versions, and compute on version data. Applications can focus versioning where and when it is most productive, and customize for each application structure independently. This control is portable, and its embedding in application source makes it natural to express and easy to maintain. The ability to name multiple versions and “partially materialize” them efficiently makes ambitious forward-recovery based on “data slices” across versions or data structures both easy to express and efficient. Using several large applications (OpenMC, preconditioned conjugate gradient (PCG) solver, ddcMD, and Chombo), we evaluate the programming effort to add resilience. The required changes are small (< 2% lines of code (LOC)), localized and machine-independent, and perhaps most important, require no software architecture changes. We also measure the overhead of adding GVR versioning and show that overheads < 2% are generally achieved. This overhead suggests that GVR can be implemented in large-scale codes and support portable error recovery with modest investment and runtime impact. Our results are drawn from both IBM BG/Q and Cray XC30 experiments, demonstrating portability. We also present two case studies of flexible error recovery, illustrating how GVR can be used for multi-version rollback recovery, and several different forward-recovery schemes. GVR’s multi-version enables applications to survive latent errors (silent data corruption) with significant detection latency, and forward recovery can make that recovery extremely efficient. Lastly, our results suggest that GVR is scalable, portable, and efficient. GVR interfaces are flexible, supporting a variety of recovery schemes, and altogether GVR embodies a gentle-slope path to tolerate growing error rates in future extreme-scale systems.
- Research Organization:
- Sandia National Lab. (SNL-NM), Albuquerque, NM (United States); Lawrence Berkeley National Laboratory (LBNL), Berkeley, CA (United States); Argonne National Laboratory (ANL), Argonne, IL (United States); Lawrence Livermore National Laboratory (LLNL), Livermore, CA (United States)
- Sponsoring Organization:
- USDOE National Nuclear Security Administration (NNSA); USDOE Office of Science (SC), Advanced Scientific Computing Research (ASCR)
- Grant/Contract Number:
- AC04-94AL85000; AC52-07NA27344; AC02-05CH11231; SC0008603; AC02-06CH11357
- OSTI ID:
- 1333611
- Alternate ID(s):
- OSTI ID: 1440004; OSTI ID: 1466280; OSTI ID: 1811742
- Report Number(s):
- SAND-2016-7908J; LLNL-JRNL-822995; 646619
- Journal Information:
- International Journal of High Performance Computing Applications, Journal Name: International Journal of High Performance Computing Applications; ISSN 1094-3420
- Publisher:
- SAGECopyright Statement
- Country of Publication:
- United States
- Language:
- English
Web of Science
Application health monitoring for extreme‐scale resiliency using cooperative fault management
|
journal | July 2019 |
Node failure resiliency for Uintah without checkpointing
|
journal | June 2019 |
Similar Records
Versioned Distributed Arrays for Resilience in Scientific Applications: Global View Resilience
Final Report, “Exploiting Global View for Resilience”