异步分布式系统中的逻辑时间与向量时钟
1. 相关事件与向量时钟管理
在分布式系统中,并非所有事件都具有同等的重要性。在某些抽象层面上,只有一部分事件是相关的。例如,在一些应用中,只有局部变量的修改或特定消息的处理才是相关的。给定一个分布式计算 $\vec{H} = (H, \xrightarrow{ev})$,设 $R \subset H$ 是其定义为相关的事件子集。
相关事件的因果优先关系 $\xrightarrow{re}$ 定义如下:
$\forall e1, e2 \in R : (e1 \xrightarrow{re} e2) \Leftrightarrow (e2 \xrightarrow{ev} e1)$
这个关系实际上是 $\xrightarrow{ev}$ 在 $R$ 元素上的投影。对相关事件的向量时钟管理(图 7.18)是图 7.9 所描述管理方式的简化版本。尽管通信事件本身不相关,但它们参与了因果优先关系的跟踪。
以下是用于相关事件的向量时钟系统代码(针对进程 $p_i$):
when producing a relevant internal event e do
(1) vci[i] ← vci[i] + 1;
(2) Produce the relevant event e. % The date of e is vci[1..n].
when sending MSG(m) to pj do
(3) send MSG(m,vci[1..n]) to pj.
when MSG(m,vc) is received f
超级会员免费看
订阅专栏 解锁全文
26

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



