Blog


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.