课程目录:
- Lec 1 --- Introduction
- 准备工作:研读 MapReduce(2004)
- Lab 1 --- MapReduce
- Lec 2 --- RPC and Threads
- 准备工作:完成Online Go tutorial
- Lec 3 --- GFS
- 准备工作:研读 GFS(2003)
- Lec 3 --- FAQ
- Lab 2 --- Raft ------TODO
- Lec 4 --- Primary/Backup Replication
- Lec 5 --- Fault Tolerance: Raft [1]
- 准备工作:研读 Raft (extended) (2014) 直到第5章结束
- Lec 5 --- FAQ --未完
- Lec 6 --- Fault Tolerance: Raft [2]
- 准备工作:研读 Raft (extended) (2014) 第6章直到论文结束
- Lec 6 --- FAQ --未完
- Lec 7 --- Spinnaker
- 准备工作:研读 Spinnaker (2011)
- Lec 7 --- FAQ --未完
- Lec 8 --- Zookeeper
- 准备工作:研读 ZooKeeper (2010)
- Lec 8 --- Zookeeper FAQ --未完
- Lab 3 --- KV Raft --未完
- Lec 9 --- Guest lecturer on Go
- Lec 9 --- Go FAQ --未完
- Lec 10 --- Distributed Transactions
- 准备工作:研读 6.033 Chapter 9 只需看9.1.5, 9.1.6, 9.5.2, 9.5.3, 9.6.3
- Lec 10 --- Lec10_Distributed_Transactions FAQ --未完
- Lec 11 --- Optimistic Concurrency Control
- Lec 12 --- Big Data: Spark
- Lab 4 --- Sharded KV
- Lec 13 --- Big Data: Naiad
- Lec 14 --- Distributed Machine Learning: Parameter Server
- Lec 15 --- Cache Consistency: Frangipani
- Lec 16 --- Cache Consistency: Memcached at Facebook --未完
- 准备工作:研读 Scaling Memcache at Facebook
- Lec 17 --- Disconnected Operation, Eventual Consistency
- Lec 18 --- Guest lecturer: Frank Dabek of Google
- Lec 19 --- Peer-to-peer, DHTs
- Lec 20 --- Dynamo
- Lec 21 --- Peer-to-peer: Bitcoin
- Lec 22 --- Project demos
特别说明:
- 使用 MIT 2018 年的6.824课程,具体可以看MIT Open Course 的课程地址。
- 翻译课程中的英文课件,并适当加入自己的注解。
- 课程中要求不要将Lab等解决代码提交到Pulibc的Git项目中,所以项目中的源码是课程原来的代码,不含解决Lab的代码。
- 一如既往,老师课上讲的内容比较少,主要靠学生课前论文阅读,课后练习钻研。本课程涉及的分布式论文比较多。