收藏 分享(赏)

高级操作系统-第三章--分布式协同处理.ppt

上传人:yjrm16270 文档编号:7787463 上传时间:2019-05-25 格式:PPT 页数:19 大小:548.50KB
下载 相关 举报
高级操作系统-第三章--分布式协同处理.ppt_第1页
第1页 / 共19页
高级操作系统-第三章--分布式协同处理.ppt_第2页
第2页 / 共19页
高级操作系统-第三章--分布式协同处理.ppt_第3页
第3页 / 共19页
高级操作系统-第三章--分布式协同处理.ppt_第4页
第4页 / 共19页
高级操作系统-第三章--分布式协同处理.ppt_第5页
第5页 / 共19页
点击查看更多>>
资源描述

1、高级操作系统,北京邮电大学 2019/5/25,北京邮电大学,Outline,第三章 分布式协同处理,北京邮电大学,第三章 分布式协同处理,3.1 事件定序与时间戳 3.2 分布式互斥 3.3 选择算法,北京邮电大学,3.1 事件定序与时间戳,次序与时间戳 计算机上运行的应用程序只关心事件发生的次序,而不是事件发生的绝对时间,即只需要用计数器的值去给事件打上相应的时间戳。 对于集中的物理时间:请求类和广播类 难点 延迟,北京邮电大学,3.1 事件定序与时间戳,有延迟,而且是不确定的,因为网络故障,可能会传送多次。 Cristians 算法 Berkeley算法 网络时间协议(NTP) UTC

2、统一协调时间 时间的质量、精确性与时间提供者的价格等相关,北京邮电大学,3.1 事件定序与时间戳,逻辑时钟 一种单调增长的软件计数器,对事件集进行部分排序。 相对时间,逻辑上是一致的 定序 若两个事件发生在同一进程中,则可用观察到的次序来确定它们发生的次序; 无论何时在进程间传递消息,发送消息的事件先于接收同一消息的事件。 先决条件:两个事件之间,逻辑时钟至少变一次,两个事件不会精确地同时发生,北京邮电大学,3.2 分布式互斥,分布式互斥要求 安全性、可用性、定序 在单机系统中,使用信号量(semaphores)、管程(monitors)等来保护临界区 S P(S) V(S) Wait(s)

3、Singal(s),北京邮电大学,3.2 分布式互斥,集中式算法 该方法保证了互斥的实现,协调者仅能让某一进程在某个时刻进入临界区。它也很公平,因为它允许请求的顺序同它们的接收顺序一致,没有永远的等待。,北京邮电大学,3.2 分布式互斥,分布式算法 (要满足以下要求) 系统中所有的事件都是全序的当一个进程接受到另一个进程请求消息(Request)时, 若接受者不在临界区中,也不想进入临界区,它就向发送者送Reply消息 已在,它就不回答(推迟) 要进入,但还没有进入,它就将自己的请求消息(Request)时间戳与收到的时间戳比较,若收到的小,回Reply消息,否则,推迟,北京邮电大学,3.2

4、分布式互斥,分布式算法举例,北京邮电大学,3.2 分布式互斥,在产生请求冲突时,遵守按时间戳排序,小时间戳优先的规则。 每次进入临界区需要2(n-1)条消息, n为系统中的进程数目。 相对集中式算法,慢、复杂、贵、不健壮,北京邮电大学,3.2 分布式互斥,令牌算法 系统中所有的进程可组成一个虚拟或逻辑环,每个进程要知道谁在它的下一个位置 算法:令牌环被初始化后,进程0首先获得令牌,这样令牌开始绕环运动,它从进程k传递k+1,以点到点方式,若一个进程得到了它相邻进程传递来的令牌,但它并不想进入临界区,就将该令牌往下传递。仅拥有令牌的进程才有权进入临界区。,北京邮电大学,3.2 分布式互斥,三种互

5、斥算法的比较,北京邮电大学,3.2 分布式互斥,评价分布式同步互斥算法标准:响应时间和吞吐量:充分利用系统的分布性,获得高的吞吐量和小的响应时间。 容错性:具有幸免于故障的能力。 开销大小:算法需要的一些额外开销,消息的数目和大小等。 收敛和公平:请求进入临界段的进程终将进入,在临界段执行的进程终将离开临界段。并且对各进程公平。 可扩充性:容易加入新的结点和新的进程。,北京邮电大学,3.2 分布式互斥,确定性:一定能保证同步、互斥,还是可能保证,如果不是确定的,就是概率性的。 恢复:对错误恢复的能力如何。 实用性:对其使用作了多少限制。 可理解性:如果一个算法是简单的,则很容易给出规范的正确证

6、明。简单是很重要的,包括:算法的实现、测试、维护、修改等等。,北京邮电大学,3.3 选择算法,选择算法 如果协调者进程由于它驻留的处理机故障,而无法正常工作(称为故障),系统只得通过在另一个处理机上重新开始一个新的协调者副本才能运行,确定在何处重新开始一个新的协调者算法,就称为选择算法。,北京邮电大学,3.3 选择算法,Bully(欺负算法) Pi给所有比它优先数大的进程发送消息; 若无进程响应,Pi获胜成为协调者; 若有优先数比Pi大的进程响应 Pk,响应者Pk接管Pi的工作完成,北京邮电大学,3.3 选择算法,基于环结构的算法(基于没有令牌的环) 当任何一个进程发现协调者进程不起作用时,构造一个包含它自身进程号的消息给后继者;若后继者失败,继续下一个; 消息到达了始发者的手中,始发者接收者接收到包含它自身进程号的消息后,将其转化为协调者消息; 该消息将再一次绕环运行,向所有进程通知谁是协调者;具有最大优先数的进程,将它作为新的协调者。,北京邮电大学,Thank You !,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报