2014 · 81 citations · 51 references
ComputingComputer EngineeringComputer ScienceFault ToleranceFault-tolerant ComputingParallel ComputingDistributed Data ProcessingFault Tolerance DesignFault Tolerance In Parallel SystemsReliable Distributed SystemsReliable System DesignApplication StateApplication State ManagementAutomatic RecoveryCheckpointingCheckpointsFault-tolerant ArchitectureNode FailuresNumerical Combustion Simulation
Application resilience is a key challenge that must be addressed in order to realize the exascale vision. Process/node failures, an important class of failures, are typically handled today by terminating the job and restarting it from the last stored checkpoint. This approach is not expected to scale to exascale. In this paper we present Fenix, a framework for enabling recovery from process/node/blade/cabinet failures for MPI-based parallel applications in an online (i.e., Without disrupting the job) and transparent manner. Fenix provides mechanisms for transparently capturing failures, re-spawning new processes, fixing failed communicators, restoring application state, and returning execution control back to the application. To enable automatic data recovery, Fenix relies on application-driven, diskless, implicitly coordinated check pointing. Using the S3D combustion simulation running on the Titan Cray-XK7 production system at ORNL, we experimentally demonstrate Felix's ability to tolerate high failure rates (e.g., More than one per minute) with low overhead while sustaining performance.
51
K. Mani Chandy, Leslie Lamport · ACM Transactions on Computer Systems · 1985 · 2.4K citations · Full text