`
deepfuture
  • 浏览: 4398061 次
  • 性别: Icon_minigender_1
  • 来自: 湛江
博客专栏
073ec2a9-85b7-3ebf-a3bb-c6361e6c6f64
SQLite源码剖析
浏览量:80056
1591c4b8-62f1-3d3e-9551-25c77465da96
WIN32汇编语言学习应用...
浏览量:69999
F5390db6-59dd-338f-ba18-4e93943ff06a
神奇的perl
浏览量:103295
Dac44363-8a80-3836-99aa-f7b7780fa6e2
lucene等搜索引擎解析...
浏览量:285634
Ec49a563-4109-3c69-9c83-8f6d068ba113
深入lucene3.5源码...
浏览量:15001
9b99bfc2-19c2-3346-9100-7f8879c731ce
VB.NET并行与分布式编...
浏览量:67498
B1db2af3-06b3-35bb-ac08-59ff2d1324b4
silverlight 5...
浏览量:32099
4a56b548-ab3d-35af-a984-e0781d142c23
算法下午茶系列
浏览量:45965
社区版块
存档分类
最新评论

分布式计算-扩展Dijkstra-Feijen-Van Gasteren算法确认终止

阅读更多

当算法达到终止配置时,分布式算法的计算终止,即配置中不存在进一步可应用的算法步,每个进程处于允许接收的状态,且所有信道为空,即消息终止,则这个配置是终止的。

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算法.ppt

    Dijkstra算法是一种常用的图搜索算法,用于计算图中的一条最短路径。该算法的主要思想是从图的某个顶点出发,逐步扩展到其他顶点,直到找到目标顶点的最短路径。 在本节中,我们将详细讲述Dijkstra算法的实现过程,...

    最短路的算法---Dijkstra算法

    狄克斯特拉(Dijkstra)算法是一种用于解决单源最短路径问题的算法,由荷兰计算机科学家艾兹格·狄克斯特拉在1959年提出。在图论中,给定一个带权重的有向图,狄克斯特拉算法能够找出从源节点(source)到其他所有...

    数据结构课程设计报告--Dijkstra算法求最短路径.doc

    Dijkstra算法的基本思想是从起点开始,逐步扩展到终点,直到找到最短路径。 数据结构在Dijkstra算法中的应用 数据结构在Dijkstra算法中的应用非常重要。数组、链表、树、图等数据结构都可以应用于Dijkstra算法的...

    算法实验报告--Dijkstra.pdf

    Dijkstra算法基于贪心策略,逐步扩展最短路径集,直到找到所有顶点的最短路径。 在实验中,算法的实现环境是Windows 7操作系统,开发工具为Visual Studio 2010。实验内容涉及设计和实现Dijkstra算法,并将两点间的...

    用Dijkstra算法求图中单源最短路径

    实验结果表明,Dijkstra算法能够快速地计算出单源最短路径,并且具有良好的可扩展性。 Dijkstra算法是一种常用的图搜索算法,能够快速地计算出单源最短路径,并且广泛应用于各种领域。但是,Dijkstra算法也存在一些...

    Dijkstra(迪杰斯特拉)算法模板

    Dijkstra算法是一种经典的单源最短路径算法,主要用于计算一个起点到图中其他所有顶点的最短路径。它在多个领域都有广泛应用,例如网络路由、地图导航等。Dijkstra算法的主要特点是采用贪心策略,通过不断扩展与起点...

    分布式系统高引经典获奖论文-Edsger Dijkstra Prize

    6. "Generalized FLP Impossibility Result for t Resilient Asynchronous Computations":FLP不可能性结果是分布式计算的基础理论,指出在存在故障的异步系统中,无法保证确定性的共识算法总是能够终止。...

    迪杰斯克拉无向图最短路径----dijkstra最短路径算法

    对于基本算法,不光要求不能使用高级容器类,还要求程序有一定的检验错误能力。花了1天的时间写完,代码考虑结点过多内存占用的问题,因此关系矩阵采用映射的方式存储。由此带来的弊端是,找一个结点的时候需要循环...

    matlab-基于Dijkstra算法的地图最优路线搜索matlab仿真-源码

    标题中的“matlab-基于Dijkstra算法的地图最优路线搜索matlab仿真-源码”表明了这是一个使用MATLAB实现的项目,目标是通过Dijkstra算法在地图上寻找最短路径。这个项目提供了源代码,可以供学习者理解算法的实现过程...

    matlab开发-解决Dijkstra的问题.zip.zip

    MATLAB是一种广泛用于数值计算、符号计算、数据可视化和算法开发的高级编程环境。Dijkstra算法,由荷兰计算机科学家艾兹格·迪科斯彻提出,是一种寻找图中两点间最短路径的有效方法,特别适用于加权有向图。 **...

    0846-极智开发-解读Dijkstra算法及示例代码

    0846_极智开发_解读Dijkstra算法及示例代码

    基于matlab实现的图论模型-Dijkstra算法和Floyd算法

    基于matlab实现的图论模型-Dijkstra算法和Floyd算法 基于matlab实现的图论模型-Dijkstra算法和Floyd算法 基于matlab实现的图论模型-Dijkstra算法和Floyd算法 基于matlab实现的图论模型-Dijkstra算法和Floyd算法 ...

    Dijkstra最短路径算法

    **Dijkstra最短路径算法**是图论中的一个重要算法,由荷兰计算机科学家艾兹格·迪科斯彻在1956年提出,主要用于解决单源最短路径问题。这个算法能够找到图中一个起点到其他所有顶点的最短路径,尤其适用于有向图或无...

    matlab-基于Dijkstra的障碍物规避路线规划算法MATLAB仿真,带GUI界面可以生成不同大小地图-源码

    在本资源中,我们关注的是一个使用MATLAB实现的基于Dijkstra算法的障碍物规避路线规划项目。这个项目包括一个图形用户界面(GUI),能够生成并显示不同大小的地图,为路径规划提供直观的视觉效果。以下是对这个项目...

    matlab-基于Dijkstra算法的网络路由最短路径matlab仿真,动态显示Dijkstra算法搜索路径的过程-源码

    Dijkstra算法是一种广泛应用的寻找图中两点间最短路径的经典算法,由荷兰计算机科学家艾兹格·迪科斯彻于1956年提出。这个算法适用于加权有向图或无向图,其目标是找到从一个特定节点(起点)到其他所有节点的最短...

    图论中最短路径求解-基于Dijkstra算法的实践与优化

    最后讨论了Dijkstra算法在多种实际应用场景中的应用和其局限性,并提出了相应的优化策略,包括使用邻接列表、Fibonacci堆优化以及并行计算等方法。 适合人群:计算机科学及相关领域的学生、研究人员和工程技术人员。...

Global site tag (gtag.js) - Google Analytics