MIT DCC Lab 3, Overview
The problems covered in each stage of the third lab
This lab has been broken up into four parts: A through D. Each is rated medium or hard difficulty, meaning 6-12 hours per part.
Part A: Leader election
Part B: Actions & Consensus
Part C: Persistence
Part D: Log compaction
In Part A you write leader selection routines. Requires use of timers and terms.
In Part B you write routines for initiating actions, and then commiting them. Requires multi-step consensus.
In Part C you make persistence functional, so nodes can crash and start back up with minimal loss. Requires use of abstractions.
In Part D you add log compaction, which lets new nodes quickly catch up. Requires well-designed and efficient logic.