15 January 2007
Lampson: Lazy and Speculative Execution
4
Lazy Execution in Systems
nWidely used in systems
oThough not much studied
nThe main idea: defer work that may not be needed
oPays in saved work (and perhaps in latency)
oPays in more concurrency
▬Only if you have extra resources
nDeferred work: a closure, or a program you write
nA few examples
oCarry-save adder: use two numbers to represent one
oWrite buffer: defer writes from processor to memory
oRedo logging: use log only after a crash