消息传递中的顺序约束与广播机制解析
1. 点对点因果消息传递基础算法
在消息传递系统中,确保消息按照因果顺序传递至关重要。下面我们将详细介绍一种点对点因果消息传递的基础算法。
1.1 算法实现
该算法的核心代码如下:
operation co_send(m) to pj is
(1) send CO(m,senti) to pj ;
(2) senti[i,j] ← senti[i,j] + 1.
when CO(m,sent) is received from pj do
(3) wait (∀k : deliveredi[k] ≥ sent[k,i]);
(4) co_delivery of m to the application layer;
(5) senti[j,i] ← senti[j,i] + 1;
(6) deliveredi[j] ← deliveredi[j] + 1;
(7) for each (x,y) ∈ {1,...,n}2
(8) do senti[x,y] ← max(senti[x,y],sent[x,y])
(9) end for.
当进程 pi 调用 co_send(m) 时,会先将消息 CO(m,senti) 发送到目标进程 pj ,然后增加 senti[i,j] 的值,这个值用于记录 pi 发送到 pj
订阅专栏 解锁全文
30

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



