Overview
考试周结束,放松(摸鱼)了一个星期,带着负罪感做点正事…首先是两门高度相似的专业课出分了,一门浑水摸鱼的课(Computer System Design and Implementation)拿了A,另外一门复习得很认真的课(Advanced Distributed System)却拿了个B…嗯对,这篇文章就是对这门拿B的课的一个小结。
虽然很无奈,但是这也许就是有心栽花花不开吧~
Contents
并行(parallel)与分布式(distributed)的区别?当我们一定要对此做区分的时候,一般从两个角度来看:
- 数据通讯方式:并行是shared memory,分布式需要通过网络
- 时间:并行是shared memory,分布式需要通过网络
- failure 模型:并行是all-or-nothing的,分布式存在partial failure
从以下这些角度去看待分布式系统
- consistency in distributed system
- crash recovery & logging
- concurrency control
- two phase lock & snapshot isolation
- consensus
- two phase commit
- paxos
- distributed file system
- NFS
- GFS
- Chubby ?
- data-parallel programming
- MapReduce
- dryad
- graph computing
- Pregel & GraphLab
- PowerLyra & BiGraph
- GraphChi
- multicore & NUMA: phoenix & TMR
- Improving in-memory Computing with New Hardware Features