Lecture 7: Scheduling Algorithms

by Huanquan Lu

Supporting atomic update in the persume of power failure


2 big ideas

More generally, you implement an atomic action:

	BEGIN
	   pre-commit phase
	   commit
	   post-commit phase
	END
				
Two variants: write-ahead log and wirte-behind log
  • Commons:

  • Uncommons:

  • Another two variant: cascading aborts and compensating actions (necessary with complicated actions)

    Motivation: High throughput

  • Cascading aborts: More automatable
  • Compensating actions: More feasible
  • Unreliable programs have bad memory referrence


    Solutions: