CRAC: An automatic assistant compiler of checkpoint/restart for OpenCL program
Genlang Chen, Jiajian Zhang, Zufang Zhu, Hao Wang, Hai Jiang, Chaoyi Pang · Concurrency and Computation Practice and Experience · 2020
Summary Nowadays, people use multiple devices to meet the growing requirement for computing. With the application of multicard computing, fault tolerance, load balance, and resource sharing have been the hot issues and the checkpoint/restart (CPR) mechanism is critical in a preemptive system. This article proposes a CPR framework including the automatic compiler (CRAC) to achieve a feasible CPR system, especially for graphics processing unit applications on heterogeneous devices in OpenCL programs. By offering the positions of the CPR in source code, CRAC inserts primitives into programs and invokes the runtime support modules for final results. A comprehensive example and experiments have demonstrated the feasibility and effectiveness of proposed framework.