1、首先计算最小标识,并使它为每一进程所知。具有该标识那个进程变成领导人,其他进程都被击败。如果把算法的执行看作是标识的执行,而不是进程的执行,算法就会容易理解。初始时,每个标识是活动的,在每一轮以后,有一些标识变成被动的。在一轮中,一个活动标识和与它相邻的两个活动标识(一个顺时针,一个逆时针)进行比较,如果它是局部最小,则它在那一轮中生存下来。
2、如果在该轮的一开始,进程P持有活动标识CIp,则称进程P是活动的,否则它是被动的,简单地传递所有它所接收的消息。活动进程把它的当前标识发送到下一个活动进程,并利用消息<one,.>获得前一个活动进程中的当前标识,将接收的标识存储在变量acnp中。如果标识在这轮中幸存下来,它将是下一轮中p的当前标识。为决定是否标识acnp在这轮幸存下来,就要将它与cip和消息<two,.>中所得到的活动标识比较。进程P发送消息<two,acnp>,使得在下一个活动进程中作出决策成为可能。
3、算法
var CIp:P init p;(*P的当前活动标识*)
acnp:P init udef;
winp:P init udef;
statep:(active,passive,leader,lost) init active;
begin if p is initiator then statep:=active else statep:=passive;
while winp=udef do
begin if statep=active then
begin send <one,CIp>;receive <one,q>;acnp:=q;
if acnp=CIp then (*acnp是最小的*)
begin send <smal,acnp>;winp:=acnp;
receive <smal,q>
end
else
begin send <two,acnp>;receive <two,q>;
if acnp<CIp and acnp<q
then CIp:=acnp
else statep:=passive
end
end
else (*statep=passive*)
begin receive <one,q>;send <one,q>;
receive m,;send m;
if m is a <smal,q> message then winp:=q
end
end;
if p=winp then state p:=leader else statep:=lost
end
分享到:
相关推荐
在“算法与数据结构 分布式算法课程”中,我们探讨了一系列与分布式计算相关的理论和技术。本课程覆盖了从基本概念到高级主题的广泛内容,旨在帮助学生理解和掌握分布式系统中的核心算法。 #### 二、异步共享内存...
"peterson-tim-j/HydroSight" 是一个由用户 Peterson-Tim-J 创建并维护的GitHub项目,名为 HydroSight。这个项目是一个专为地下水监测数据分析而设计的高度灵活的工具箱,其核心是用 MATLAB 语言开发的。通过 ...
### Dekker算法与Peterson算法详解 #### 一、Dekker算法 ##### 1.1 初步设想 在初步设计中,Dekker算法通过一个全局变量`turn`来控制两个进程P0和P1对临界区(Critical Section, CS)的访问。这个变量的值为0或1,...
接下来,我们转向Peterson方案,这是一种为两个进程设计的低开销的同步算法,由Gary L. Peterson在1981年提出。Peterson方案依赖于两个变量`turn`和`flag`,每个线程都有一个对应的标志位。线程在进入临界区之前,会...
标题:“信息安全_数据安全_us-18-Mulasmajic-Peterson-Why-So.pdf”表明本文档主要讨论的是信息安全领域中的数据安全问题,其中涉及了特定的安全漏洞与防护措施。 描述:“网络安全、网络信息安全、安全对抗、威胁...
文档标题为"信息安全_数据安全_us-18-Mulasmajic-Peterson-Why-So-Spurious.pdf",它指出了文档的主题集中在信息安全与数据安全两个方面,并涉及了对某个名为"Why so Spurious?"问题的深入探讨,该问题与x86/x64 CPU...
第02章 分布式算法简介 共59页.pdf 第03章 集群领导选举 分布式锁 共83页.pdf 第04章 通用同步网络的集群领导选举 共69页.pdf 第05章同步网络中的基础计算 共76页.pdf 第06章 分布式一致性 共48页.pdf 第07章 ...
### 分布式算法课程知识点概览 #### 一、分布式算法简介 在“算法与数据结构:分布式算法课程”的第二章中,主要介绍了分布式算法的基本概念及其重要性。本章节内容涉及分布式系统的建模方法、分布式系统中的定时...
同时,利用AI技术可以加强网络安全,例如通过机器学习算法识别异常行为,及时发现并阻止潜在的威胁。 在业务运营中,企业应建立严格的数据安全和隐私保护政策,确保员工了解并遵守相关规定。对于金融安全,需要实施...
通过这门课程,学生将能够了解设计与实现分布式系统的主要问题和技术,掌握该领域最重要的基础知识,并为将来在分布式算法方面的独立研究打下坚实的基础。 #### 1.2 课程重点 课程的重点在于原理而非特定的技术。...
在本书中,作者给出设计,实现和分析分布式算法的蓝图。本书适合学生、程序员、系统分析员和研究人员等不同类型的读者。本书包括这个领域最重要的算法和不可能解.而且都采用简单的自动机理论进行论述。对所有算法...
该项目提出了一个流域水文弹性模型,用于对半分布式流域内的水文吸引子进行建模。 该模型是用面向对象的 Matlab 编写的,允许使用极限循环延续和随机模拟来识别水文吸引子。 该模型的一个版本由 Peterson 和 Western...
在这项工作中,提出了一套新的parton分布函数,其中考虑了内在魅力(IC)的贡献。 我们将重点放在欧洲Muon协作(EMC)测量对大型x魅力结构功能的影响上,这是结合HERA,SLAC和BCDMS数据得出的固有魅力的最有力证据。...
标题中的“Peterson_producer_consumer.zip_c语言Peterson”指的是一个使用C语言实现的基于Peterson算法的生产者-消费者问题实例。生产者-消费者问题是多线程编程中常见的同步问题,而Peterson算法是解决两个进程...
Peterson解码算法是BCH码的一种实用解码方法,由G. R. Peterson在1960年提出。这个算法利用了伽罗华域(GF)上的多项式运算,特别是乘法和除法,来找出可能的错误位置。在Verilog中实现Peterson解码器,意味着将这个...
【标题】"Jordan-Peterson-Tribute-Page"是一个以知名心理学家和作家Jordan B. Peterson博士为主题的致敬页面。这个项目旨在通过网页的形式向Peterson博士表达敬意,可能是为了展示他的生平、思想、著作或者对他的...
《算法在科学应用II》(Algorithms for Science Applications II) 是一门由Janet Peterson教授和John Burkardt博士共同授课的课程,旨在为学生提供解决离散问题的算法基础,如排序、搜索数组、调度、最优化路径(如...
在《算法与数据结构:分布式算法课程》第11章中,我们探讨了异步共享内存系统的基础概念、重要性以及相关的算法设计。这一章节是理解分布式系统中如何处理并发访问和一致性问题的关键。 #### 异步共享内存系统的...
另一种算法是霍夫曼桥算法,即Hoffman-Peterson算法,它同样基于深度优先搜索,并且更直接地寻找欧拉回路。 关于HDU-1878的源程序,其内容可能包括使用C++、Java等编程语言实现的代码,这些代码能够让我们深入理解...
通过特定的算法,如 Peterson-Gorenstein-Zierler (PGZ) 或 Berlekamp-Massey (BM) 算法,可以确定错误的位置,并进行校正。 5. **BCH_sim**:压缩包中的`BCH_sim`可能是一个仿真文件,用于验证BCH编码器和解码器的...