DMTCP (Distributed MultiThreaded Checkpointing) transparently checkpoints a single-host or distributed computation in user-space -- with no modifications to user code or to the O/S. It works on most Linux applications, including Python, Matlab, R, GUI desktops, MPI, etc. It is robust and widely used (on Sourceforge since 2007). For the newest releases of DMTCP, please go to: https://github.com/dmtcp/dmtcp
Among the applications supported by DMTCP are MPI (various implementations), OpenMP...