当算法达到终止配置时,分布式算法的计算终止,即配置中不存在进一步可应用的算法步,每个进程处于允许接收的状态,且所有信道为空,即消息终止,则这个配置是终止的。
1、适于异步消息
规则A:当发送消息时,p使得unackp增加;当接收来自q的消息时,p向q发送确认消息;当接到确认消息时,p使得unackp减少。
规则B:当进程发送时,它变成黑色;仅当进程静止时,才变成白色。
2、算法
var statep:(active,passive);
colorp:(white,black);
unackp:integer init 0;
Sp:{statep=active}
begin send <mes>;unackp:=unackp+1;(*RULE A*)
colorp:=black;(*Rule B*)
end
Rp:{a message <mes> from q has arrived at p}
begin receive <mes>;statep:=active;
send <ack> to q (*Rule A*)
end
Ip:{statep=active}
begin statep:=passive end
Ap:{An ackonwledgement <ack> has arrived at p}
begin receive <ack>;unackp:=unackp-1 end (*Rule A*)
start the detection,executed once by p0:
begini send <tok,white> to pN-1 end
Tp:(*Process p handles the token <tok,c>*)
{statep=passive∧unackp=0}
begin if p=p0
then if (c=white∧colorp=white)
then Annouce
else send <tok,white> to pN-1
else if (colorp=white)
then send <tok,c> to Nextp
else send <tok,black> to Nextp;
colorp:=white (*Rule B*)
end
分享到:
相关推荐
最短路的算法---Dijkstra算法 狄克斯特拉最短路算法
算法实验报告--Dijkstra.pdf
详细讲述如何实现最短路径,及c#的代码实现
数据结构课程设计报告--Dijkstra算法求最短路径.doc
对于基本算法,不光要求不能使用高级容器类,还要求程序有一定的检验错误能力。花了1天的时间写完,代码考虑结点过多内存占用的问题,因此关系矩阵采用映射的方式存储。由此带来的弊端是,找一个结点的时候需要循环...
图 -Floyed算法 -Dijkstra算法 -拓扑排序算法
图论- 网络流- 费用流- 基于 Dijkstra 的费用流.rar
基于matlab实现的图论模型-Dijkstra算法和Floyd算法 基于matlab实现的图论模型-Dijkstra算法和Floyd算法 基于matlab实现的图论模型-Dijkstra算法和Floyd算法 基于matlab实现的图论模型-Dijkstra算法和Floyd算法 ...
matlab开发-解决Dijkstra的问题。使用dijkstra找到迷宫的最短路径
基于Dijkstra辅助的指纹定位算法,潘永灿,黄建明,物联网技术是目前的热点技术,对行业的发展有广阔的应用前景。室内定位技术对物联网有着极为重要的意义。目前室内定位技术众多,
matlab开发-解决Dijkstra的问题.zip.zip
最短路径Dijkstra算法-最短路Dijkstra算法.rar 最短路径Dijkstra算法
A、掌握图中单源最短路径的概念; B、掌握Dijkstra算法的原理;
Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法是很有代表性的最短路径算法,在很多专业...
matlab开发-用Dijkstra和动态编程进行接缝雕刻。两种方法的比较
求解单源最短路径的Dijkstra算法模板,数学建模竞赛必备。
毕业设计:最短路径算法实现,Dijkstra算法,双向Dijkstra算法,CH算法,SILC算法 毕业设计:最短路径算法实现,Dijkstra算法,双向Dijkstra算法,CH算法,SILC算法 毕业设计:最短路径算法实现,Dijkstra算法,双向...
基于Dijkstra算法的铁路客运中转径路优化,余震江,王成良,铁路客运中转径路优化,是基于铁路运输网拓扑结构的最优路径算法问题。因为具有实际的应用背景,最优路径算法考虑的因素和限制条