6.5840: Distributed Systems
相关信息
课程链接: https://pdos.csail.mit.edu/6.824/schedule.html
Next Step:
- 7.20 GFS video
- 7.19 GFS Paper
- 7.18 LEC 2
- 7.17 MapReduce paper, LEC 2 Preparation
- 7.16 MapReduce video
1. MapReduce
TODO:
papervideo- lab
基础设施需要考虑的三大方面: Storage, Communication, Computation
对这三个方面进行抽象,以屏蔽低层的分布式细节,降低client code的复杂性
设计分布式系统的三个方面:
- Performance
- Scalibility: 2x computers means 2x throughput
- Fault Tolenrance
Impl:Non-volatile storage,Replication- Avilibility: 如果错误发生,系统仍然可用
- Recoverability: 如果错误发生,待错误解决后,系统能够正确运行
- Consistency
强一致性和弱一致性
MapReduce
Google为了解决对网页建立索引的任务,希望建立一种分布式计算的框架,让普通程序员也能编写分布式任务。
以Word Count解释MapReduce的过程
将多个MapReduce Job组合起来构建一个pipeline
Google File System and Map workers in the same machine
Batch processing vs Streaming processing