Skip to content

消息传递系统

Message-passing system

进程仅通过发送和接收消息交互的分布式模型。

形式陈述

消息传递系统由进程集合、通信图、每个进程的局部状态机和发送/接收事件组成。进程不能直接读写他人的局部状态,只能通过信道传输消息。信道可分别规定可靠性、顺序、容量、重复和认证;这些性质不由“消息传递”自动给出。

直觉

全局状态分散在多个节点,任何节点只知道本地历史和已经收到的消息。网络边界因此同时是信息边界和故障边界。

例子与边界

可靠 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。