OS之分布式系统中的线程与调度问题.ppt

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

竞价算法(1) 把系统当作一个经济系统 有购买者和服务销售者 并根据供求情况来调整价格 关键的角色是进程和处理器 为了完成工作进程须购买CPU时间 处理器把时间拍卖给出价最高的进程 处理器把大致售价放在公共文件中 这个价格不是保证价,只指示它服务的价值 实际上表示最后一个用户的买价 竞价算法(2) 处理器的价格不一样 取决于速度、主存、浮点硬件和其他特性 当进程想启动一子进程时 逐个检查,看谁能提供服务 从能服务的处理器中选合格的、选最好的 “最好”意味最便宜、最快 价格性能也最好 竞价算法(3) 把出价发送给选择的处理器 出价可能高于也可能低于标价 处理器收集所有出价 选出一个,也许是出价最高的哪一个 给予赢家和输家通告 赢家的进程开始运行 更新服务器的发布价格 竞价算法(4) 经济模型引起各种有趣的问题 进程哪儿得到钱?有日常工资吗? 是不是月工资都一样 还是院长比教授高,教授比学生高? 如果不增加资源就接受新用户 会引起竞价上涨(通货膨胀)吗? 处理器会组成卡特尔来欺骗用户吗? 允许用户组成工会吗? 磁盘空间也要付钱吗? 激光打印机输出怎么考虑?等等 四. 分布式系统中的调度(1) 在分布式系统中 每个处理器有自己的本地调度 不考虑别的处理器在做什么 一般,这种方法工作良好 当一组相关性强、联系紧密的进程运行在不同的处理器上时,这种独立调度就是最有效的方法 分布式系统中的调度(2) 假设进程A和B在一处理器上, 进程C和D在另一台上 每个处理器都是分时的, 时间片为100毫秒 A和C偶数时间片运行, B和D奇数时间片运行 假设A给D发了许多消息或远程调用给D 在时间片0中,A起动并立即调用D 不幸是D没有运行, 因为轮到C运行 过了100毫秒,发生了进程切换 D接到A的消息,完成任务后很快回答 因为现在B正运行, A只有在100毫秒后,才接到答复,并处理, 这样,每200毫秒才交换信息 需要保证进程可经常通信并同步运行 分布式系统中的调度(3) 假定进程成组创建 组内的通信比组间的通信得多 假定有大量的、充足的处理器 来处理最大的进程组 每个处理器支持多道程序 并配有N个进程槽 (N-方式多道程序处理) 分布式系统中的调度(3) Ousterlout基于协同调度的算法 考虑进程间通信的方式 确保一组内的所有成员同时运行 要点: 每个处理器都使用循环调度 所有处理器首先在槽0运行进程一段固定时间 然后所有处理器在槽1运行进程一段固定时间 为保时间片同步, 向广播消息,告诉切换时间 把一进程组内所有成员 放在不同外理器的相同槽内 得到有N个并行处理的优势 它保证所有进程都在同时运行 从而有了最大的通信量 请帮助我 能否取走一进程? 过载了! Help! 机器认定负载太重 我无事可做! 今晚我有空 真无聊! 机器找活干 (a) (b) 发送者寻找空闲工作站 接收者寻找工作 处理器分配算法的设计原则(2) 对进程的行为能事先了解时 采用确定性算法 没有系统能事先了解所有的信息 但可做合理的估计 例,在银行、保险和机票预定系统中 每天的工作大致一样 可在统计上准确描述工作负载 使得确定性算法成为可能 系统中不能预测工作负载 有必要使用启发式算法 处理器分配算法的设计原则(3) 集中式与分布式 在一地集中所有的信息 容易选择一个好方案 但也脆弱,中央处理机的负载会过重 常采用分布式算法 在分布式算法不适应时才采用集中式算法 处理器分配算法的设计原则(4) 找个最好的,还是找个可接受的? 最优化方法太困难 大多数采用启发式、分布式、 次优化算法 处理器分配算法的设计原则(5) 传输策略 创建进程时,要决定能否在创建机器上运行 可根据本地信息,也可参考全局信息 简单的算法:本地化算法 如果机器负载在某界限以下,保留新进程 否则就放弃 较好的方案:决定本地机是否太忙碌之前 先收集有关负载的全局信息 局部性算法简单,但性能不好 全局性算法能性能高但代价大 处理器分配算法的设计原则(5) 定位策略 当根据传输策略放弃进程 要根据定位策略把它发往何处 定位策略不能是局部性的 要参考别外的负载情况来做聪明的决定 两种信息传播方法

文档评论(0)

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

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

1亿VIP精品文档

相关文档