header software2

This website uses cookies to manage authentication, navigation, and other functions. By using our website, you agree that we can place these types of cookies on your device.

View e-Privacy Directive Documents

OpenCHK provides application checkpointing via compiler directives

OpenCHK is a programming interface to perform checkpointing based on the use of compiler directives. We propose a set of directives and clauses that allows users to specify in a simple and straightforward way checkpoint-restart (CR) operations. Besides the enhancement in programmability, our solution is portable among different CR backend libraries, namely, FTI, SCR, and VeloC. Our approach supports the common CR features provided by all the CR libraries. However, it can also be extended to support advanced features only available in some of the CR libraries, such as differential checkpointing, the use of HDF5 format in CR operations and the possibility of utilizing fault-tolerance-dedicated threads available on FTI. Nevertheless, it is important to highlight that, as a model, it is not bound to any specific library or implementation.

OpenCHK provides a high increase in programmability. OpenCHK requires much less code to perform CR than other state-of-the-art approaches. Concretely, on average, we reduce the number of lines required by 71%, 94%, and 64% compared with FTI, SCR, and VeloC, respectively. At the same time, no additional overhead was perceived when using our solution compared to directly using the backend libraries. Finally, portability is enhanced since our programming model allows one to use any of the backend libraries without changing a single line of code.