3 ms·
> There is this crazy effort underway to make every linux process serializable: allow not only memory be [un]dumped but all open file descriptors status (includ
by hansjorg 13y ago
> There is this crazy effort underway to make every linux process serializable: allow not only memory be [un]dumped but all open file descriptors status (including bringing socked in the same mode) and other environment too.
Anyone got any pointers on this?
- mayoff 13y ago> Checkpoint/Restore In Userspace, or CRIU (pronounced kree-oo, IPA: /krɪʊ/, Russian: криу), is a software tool for Linux operating system. Using this tool, you can freeze a running application (or part of it) and checkpoint it to a hard drive as a collection of files. You can then use the files to restore and run the application from the point it was frozen at. The distinctive feature of the CRIU project is that it is mainly implemented in user space. http://criu.org/Main_Page http://criu.org/Main_Page
- phaker 13y agoThis is called application or process checkpointing. There are/were lots of attempts to get it working under linux, some are more some less complete. It was a hot topic several years ago, but the interest sort of fizzled out since then because virtual machines sovle the same problem. A vm has more overhead but freezing a vm is also much more reliable. This wikipedia article mentions few approaches: http://en.wikipedia.org/wiki/Application_checkpointing http://en.wikipedia.org/wiki/Application_checkpointing This page has many more projects, though most are probably dead by now: http://checkpointing.org/ 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 https://ckpt.wiki.kernel.org/index.php/Main_Page
- jevinskie 13y agoYep, 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.
- gaius 13y agoPointers, or references? ;-)
- justincormack 13y agoAs always http://lwn.net http://lwn.net has the best overviews, eg start here https://lwn.net/Articles/525675/ https://lwn.net/Articles/525675/
- uhno 13y agoAnother userspace tool for process checkpointing is DMTCP: http://dmtcp.sourceforge.net/ 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."