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