6.5840 Lab 3: Raft
This is the first in a series of labs in which you'll build a fault-tolerant key/value storage system. In this lab you'll implement Raft, a replicated state machine protocol. In the next lab you'll build a key/value service on top of Raft. Then you will “shard” your service over multiple replicated state machines for higher performance. A replicated service achieves fault tolerance by storing complete copies of its state (i.e., data) on multiple replica servers. Replication allows the service to continue operating even if some of its servers experience failures (crashes or a broken or flaky network). The challenge is that failures may cause the replicas to hold differing copies of the data. Raft organizes client requests into a sequence, called the log, and ensures that all the replica servers see the same log. Each replica executes client requests in log order, applying them to its local copy of the service's state. Since all the live replicas see the same log contents, they all execu
6.5840 Lab 3: Raft 6.5840 - Spring 2026 6.5840 Lab 3: Raft Collaboration policy // Submit lab // Setup Go // Guidance // Piazza Introduction This is the first in a series of labs in which you'll build a fault-tolerant key/value storage system. In this lab you'll implement Raft, a replicated state machine protocol. In the next lab you'll build a key/value service on top of Raft. Then you will "shard" your service over multiple replicated state machines for higher performance. A replicated service achieves fault tolerance by storing complete copies of its state (i.e., data) on multiple replica s
saved by
related reading
- Students' Guide to Raft :: Jon Gjengsetthesquareplanet.com
- Lecture 6: Fault Tolerance: Raft (1)youtube.com
- Implementing Raft: Part 3 - Persistence and Optimizations - Eli Bendersky's websiteeli.thegreenplace.net
- Raft Consensus Algorithmraft.github.io
- 6.5840 Schedule: Spring 2026pdos.csail.mit.edu
- An Understandable Consensus Algorithmpdos.csail.mit.edu
- Building a BFT JSON CRDTjzhao.xyz
- 6.5840 Lab 1: MapReducepdos.csail.mit.edu
- Chain Replication for Supporting High Throughput and Availabilitycs.cornell.edu
- Lecture 5: Go, Threads, and Raftyoutube.com
- Scaling Replicated State Machines with Compartmentalizationmwhittaker.github.io
- Lecture 3: GFSyoutube.com