网站大量收购闲置独家精品文档,联系QQ:2885784924

基于任务优先图的任务调度算法实例.PPT

  1. 1、本文档共115页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于任务优先图的任务调度算法实例

3.2.5 处理机分配算法举例 上升-下降算法:罚分的取值 如图,由于罚分一会儿上升,一会儿下降,算法由此得名。 使用情况表中的罚分可以为正数、零和负数。 正数表示对应工作站上的 用户是在使用系统资源 负数表示该工作站需 要系统资源。 零表示介于两者之间。 3.2.5 处理机分配算法举例 上升-下降算法分析 集中式分配算法的启发性在于 当一个处理机变成空闲状态时,首先分配给罚分最低正在等待处理机的申请。因此,等待时间最长,没有使用处理机的请求将优先得到响应。 实际上,若一个用户已使用了一段时间的系统资源,另一个用户刚开始申请一个进程的运行,那负载较轻的后者要比负载较重的前者要优先得到资源 集中式启发式算法的特征即公平地分配系统处理机。 模拟研究表明,在各种情况下,该算法都具有较好的性能。 3.2.5 处理机分配算法举例 层次分配算法 “上升-下降”作为一个集中式算法无法适用于大型分布式系统。 原因: 协调器将成为整个系统的瓶颈口,此外,协调器的崩溃将造成整个系统无法进行处理机的分配。 上述问题可以通过使用层次分配算法来解决。 层次分配算法既保持了集中式分配算法的简单性,又能更好地适应于大型分布式系统。 3.2.5 处理机分配算法举例 层次分配算法 层次分配算法将所有处理机以一种与物理拓扑结构无关的方式组织成一个逻辑分层结构。这种逻辑分层结构与公司、军队、大学等现实世界中人的层次组成结构一样。例如,可以将一些机器看作为工人,而将另一些机器看作为工头。 3.2.5 处理机分配算法举例 层次分配算法 例如: 对于每一组k个教师来说,分配给一个系主任的任务是检查观察谁正忙碌,谁正空闲。 如果系统很大,那就需要更多的管理者。于是,有些机器将作为院长。每一个院长管理若干个系主任。 如果院长较多,则设置一个校长来管理院长。 这种层次关系可以进一步扩展下去,并且所需要的层次随着教师的数目成对数级增长。 由于每一个处理机只需要与一个上级和若干个下属进行通信,所以就可以对系统的信息流进行管理。 3.2.5 处理机分配算法举例 层次分配算法:崩溃的解决方法1 当一个系主任,或者更严重地,一个院长停止了工作(即崩溃了),系统将怎么办? 一种方法就是 由崩溃院长所管辖的一个系主任来接替该院长职位 这个院长职位 1)可以由它下级选举产生 2)也可以由同级院长们选举产生 3)还可以由它的上级来任命。 3.2.5 处理机分配算法举例 层次分配算法:最高委员会 为了避免单个管理者在层次树的最顶层(造成系统不坚定),可以象下图那样 去掉树的根节点,最上层组成一个委员会来作为最高决策机构。 当委员会中的一个成员不工作了,其他人员将在下一层中选出某一个成员来代替。 院长委员会 院长 系主任 教师 3.2.5 处理机分配算法举例 层次分配算法:结构分析 结构分析: 可行性: 尽管这种层次结构并不是真正分布式的,但它却是可行的,并且实践证明它是一个较好的结构。 自重构性: 特别的是,这种系统可以自重构,并能够容忍被管理者或管理者的突发性崩溃,而不会产生任何长期的影响。 3.2.5 处理机分配算法举例 层次分配算法:处理器预定 算法中,一个处理机只能分配一个进程。 若一个作业产生S个进程,系统必须为它分配S个处理机。作业可以在层次树上的任何一层次上创建。每一个管理者跟踪并记录它辖区内有多少个处理机可用。 如果有足够的处理机可供使用,那它将预定R个处理机,但R≥S必须成立,因为这种估计不一定准确,有些机器可能已经关机。 3.2.5 处理机分配算法举例 层次分配算法:处理器预定 如果没有足够的处理机可供分配,那就把这个申请请求(逐级)向上传递,直到到达某个能够满足该请求的层次。在这一层次上,管理者把这个请求分解成多个申请并向下传递给下级的管理者,一直传递到树的底层。在最低层,被分配的处理机被标为“繁忙”,并把实际分配到的处理机数沿着树向上逐级报告。 3.2.5 处理机分配算法举例 层次分配算法:R的取值 1)R必须足够的大以便确保有足够数量的处理机可供分配。否则,请求将沿着树向上传递。这样将会浪费了大量的时间。 2)另一方面,如果R太大,那么将有过多的处理机被标为“繁忙”,这将浪费一些计算能力,直到分配消息返回底层,这些处理机才会被释放。 3.2.5 处理机分配算法举例 超载者启动的分布式启发式算法 一个典型的分布式启发式算法: 超载者启动的分布式启发式算法 由Eager等人在1986年提出 算法描述: 当一个进程创建时,若创建该进程的机器发现自己超载,那就将询问消息发送给一个随机选择的机器,询问该机器的负载是否低于一个阀值。 1)如果是,那么该进程就被传送到该机器上去运行。 2)否则,就再随机地选择一台机器进行询问。 这个过程最多执行N次,

文档评论(0)

zhuwo + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档