6.5840: Distributed Systems

发布时间 2023-07-16 22:07:06作者: rxh1999

相关信息

课程链接: https://pdos.csail.mit.edu/6.824/schedule.html
Next Step:

  • 7.18 LEC 2
  • 7.17 MapReduce paper, LEC 2 Preparation
  • 7.16 MapReduce video

1. MapReduce

TODO:

  • paper
  • video
  • 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