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 |