On 02/23/2011 10:03 AM, Avi Kivity wrote:
On 02/23/2011 05:50 PM, Anthony Liguori wrote:
I still don't see. What would you do with thousands of checkpoints?
For reverse debugging, if you store checkpoints at a rate of save,
every 10ms, and then degrade to storing every 100ms after 1 second,
etc. you'll have quite a large number of snapshots pretty quickly.
The idea of snapshotting with reverse debugging is that instead of
undoing every instruction, you can revert to the snapshot before, and
then replay the instruction stream until you get to the desired point
in time.
You cannot replay the instruction stream since inputs (interrupts,
rdtsc or other timers, I/O) will be different. You need Kemari for this.
Yes, I'm well aware of this. I don't think all the pieces where ever
really there to do this.
Regards,
Anthony Liguori
For disaster recovery, there are some workloads that you can
meaningful revert to a snapshot provided that the snapshot is stored
at a rate of something frequency (like once a second). Think of
something like a webserver where the only accumulated data is logs.
Losing some of the logs is better than losing all of the logs.
Are static webservers that interesting? For disaster recovery?
Anything else will need Kemari.