CheCL: Transparent Checkpointing and Process Migration of OpenCL Applications
Tohoku University, Sendai, Miyagi 980-8578, Japan
IEEE International Parallel & Distributed Processing Symposium (IPDPS11), 2011
@article{takizawa2011checl,
title={CheCL: Transparent Checkpointing and Process Migration of OpenCL Applications},
author={Takizawa, H. and Koyama, K. and Sato, K. and Komatsu, K. and Kobayashi, H.},
booktitle={CheCL: Transparent Checkpointing and Process Migration of OpenCL Applications},
year={2011}
}
We propose a new transparent checkpoint/restart (CPR) tool, named CheCL, for high performance and dependable GPU computing. CheCL can perform CPR on an OpenCL application program without any modification and recompilation of its code. A conventional checkpointing system fails to checkpoint a process if the process uses OpenCL. Therefore, in CheCL, every API call is forwarded to another process called an API proxy, and the API proxy invokes the API function; two processes, an application process and an API proxy, are launched for an OpenCL application. In this case, as the application process is not an OpenCL process but a standard process, it can be safely checkpointed. While CheCL intercepts all API calls, it records the information necessary for restoring OpenCL objects. The application process does not hold any OpenCL handles, but CheCL handles to keep such information. Those handles are automatically converted to OpenCL handles and then passed to API functions. Upon restart, OpenCL objects are automatically restored based on the recorded information. This paper demonstrates the feasibility of transparent checkpointing of OpenCL programs including MPI applications, and quantitatively evaluates the runtime overheads. It is also discussed that CheCL can enable process migration of OpenCL applications among distinct nodes, and among different kinds of compute devices such as a CPU and a GPU.
October 1, 2011 by hgpu