形式陈述
消息传递系统由进程集合、通信图、每个进程的局部状态机和发送/接收事件组成。进程不能直接读写他人的局部状态,只能通过信道传输消息。信道可分别规定可靠性、顺序、容量、重复和认证;这些性质不由“消息传递”自动给出。
直觉
全局状态分散在多个节点,任何节点只知道本地历史和已经收到的消息。网络边界因此同时是信息边界和故障边界。
例子与边界
可靠 FIFO 信道保证同一发送者到同一接收者的消息按发送顺序且最终到达;非 FIFO 可靠信道只保证最终到达。共享内存算法可经模拟转换为消息传递算法,但代价和故障假设会改变。
推论与应用
广播、共识、复制和分布式快照都在消息传递模型中定义。算法证明需要明确通信拓扑、时间模型、信道语义和允许的进程故障。
参考资料
- Nancy A. Lynch, Distributed Algorithms, Morgan Kaufmann, 1996, Chapters 2–7。
- Hagit Attiya and Jennifer Welch, Distributed Computing: Fundamentals, Simulations, and Advanced Topics, 2nd ed., Wiley, 2004, Chapters 2–3。