Course website: http://nil.csail.mit.edu/6.824/2021/schedule.html
Click the "Report" column to see the report of each lab, which includes how I designed the architecture and the experiences learned in the lab.
Checkout the corresponding tag to see the final code of each lab.
Lab # | Topic | Code | All tests passed | Report |
---|---|---|---|---|
Lab 1 | MapReduce | lab1 tag |
✅ | lab1.md |
Lab 2A | Raft leader election | lab2a tag |
✅ | lab2a.md |
Lab 2B | Raft log replication | lab2b tag |
✅ | lab2b.md |
Lab 2C | Raft state persistence | lab2c tag |
✅ | lab2c.md |
Lab 2D | Raft log compaction | lab2d tag |
✅ | lab2d.md |
Lab 2 | Raft | lab2 tag |
✅ | |
Lab 3A | K/V service without snapshots | lab3a tag |
✅ | lab3a.md |
Lab 3B | K/V service with snapshots | lab3b tag |
✅ | lab3b.md |
Lab 3 | Fault-tolerant K/V service | lab3 tag |
✅ | |
Lab 4A | Shard controller | lab4a tag |
✅ | lab4a.md |
Lab 4B | Sharded K/V Server | lab4b tag |
✅ | lab4b.md |
Lab 4 | Sharded K/V Service | lab4 tag |
✅ |
You can run the tests by running GitHub Action workflows after forking this repository.