分布式系统中全局状态的实时计算算法解析
1. 全局状态计算概述
全局状态计算旨在设计算法来计算由多个进程组成的分布式应用的一致全局状态。为每个应用进程 $p_i$ 关联一个控制器进程 $c_{p_i}$,控制器的作用是观察关联的进程,以使得控制器集合能够计算出应用的一致全局状态。这本质上是一个观察问题,控制器需要在不改变应用进程行为的前提下进行观察。
全局状态计算问题具有以下特性:
- 活性 :若至少有一个控制器启动全局状态计算,那么就会计算出一个全局状态。
- 安全性 :
- 有效性 :设 $\Sigma_{start}$ 是全局状态计算开始时应用的全局状态,$\Sigma_{end}$ 是计算结束时的全局状态。计算得到的 $\Sigma$ 需满足 $\Sigma_{start} \to \Sigma$ 且 $\Sigma \to \Sigma_{end}$。
- 通道一致性 :$C_{\Sigma}$ 记录相对于 $\Sigma$ 处于传输中的所有消息(且仅记录这些消息)。
2. 计算结果的含义
2.1 结果的不确定性
计算得到的全局状态 $\Sigma$ 依赖于应用进程和负责计算全局状态的控制器所生成事件的执行和交织情况。有效性属性仅表明 $\Sigma$ 是执行过程可能经过的一致全局状态,但无法确定分布式执行是否真的经过了 $\Sigma$。这是因为独立事件可能被不同的顺序观察者感知为以不同顺序执行。
超级会员免费看
订阅专栏 解锁全文
1294

被折叠的 条评论
为什么被折叠?



