Yep, this is very important for grid computing where a user may log into an organization's workstation and the grid job running on the workstation needs to be evicted. With process checkpointing, you can resume the work later (perhaps even on another node). Without it, all of the intermediate progress is discarded.
This wikipedia article mentions few approaches: http://en.wikipedia.org/wiki/Application_checkpointing
This page has many more projects, though most are probably dead by now: http://checkpointing.org/
Both are incomplete, googling "linux checkpointing" returns things not mentioned in either, like https://ckpt.wiki.kernel.org/index.php/Main_Page