3第三章__分布式协同处理课案.ppt

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北京邮电大学 高级操作系统 北京邮电大学 * 北京邮电大学 Outline 第三章 分布式协同处理 北京邮电大学 第三章 分布式协同处理 3.1 事件定序与时间戳 3.2 分布式互斥 3.3 选择算法 北京邮电大学 3.1 事件定序与时间戳 次序与时间戳 计算机上运行的应用程序只关心事件发生的次序,而不是事件发生的绝对时间,即只需要用计数器的值去给事件打上相应的时间戳。 对于集中的物理时间:请求类和广播类 难点 延迟 request for time --------------? client time server ?--------------- current time (delay) 北京邮电大学 3.1 事件定序与时间戳 有延迟,而且是不确定的,因为网络故障,可能会传送多次。 Cristian’s 算法 Berkeley算法 网络时间协议(NTP) UTC 统一协调时间 时间的质量、精确性与时间提供者的价格等相关 北京邮电大学 3.1 事件定序与时间戳 逻辑时钟 一种单调增长的软件计数器,对事件集进行部分排序。 相对时间,逻辑上是一致的 定序 若两个事件发生在同一进程中,则可用观察到的次序来确定它们发生的次序; 无论何时在进程间传递消息,发送消息的事件先于接收同一消息的事件。 先决条件:两个事件之间,逻辑时钟至少变一次,两个事件不会精确地同时发生 北京邮电大学 3.2 分布式互斥 分布式互斥要求 安全性、可用性、定序 在单机系统中,使用信号量(semaphores)、管程(monitors)等来保护临界区 S P(S) V(S) Wait(s) Singal(s) 北京邮电大学 3.2 分布式互斥 集中式算法 该方法保证了互斥的实现,协调者仅能让某一进程在某个时刻进入临界区。它也很公平,因为它允许请求的顺序同它们的接收顺序一致,没有永远的等待。 北京邮电大学 3.2 分布式互斥 分布式算法 (要满足以下要求) 系统中所有的事件都是全序的当一个进程接受到另一个进程请求消息(Request)时, 若接受者不在临界区中,也不想进入临界区,它就向发送者送Reply消息 已在,它就不回答(推迟) 要进入,但还没有进入,它就将自己的请求消息(Request)时间戳与收到的时间戳比较,若收到的小,回Reply消息,否则,推迟 北京邮电大学 3.2 分布式互斥 分布式算法举例 北京邮电大学 3.2 分布式互斥 在产生请求冲突时,遵守按时间戳排序,小时间戳优先的规则。 每次进入临界区需要2(n-1)条消息, n为系统中的进程数目。 相对集中式算法,慢、复杂、贵、不健壮 北京邮电大学 3.2 分布式互斥 令牌算法 系统中所有的进程可组成一个虚拟或逻辑环,每个进程要知道谁在它的下一个位置 算法:令牌环被初始化后,进程0首先获得令牌,这样令牌开始绕环运动,它从进程k传递k+1,以点到点方式,若一个进程得到了它相邻进程传递来的令牌,但它并不想进入临界区,就将该令牌往下传递。仅拥有令牌的进程才有权进入临界区。 北京邮电大学 3.2 分布式互斥 三种互斥算法的比较 北京邮电大学 3.2 分布式互斥 评价分布式同步互斥算法标准: 响应时间和吞吐量:充分利用系统的分布性,获得高的吞吐量和小的响应时间。 容错性:具有幸免于故障的能力。 开销大小:算法需要的一些额外开销,消息的数目和大小等。 收敛和公平:请求进入临界段的进程终将进入,在临界段执行的进程终将离开临界段。并且对各进程公平。 可扩充性:容易加入新的结点和新的进程。 北京邮电大学 3.2 分布式互斥 确定性:一定能保证同步、互斥,还是可能保证,如果不是确定的,就是概率性的。 恢复:对错误恢复的能力如何。 实用性:对其使用作了多少限制。 可理解性:如果一个算法是简单的,则很容易给出规范的正确证明。简单是很重要的,包括:算法的实现、测试、维护、修改等等。 北京邮电大学 3.3 选择算法 选择算法 如果协调者进程由于它驻留的处理机故障,而无法正常工作(称为故障),系统只得通过在另一个处理机上重新开始一个新的协调者副本才能运行,确定在何处重新开始一个新的协调者算法,就称为选择算法。 北京邮电大学 3.3 选择算法 Bully(欺负算法) Pi给所有比它优先数大的进程发送消息; 若无进程响应,Pi获胜成为协调者; 若有优先数比Pi大的进程响应 Pk,响应者Pk接管Pi的工作完成 北京邮电大学 3.3 选择算法 基于环结构的算法(基于没有令牌的环) 当任何一个进程发现协调者进程不起作用时,构造一个包含它自身进程号的消息给后继者;若后继者失败,继续下一个;

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档