  This work presents transparent checkpointing of OpenGL applications, refining
the split-process technique[1] for application in GPU-based 3D graphics. The
split-process technique was earlier applied to checkpointing MPI and CUDA
programs, enabling reinitialization of driver libraries.
  The presented design targets practical, checkpoint-package agnostic
checkpointing of OpenGL applications. An early prototype is demonstrated on
Autodesk Maya. Maya is a complex proprietary media-creation software suite used
with large-scale rendering hardware for CGI (Computer-Generated Animation).
Transparent checkpointing of Maya provides critically-needed fault tolerance,
since Maya is prone to crash when artists use some of its bleeding-edge
components. Artists then lose hours of work in re-creating their complex
environment.
