分散式系統
Distributed Systems
| 節 | 週一 |
|---|---|
3 10:10–11:00 | 分散式系統 MB311 3 節連堂 |
4 11:10–12:00 | |
N 12:20–13:10 |
* 根據陽明交大上課時間表所列
Modern applications and systems are distributed for many reasons, which includes fault-tolerance, resource sharing, etc. This course aims at providing students with a deep understanding of distributed systems. In this class, students will learn: 1. The principles, techniques, complete overview, and practices relevant to the design and implementation of distributed systems. 2. Identifying the desired properties that should govern the design of well-structured distributed systems 3. Learning how to design, implement and evaluate the accuracy and efficiency of distributed algorithms, where distributed algorithms have arisen in a wide spectrum of applications, including distributed information processing, scientific computing, etc. 4. Realizing the challenges encountered during the design and analysis of a distributed system 5. Being able to identify features and design decisions that may cause problems, as well as others that cannot be realized by any correct distributed system implementation 6. The trend of the distributed systems and its related application technologies. 7. To practice and write academic papers To practice and present papers
Data Communication and Networks (Recommended)
Midterm 30% Presentation 30% Final Term Paper/Project 30% Participation 10%
| 週次 | 主題 |
|---|---|
| 第 1 週 | Introduction: Definition of a distributed system, Resources, Resource sharing, Challenges, Hardware Concepts, Client-Server: An example |
| 第 2 週 | Processes: Threads, Processes, Inter-process communication, Clients, Servers |
| 第 3 週 | System Model: Architectural models, Software layers, Design requirements, Interaction model, Formal model for message-passing systems, Performance, Computer Clocks and Timing, Failures |
| 第 4 週 | Communication: Layered Protocols, Remote Procedure Call, Remote Object Invocation, Message-oriented communication |
| 第 5 週 | Naming: Naming entities, locating mobile entities, Removing unreferenced entities |
| 第 6 週 | Basic Asynchronous Network Algorithms: Simple broadcast and converge-cast protocols, Leader Election in a Ring, Leader Election in an arbitrary network, Spanning Tree Construction, Breadth-first search and shortest paths, Minimum spanning trees |
| 第 7 週 | The Consensus problem - Fault tolerance: Solving consensus in synchronous networks$ |
| 第 8 週 | Logical Time: Capturing causality, Examples of using causality, Logical time and logical clocks, Vector Clocks, Clock synchronization, Applications |
| 第 9 週 | Network Resource Allocation: Mutual Exclusion, General Resource Allocation 10th Global Snapshots and Stable Properties: Consistent global snapshots, Termination-detection |
| 第 10 週 | Midterm |
| 第 11 週 | Consistency and Replication: Consistency models, Distribution protocols, Consistency protocols |
| 第 12 週 | P2P Systems: Chord, CAN, Discussion of unstructured P2P systems – Part1 |
| 第 13 週 | P2P Systems: Discussion of more unstructured P2P systems – Part 3 |
| 第 14 週 | Transactions and Concurrency Control: Transactions, Optimistic concurrency control, timestamp ordering, Distributed Transactions |
| 第 15 週 | Discussion of IEEE transactions paper related to P2P, Distributed Systems, or Wireless networks |
| 第 16 週 | Final Presentation |
Andrew S. Tanenbaum and Maarten van Steen, “Distributed Systems: Principles and Paradigms”, 2nd edition, CreateSpace Independent Publishing Platform, ISBN: 153028175X IEEE Transactions papers (TBD)
- 地點
- MB307
- 時間
- 星期二PM1:00
- 聯絡方式
- 03/5712121-57407