CRAC: Checkpoint-Restart Architecture for CUDA with Streams and UVM

Twinkle Jain, Gene Cooperman
Khoury College of Computer Sciences, Northeastern University, Boston, USA
arXiv:2008.10596 [cs.DC], (24 Aug 2020)


   title={CRAC: Checkpoint-Restart Architecture for CUDA with Streams and UVM},

   author={Twinkle Jain and Gene Cooperman},






The share of the top 500 supercomputers with NVIDIA GPUs is now over 25% and continues to grow. While fault tolerance is a critical issue for supercomputing, there does not currently exist an efficient, scalable solution for CUDA applications on NVIDIA GPUs. CRAC (Checkpoint-Restart Architecture for CUDA) is new checkpoint-restart solution for fault tolerance that supports the full range of CUDA applications. CRAC combines: low runtime overhead (approximately 1% or less); fast checkpoint-restart; support for scalable CUDA streams (for efficient usage of all of the thousands of GPU cores); and support for the full features of Unified Virtual Memory (eliminating the programmer’s burden of migrating memory between device and host). CRAC achieves its flexible architecture by segregating application code (checkpointed) and its external GPU communication via non-reentrant CUDA libraries (not checkpointed) within a single process’s memory. This eliminates the high overhead of inter-process communication in earlier approaches, and has fewer limitations.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2021 hgpu.org

All rights belong to the respective authors

Contact us: