I've been working with Go for some time and I'm looking at ways to
checkpoint/backup the state of a running program at certain intervals. The
domain would be long-running scientific computations.
My current solution is a simple language level checkpointing mechanisms
that relies on bson, encoding/json and encoding/gob to essentially
serialise a state defined by the programmer (requiring fields of structs to
be exported etc).
What I'm not quite clear on, would be the best approach to do incremental
checkpointing in go. It's currently very easy and nice to just restore a
gob into the object provided, but my use-case only changes a small set of
the objects, so incremental checkpointing would reduce the disk writes
tremendously. Would a simply binary diff, overwrite etc. be the best
Also, classical checkpointing mechanisms rely on either OS level knowledge
of changed pages/words (by locking and unlocking pages before they can be
written to etc.). Is if there's anything in the Go runtime that I can
leverage this, or some OS project I can look at?
Thanks a bunch!
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to email@example.com.
For more options, visit https://groups.google.com/groups/opt_out.