15 January 2007
Lampson: Lazy and Speculative Execution
Lazy: Copy-on-Write (CoW)
Keep multiple versions of a slowly changing state
Be lazy about allocating space for a new version
Do it only when there’s new data in either version
Otherwise, share the old data
Usually in a database or file system
: Data won’t be overwritten.
Usually an easy win.
Big win in latency when making a new version
Big win in bandwidth if versions differ little
: Data shared among versions (need GC)