- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
选举算法
简介选举算法中的概念:
1.选举:
选举是分布式系统中的一种常用的计算类型,它从进程集中选出一个进程执行特别的任务。例如,在分布式系统出现故障后,通常需要重新组织活动的节点使它们继续执行有用的任务。在这个重新组织和配置的过程中,第一步就是要选出一个协调者来管理这些操作。故障的检测通常是基于超时机制的。如果一个进程超过一定的时间没有收到协调者的响应,它就怀疑协调者出了故障并启动选举过程。选举在群服务器、负载平衡、重复数据更新、应急恢复、连接组和互斥等领域都有广泛应用。
2.选举过程:
(a)选择一个具有最高优先级的领导者,(b)通知其他进程谁是领导者(优胜者)
3.选举问题:
在对各种应用程序或分布式系统设计分布式算法时,一些一般性的问题经常可以看成是一种选举问题,选举问题成为分布式计算的基本问题。
从具有同一地位(状态)的进程的形态开始,系统最后到达一个形态,在这个形态,进程中有一个进程处于leader(领导人)地位(状态),而其他所有进程则处于lost(落选)状态。例如,要启动集中式算法,且没有一个优先的候选人作为算法的初始进程,就需要先进行进程的选举。选举问题也称找领导人问题。问题是从具有同一状态的进程配置开始,最后到达一种配置状态,其中只有一个进程处于leader状态,而其它所有进程处于lost状态。如果要执行集中式算法,且没有一个优先的候选人作为算法的初始进程,就要举行进程的选举。
4.选举算法:
基于所使用的网络类型,人们提出了不同的分布式选举算法:(a)存储-转发网络,包括单向环、双向环、完全图、树和弦环,(b)广播网络?
大部分选举算法是基于全局优先级的,其中,每个进程(处理机)预先分配一个优先级。这些算法也称作extrema-finding 算法。对extrema-finding 算法的主要反对意见是一旦选中一个领导者时,就必须保证它是一个正确的选择,比如,从性能或可靠性的观点来看。
5.选举算法的性质:
1.每个进程有相同的局部算法;
2.算法是分散式的,即,进程的任意非空子集都能开始一次计算;在每次计算中,算法达到终止配置。在每个可达的终止配置中,只有一个进程处于领导人状态,而其它所有进程处于失败状态。最后一个性质可以弱化,只要求有一个进程处于领导者状态。
6.选举算法的分类:
(1)基于环形拓扑的(环算法),其中每个进程不知道其它进程的优先级。
(2)基于全连接拓扑的,其中每个进程知道其它进程的优先级。
(3)基于非比较的,其中消息被“编码”在以轮(Round)表示的时间中,这种类型的算法只能工作在同步系统中。
前两个算法基于比较的,通过比较所有进程id和发送接收消息中的id选出一个领导者。
二、介绍几种常见的选举算法:
1.基于环形拓扑的选举算法:
算法基本过程:
(1)n个进程按任意顺序排列在一个环上。
(2)进程的id不同,值越小的优先级越高。
(3)当任意进程Pi收到一个选举消息时,需要将其中的id与自己的id相比,并将较小者放入选举消息中向环的下游发送。
(4)当任意进程Pi收到包含自己id的选举消息时,可确认自己当选,这时它需要将这个消息通知所有其它的进程。
2.基于树算法的选举算法
如果网络的拓扑结构是树,或者网络的生成树可用,就可以使用网络的树算法进行选举。在树选举算法中,要求至少所有的叶子结点是算法的初始进程。为了让所有的叶子进程成为初始进程,我们可以增加一个唤醒阶段。想要启动选举的进程将消息wakeup扩散到所有进程中,布尔变量ws用于控制每个进程至多发送一次消息,变量wr用于对进程所接收的消息wakeup计数。当进程通过每条通道接收到消息wakeup时,进行最小标识的计算,并使每个进程判定。当进程进行判定时,就知道了领导人的标识。如果该标识与进程标识相等,它就称为领导人,否则就成为落选进程
3.环算法
(1)该环算法不适用令牌,假设进程按照物理或者逻辑顺序进行排序,那么进程都知道它的后继者当任何一个进程注意到协调者不工作时,它构造一个带有自己的进程号的election消息,并将消息发送给后继者。如果后继者崩溃了,发送者沿着此环跳过它的后继者发送给下一个进程,或者再下一个进程。直到找到一个正在运行的进程。
(2)在每一步中,发送者将自己的进程编号加入到消息中,以使自己成为协调者候选人之一。
(3)最终消息返回到发起这次选举的进程,当发起者收到一条包含自己进程编号的消息时,识别出来。此时消息编程coordinator消息,并再一次绕环运行,向所有进程通知谁是协调者(成员列表中进程号最大的那个)
4.Garcia-Molina的欺负算法(bully algorithm)
对于每个进程知道所有其他进程的优先级的系统而言,欺负算法是一个可靠的选举算法。同样,具有最高优先级的进程被选中。
您可能关注的文档
最近下载
- 面神经减压术护理ppt.pptx
- 2025云南保山永昌康养旅居有限公司招聘11人考试模拟试题及答案解析.docx VIP
- 文献检索与论文写作课件.pptx VIP
- 2025年中国鹦鹉养殖市场动态监测及竞争战略研究报告.docx VIP
- 2025年抖音内衣泳衣类目准入考试丨抖音内衣类目达人准入考试丨抖音报白考试题库.docx VIP
- 毕业论文写作与文献检索2课件.ppt VIP
- 服装厂缝纫机资料_JUKI缝纫机辅助器制作.pdf VIP
- 神经型布鲁菌病诊治专家共识(2025版)解读课件.pptx VIP
- 毕业设计(论文)大型锤式破碎机的设计.doc VIP
- ××工程电梯井基坑施工抽水专项施工方案.doc VIP
文档评论(0)