NUS - Distributed Systems
01. 互斥 (Mutual Exclusion)
- Lamport面包店算法
- 共享变量:
choosing[]
(取号中标记)、number[]
(队列号)
02. 同步原语 (Synchronisation Primitives)
03. 一致性条件 (Consistency Conditions)
- 历史 (History)
- 顺序历史 (Sequential) vs. 并发历史 (Concurrent)
- 合法历史 (Legal History):符合顺序语义
- 顺序一致性 (Sequential Consistency)
- 寄存器一致性模型
- 原子性 (Atomic) > 正则性 (Regular) > 安全性 (Safe)
04. 模型与时钟 (Models & Clocks)
- 事件顺序
- 发送-接收顺序 (Send-Receive Order)
- 因果顺序 (Happened-Before Relation,
→
)
- 逻辑时钟 (Logical Clocks)
- 全序扩展:
(timestamp, process_id)
05. 全局快照 (Global Snapshot)
06. 消息排序 (Message Ordering)
- 全序广播 (Total Order Broadcast)
07. 领导者选举 (Leader Election)
- 环形网络选举
- Chang-Roberts算法:ID竞争,复杂度
O(n log n)
08. 分布式共识 (Distributed Consensus)
- 拜占庭容错 (Byzantine Fault Tolerance)
09. 自稳定 (Self-Stabilisation)
附录:关键证明与算法
- Peterson算法无饥饿性:等待进程最终因
turn
变量切换进入
整理后的内容覆盖课程核心概念,适合快速回顾与查漏补缺。