3 ms·
All I want is a process that can be frozen and copied to multiple servers. start/stop is merely a state change.
by est 7y ago
All I want is a process that can be frozen and copied to multiple servers.
start/stop is merely a state change.
- lytedev 7y agoThis is interesting... May I ask why this is an important feature to you?
- est 7y agoIf you think about it most "Service", web or rpc, can be scaled in this way.
- blacksqr 7y agoDMTCP (Distributed MultiThreaded Checkpointing) http://dmtcp.sourceforge.net/ http://dmtcp.sourceforge.net/
- ethagnawl 7y agoThis sounds a lot like the Smalltalk VM.
- ehotinger 7y agoThat's quite an oversimplification of the problem, copying stack/heap/etc. Anyways, check out CRIU as a starting point.
- e12e 7y ago(and note that lxd/lxc allows migration based on it. Not sure about copying - I suspect you run into similar issues as fork - who owns the open file handles and other resources?)
- soraminazuki 7y agoYou’d be much better off using a VM if you want snapshots. Process snapshots requires that you can: 1. extract all kernel state related to the target process 2. replicate the state on another machine Both of these are extremely complicated problems. The first problem is difficult because it’s nearly impossible to isolate all relevant state in the kernel. Process state is closely intertwined with the entire kernel state, making it all too easy to produce an incomplete snapshot that can break the system in all sorts of ways. Worse, things would get more complicated if multiple processes are involved. The second problem is just as hard if you consider external dependencies or different kernel versions. It might simply be impossible to recreate the process even if you did succeed in creating the perfect snapshot. Process snapshots are simply not worth the trouble.