| 一、教學目標 |
To understand the issues in the field of cloud computing and to implement useful distributed algorithms |
| 二、先修科目 |
data structures or algorithms |
| 三、教材內容 |
1. MapReduce and Hadoop
2. Leader election
3. Distributed consensus
|
| 四、教學方式 |
slides |
| 五、參考書籍 |
N. A. Lynch, Distributed Algorithms, Morgan Kaufmann
G. Tel, Introduction to Distributed algorithms, 2nd ed., Cambridge |
| 六、教學進度 |
核心能力指標權重 (資管專才 20% 務實學習 20% 網路達人20% 創新研究 20% 國際宏觀 20%)
week 1: Introduction
week 2: MapReduce -- using Hadoop
week 3: MapReduce -- Word count and graph algorithms
week 4: Synchronous network models
week 5: Leader election in ring networks
week 6: Leader election in general networks
week 7: Quiz
week 8: Distributed consensus with link failures -- deterministic version
week 9: Distributed consensus with link failures -- randomized version
week 10: Distributed consensus with process failures -- the stopping failure model
week 11: Distributed consensus with process failures -- the Byzantine failure model
week 12: k-Agreement
week 13: Approximate agreement
week 14: Midterm
week 15: Asynchronous system models
week 16: Oral presentation -- MapReduce
week 17: Oral presentation -- Google file system
week 18: Demo -- program assignments
|
| 七、評量方式 |
midterm 30%, final 30%, project 30%, participation 10% |
| 八、講義位址 |
|