异步系统上模拟同步的同步器介绍
在分布式系统中,为了在异步系统上模拟同步操作,出现了多种同步器。下面将详细介绍基本同步器和高级同步器的相关内容。
基本同步器:α 和 β
在模拟同步时,同步器 β 有其特定的设置和工作机制。
同步器 β 的局部变量
- 每个进程$p_i$有$c_i$个邻居,通过$channel_i[1..c_i]$这些通道进行通信。
- 生成树在每个进程$p_i$处通过以下局部变量实现:
- $channel_i[parent_i]$表示连接$p_i$与其树中父节点的通道。根节点$p_a$有一个额外的通道索引$parent_a$,使得$channel_a[parent_a] = ⊥$。
- $children_i$是一个集合,包含连接进程$p_i$与其子节点的通道索引。若$children_i = ∅$,则$p_i$是树的叶子节点。
- 由于$SAFE()$消息仅从进程发送给其父节点,同步器 α 中使用的多重集$neighbors_safe_i$被局部变量$children_safe_i$取代。进程$p_i$仅在控制树中等待来自其子节点的$SAFE()$消息,所以该变量不再需要是多重集,且$children_safe_i$初始为空。
同步器 β 的算法
同步器 β 的行为如下:
repeat
(1) if (channeli[parenti] ̸= ⊥) the
超级会员免费看
订阅专栏 解锁全文
5867

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



