Re: [discuss] going back: reverse-execution vs. checkpoint/restart

Dan Shearer
2005-05-23T19:32:05Z

On Mon, May 23, 2005 at 11:51:03AM -0700, Michael Snyder wrote:

> As Frank points out, the "rs/bs" and "rc/bc" primatives
> are useful only for a really clever target -- one that
> not only has a means of backing up to a previous state,
> but can do it at single-instruction granularity, fast
> and efficiently, and has worked out a lot of the 'kinks'
> that a lot of us haven't even thought about yet. And
> as Paul points out, there is currently only one such
> target that we know of.

True. One of the interesting things here is that while the limiting case
above is just the same as checkpointing before in terms of the technical
concept, the end result is quite different. I charaterise the above as
reversible hardware and the below as timeshifting.

> The bookmark (or checkpoint/restart) model is a considerably
> smaller and less daunting "chunk" for the target-side
> implementer to take on at one go -- and is not necessarily
> limited to simulators. If gdb implemented an interface for
> checkpoint/restart, there's a good chance that a number of
> targets would soon take advantage of it.

I agree.

http://sbuml.sourceforge.net/ (32-bit intel User Mode Linux instances)
probably could use it straight away.

Xen (which runs Linux, BSD and other targets on x86 only for now)
currently can save and restore memory state but doesn't do disk state.
But presumably if the developers decided it was interesting they could
quickly do it. See http://www.cl.cam.ac.uk/Research/SRG/netos/xen/

QEMU (which runs numerous OSs on PPC, x86, Sparc and others to varying
degrees of completeness) already implements savevm and loadvm commands
for memory and a snapshot command for disk images. QEMU would not be far
from being able to incorporate a stub supporting this level of
functionality. See http://fabrice.bellard.free.fr/qemu/

DragonflyBSD and a number of other OSs offer checkpointing at the
process level and are working to expand the scope.

In commercial space, Solaris for example has had full-system
checkpointing for nearly ten years done by Aurema, who also did
implementations for other companies.

--
Dan Shearer
dan@shearer.org