15 January 2007
Lampson: Lazy and Speculative Execution
11
Lazy: Redo Logging
nFor fault-tolerant persistent state
oPersistent state plus log represents current state
oOnly use the log after a failure
nps = persistent state, l = log, s = state
os = ps; l
oTo apply  an update u: l := l; u   writing a redo program
oTo install an update u: ps := ps; u
oNeed s' = s, so ps; u; l = ps; l
ou; l = l is sufficient
nThe bet: No crash. An easy win
nRep: state = persistent state + log