40、消息传递顺序约束与广播算法详解

消息传递顺序约束与广播算法详解

1. 消息传递的顺序约束

在消息传递系统中,消息的传递顺序至关重要。消息图能够捕捉消息共同广播时的直接因果优先级,即一个消息的共同传递仅取决于图中其直接前驱消息的共同传递。例如,在图中,消息 m4 的共同传递受 m3 和 m2 共同传递的约束,而 m3 的共同传递受 m1 共同传递的约束,所以 m4 的共同传递并不直接受 m1 共同传递的约束。这意味着消息只需携带由关系 ≺im 定义的图中其直接前驱的控制信息。

2. 因果屏障与本地数据结构

为每个应用消息关联一个标识(由序列号和进程标识组成的对)。与应用消息关联的因果屏障是消息因果图中该消息直接前驱消息的标识集合。每个进程管理以下数据结构:
- causal_barrieri :是进程 pi 下一次共同广播消息的直接前驱消息的标识集合,初始为空。
- deliveredi[1..n] :与之前算法中的含义相同,初始化为 [0,...,0] deliveredi[j] 包含进程 pi 已共同传递的来自进程 pj 的最后一条消息的序列号。
- sni :是一个本地整数变量,初始化为 0,用于统计进程 pi 已共同广播的消息数量。

3. 基于因果屏障的因果广播算法

以下是基于因果屏障的因果广播算法代码:

operation co_broadcast(m) is
(1)
for each j
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值