mit6.824 Spring 2020. Implemented with Go 1.18.
http://nil.csail.mit.edu/6.824/2020/schedule.html
MIT 6.824 is a graduate-level course offered by the Massachusetts Institute of Technology (MIT) focusing on distributed systems. The course provides an in-depth exploration of the design, implementation, and evaluation of distributed systems.
In this repository, I realized a Raft-based KV store. I realized a Paxos-based KV store in another repository (6.824-2015).
Schedule | Content | Condition |
---|---|---|
Lecture #01 | Introduction | √ |
Lecture #02 | RPC and Threads | √ |
Lecture #03 | GFS | √ |
Lecture #04 | Primary-Backup Replication | √ |
Lecture #05 | Go, Threads, and Raft | √ |
Lecture #06 | Fault Tolerance: Raft (1) | √ |
Lecture #07 | Fault Tolerance: Raft (2) | √ |
Lecture #08 | Zookeeper | √ |
Lecture #09 | More Replication, CRAQ | √ |
Lecture #10 | Cloud Replicated DB, Aurora | √ |
Lecture #11 | Cache Consistency: Frangipani | √ |
Lecture #12 | Distributed Transactions | √ |
Lecture #13 | Spanner | √ |
Lecture #14 | Optimistic Concurrency Control | √ |
Lecture #15 | Big Data: Spark | √ |
Lecture #16 | Cache Consistency: Memcached at Facebook | √ |
Lecture #17 | Causal Consistency, COPS | √ |
Lecture #18 | Fork Consistency, Certificate Transparency | √ |
Lecture #19 | Peer-to-peer: Bitcoin | √ |
Lecture #20 | Blockstack | √ |
- √ Lab 1: MapReduce
- √ Lab 2: replication for fault-tolerance using Raft
- √ Lab 3: fault-tolerant key/value store
- √ Lab 4: sharded key/value store
papers | notes |
---|---|
MapReduce (2004) | |
GFS (2003) | |
Fault-Tolerant VM(2010) | |
Raft-extended (2014) | |
ZooKeeper (2010) | |
CRAQ (2009) | |
Frangipani | |
Spanner (2012) | |
FaRM (2015) | |
Spark (2012) | |
Memcached at Facebook (2013) | |
COPS (2011) | |
Bitcoin (2008) | |
BlockStack (2017) | |
AnalogicFS experience paper |