Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,10 @@ NCCL application support<br>

## 2. Overview

MANA transparently checkpoints MPI application, CRAC transparently checkpoints CUDA application. In order to transparently checkpoints MPI based CUDA application, a new solution is designed called TRE-CR, this
is an efficient and time-saving checkpointing and restore mechanism. In compared with CRAC or DMTCP, we additionly support some new features and fix some bugs, detailed change point can refer to changelog-TRE-CR.txt.
TRE-CR is a robust and efficient checkpointing and restoration(C&R) solution for heterogeneous platform. It is a system level C&R solution, currently TRE-CR support CPU, GPU, MPI, NCCL applications. It is helpful to improve the RAS of heterogeneous platform, such as fault recovery, task migration and Infrastructure maintenance.

TRE-CR introduces a virtualization layer which complements the original proxy solution with virtual memory management, call reinterpretation, virtual space isolation, and data transfer optimizations. First, the delegator starts up and loads the user program into its own process space for efficient context switching. The user program runs with a set of wrapper libraries (e.g., CUDA, MPI, and NCCL wrapper). While the delegator is launched with the real library to proxy operations on the GPU and network. The wrapper library aims to intercept CUDA, MPI and NCCL calls for logging and then trap to the delegator. In the delegator, we call the real function based on the mapping of the function name to the function pointer of the dynamic library. In addition, we divide the virtual address space into device reserved space, CPU required space and kernel managed space. Based on that, we can restore CPU and GPU process space via snapshots and runtime via log replay.


## 3. Contribution process

Expand Down