Another userspace tool for process checkpointing is DMTCP: http://dmtcp.sourceforge.net/. From the About page:
"DMTCP (Distributed MultiThreaded Checkpointing) is a tool to transparently checkpoint the state of multiple simultaneous applications, including multi-threaded and distributed applications. It operates directly on the user binary executable, without any Linux kernel modules or other kernel modifications."