This kind of generic process state-saving is extremely complex. Your description is greatly oversimplifying the problem.
For Linux: * There is a user-space solution called CyroPID. It hasn't been updated since 2005 and doesn't work on recent kernels (because, yes, the whole thing breaks as soon as the kernel changes a bit how process memory is organized). * There is a fork called CyroPID2, which hasn't been updated since 2009 and doesn't work at all on 64-bit. * There's a "ckpt" system involving kernel patches. I don't know if it's merged in the mainline kernel yet, but either way you need root to checkpoint a process. * BLCR looked quite promising: it's regularly updated and supports Linux kernels up to 3.7.1. But you need to load a kernel module (off-limits for BOINC). I don't think you can slap together some "save memory and reload it at a specified location" code and do what teams of low-level developers couldn't do in all these years ;) The only generic user-space process state saving that works flawlessly is to run everything in a virtual machine and take a snapshot of it, and I think BOINC supports that already. -- Nicolás 2013/4/11 Robert Miles <[email protected]> > I'm interested, but doubt that I have enough of the right experience > to be ready. > > On your list of development tasks: > > Runtime system > > Implement a mechanism where the client can ask apps to checkpoint. > > Something to think about: Which versions of which operating systems > allow requesting memory blocks of specified sizes at specified locations? > > This would make it easier to add checkpoints to programs that don't have > them by copying all of the program's memory to a file, and restarting from > checkpoints by copying it back to the same locations in memory. Extra > disk space required for such checkpoints, but at least it's better than > not having checkpoints at all. > > For 64-bit Windows, this needs to be evaluated separately for 32-bit > programs and 64-bit programs. > > From: David Anderson <[email protected]> > Subject: [boinc_dev] updated list of development tasks > > > Any programmers out there interested in helping BOINC? >> I've updated the list of development tasks: >> http://boinc.berkeley.edu/**trac/wiki/DevProjects<http://boinc.berkeley.edu/trac/wiki/DevProjects> >> > > -- David >> > > ______________________________**_________________ > boinc_dev mailing list > [email protected] > http://lists.ssl.berkeley.edu/**mailman/listinfo/boinc_dev<http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev> > To unsubscribe, visit the above URL and > (near bottom of page) enter your email address. > _______________________________________________ boinc_dev mailing list [email protected] http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev To unsubscribe, visit the above URL and (near bottom of page) enter your email address.
