分布式终止检测算法深度解析
1. 扩散计算的终止检测算法
在分布式系统中,判断一个扩散计算是否终止是一个重要的问题。这里介绍的算法通过进程的状态和消息的确认机制来实现终止检测。
当进程 pi 开始等待消息时,会执行以下操作:
when pi starts waiting for a message do
(1) statei ← passive;
(2) let k = parenti;
(3) if (deficiti = 0)
(4) then send ACK() to pk; parenti ← ⊥
(5) end if.
此操作将进程 pi 的状态设置为被动,如果其本地赤字( deficiti )为 0,则向其父进程发送确认消息并将父进程设置为空。
当进程 pi 发送消息时:
when pi executes send(m) to pj do
(6) deficiti ← deficiti + 1.
本地赤字加 1,表示有未确认的消息。
当进程 pi 接收消息时:
when pi receives a message m from pj do
(7) statei ← acti
超级会员免费看
订阅专栏 解锁全文
884

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



