Skip to content

定义Definition

分布式配置

Distributed configuration · Global configuration

全部进程局部状态与通信介质状态组成的系统全局状态。

形式陈述 ​

设系统由进程 p1,…,pn 与通信介质组成,进程 pi 是局部状态取自集合 Qi 的状态机。一个分布式配置(全局配置)是某一时刻系统的完整快照

C=(s1,…,sn,M),

其中 si∈Qi 是 pi 的局部状态,M 记录通信介质的状态——在消息传递系统中,它按信道语义记录各信道里的在途消息:无序信道可用多重集,FIFO 信道则须保留为序列;在共享内存模型中,M 是共享对象的取值。配置空间因此是各局部状态空间的笛卡尔积再乘上介质状态空间的子集。算法的一步把配置 C 按某个在 C 中可用的事件 e(交付某消息、某进程做内部步等)转移到后继配置 C′;初始配置集合与这一转移关系共同定义系统的状态空间,一次执行就是配置图中的一条路径。异步模型中的配置是数学快照,不要求任何观察者能在现实中瞬时读取全局状态。

直觉

协议进程只能读取自己的局部状态,而分析者把所有局部状态与介质状态放进同一配置。前者是算法能使用的信息,后者是证明的记账对象;数学上定义配置,并没有给进程增加读取全局状态的指令。

配置足够完整,才能检查每条边是否合法:交付事件需要消息确在信道内,恢复事件需要节点已崩溃,原子交换需要按共享对象当前值返回结果。安全性证明由此化成两步:初始配置满足不变量;每个允许事件都把满足不变量的配置送到仍满足它的配置。

两个配置若在进程 P 可观察的局部状态上相同,那么确定性 P 面对相同下一输入必须采取相同动作,即使其他节点与信道状态不同。这正是不可区分性论证的出发点。随机算法还需固定已见随机结果或比较下一步的条件分布,不能无条件断言两次运行会抽到同一随机数。

例子与边界

正例:两个进程打乒乓的计数协议,p1 发出"计数 3"后消息尚未到达 p2。此刻配置为 (s1,s2,{“3”})——消息不属于任何进程的局部状态,而挂在信道分量里。比较两个局部状态完全相同、仅在途消息不同的配置:一个信道里有"3"、另一个信道为空。前者交付消息后 p2 会继续推进,后者则可能永远等待——未来行为截然不同。这说明"局部状态之积"并不足以刻画全局状态,介质分量是配置定义里不可省略的部分。

边界在于"什么必须计入配置"取决于模型的完备性要求:崩溃标志、定时器读数、预采样随机带的位置、稳定存储内容——凡是会影响后续转移的信息都得纳入,否则"当前配置决定可能的下一步"这一状态机式描述被破坏,基于配置的归纳与 Markov 式论证随之失效。随机化有两种常用记法:预先固定随机带时须记录带内容及读取位置;用概率转移核直接生成新随机结果时,不必把尚未抽取的未来硬币塞进当前配置,但必须保留影响其分布的状态。Crash-recovery 则必须区分稳定存储与易失状态,否则重启边无法表达究竟忘掉什么。

若 A 发送带编号 m 的消息后信道为 [m],再发送同内容的新消息 n,则 FIFO 配置为 [m,n]。交换为 [n,m] 会改变下一次合法交付;无序信道可用多重集保存二者,但仍不能简化成只含 payload 的集合,否则两条合法消息会被合并。配置表示选择必须保留模型真正区分的历史。

推论与应用

配置是分布式算法证明的通用底座。安全性证明写成“所有从初始配置可达的配置都满足不变量”;把配置和一步事件组成标号转移系统后,显式状态模型检查才在其有穷化图上搜索违例。前者定义语义对象,后者是探索它的算法,状态哈希或约简不能反过来省略会影响未来行为的配置分量。

终止检测尤其依赖完整配置:全体节点被动仍可能有一条任务在途,宣布完成必须同时排除两者。自稳定则改变初态量词,从任意允许配置证明最终进入合法集,并另外证明合法集的正常转移闭包;只证明好初态不变式不足以说明坏态能恢复。

FLP不可能性的论证也生活在配置空间里:把配置按可能的决定值分为二价与单价,再证明对手调度能让系统永远停留在二价配置中。

一致切片从每个进程取一个因果向下闭合的事件前缀,由各前缀末端局部状态和跨边界在途消息组成一个全局配置。它不要求这些局部状态在同一物理时刻真实并列;Chandy–Lamport 快照则是在特定通道假设下构造这种配置的算法。配置也搭配分布式执行与可容许执行使用:执行交替记录事件与配置,二者共同给出状态变化及其原因。

参考资料
  • Nancy A. Lynch, Distributed Algorithms, Morgan Kaufmann, 1996,Chs. 1–25。
  • Hagit Attiya and Jennifer Welch, Distributed Computing: Fundamentals, Simulations, and Advanced Topics, 2nd ed., Wiley, 2004,Chs. 1–18。
关系图谱22 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系