This is an experimental repository for MIT distributed systems version 6.5840. The Go module is version 6.5840, using Go 1.22, and contains approximately 64 Go files.
-
src/mr: MapReduce implementation, including coordinator, worker, and RPC definitions.
-
src/raft1: Raft implementation, including code related to election, log replication, persistence, and snapshots.
-
src/kvsrv1: Single-machine key-value service, supporting versioned Get/Put operations and key-value based locks.
-
src/kvraft1: Raft-based key-value service framework; currently, the core DoOp/Get/Put/Snapshot/Restore functionalities are still templates.
-
src/shardkv1: Sharded key-value framework. Shardcfg already has configuration and load balancing logic, but most core logic of the shard controller/shard group still needs to be completed.
-
src/labrpc, src/labgob, src/tester1: Experimental testing infrastructure.