1 / 40

高级操作系统 Advanced Operating System

高级操作系统 Advanced Operating System. 熊 焰 yxiong@ustc.edu.cn 0551-63600689 中国科学技术大学计算机学院. 第四章 分布式进程和处理机管理. 分布式系统模型 分布式处理机分配 分布式进程调度 分布式系统容错 实时分布式系统. 4.1 分布式系统模型. 模型的作用 精确地 定义 要建立或分析的系统的属性和特征 提供 检验 这些属性的基础 代表性的模型 数学函数型 有限状态自动机 (FSM) 图模型. 4.1 分布式系统模型. 数学函数型

aziza
Download Presentation

高级操作系统 Advanced Operating System

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 高级操作系统Advanced Operating System 熊焰 yxiong@ustc.edu.cn 0551-63600689 中国科学技术大学计算机学院

  2. 第四章分布式进程和处理机管理 分布式系统模型 分布式处理机分配 分布式进程调度 分布式系统容错 实时分布式系统

  3. 4.1分布式系统模型 • 模型的作用 • 精确地定义要建立或分析的系统的属性和特征 • 提供检验这些属性的基础 • 代表性的模型 • 数学函数型 • 有限状态自动机(FSM) • 图模型

  4. 4.1分布式系统模型 • 数学函数型 • [y1,y2,…,yn]=f(x1,x2,…,xn) • f(x1,x2,…,xn)=f1(f2(f3(x1,x2,x3,…,xn))) • 特点:分层 • 分层的好处: • 组织大量数据 • 检查层次间输入与输出的一致性 • 缺点:不保存数据

  5. 4.1分布式系统模型 有限状态自动机 (FSM)

  6. 4.1分布式系统模型 • 有限状态自动机 (FSM) • 优点: • 对于说明数据处理是非常理想的 • 限制: • 固有地串行化了所有并发 • 明确假设一个输入的所有处理在下一个输入到达之前完成

  7. 4.1分布式系统模型 图模型

  8. 4.1分布式系统模型 • 图模型 • 局限性: • 它没有体现“状态”的概念

  9. 4.1分布式系统模型 • 分布式系统模型的分类 • 工作站模型 • 处理机池模型 • 两者混合模型

  10. 4.1.1 工作站模型

  11. 4.1.1 工作站模型 • 工作站模型的优点 • 清晰 • 用户响应时间能得到保证 • 每个用户都有很大的自主权 • 缺点 • 空闲工作站难以充分利用

  12. 4.1.2 空闲工作站的利用 • 方法 • 利用伯克利UNIX中的rsh程序 • 寻找空闲工作法的算法 • 服务器端驱动的算法 • 客户端驱动的算法

  13. 4.1.2 空闲工作站的利用 • 利用伯克利UNIX中的rsh程序 rsh machine command • 第一个参数指定要使用的工作站 • 第二个参数表示在指定工作站上运行的命令 • Rsh程序的功能就是在指定机器上运行指定的命令

  14. 4.1.2 空闲工作站的利用 • 利用伯克利UNIX中的rsh程序 • 较严重的问题: • 必须由用户来寻找一台空闲的机器 • 运行环境可能不同 • 远程机器可能非空闲

  15. 4.1.2 空闲工作站的利用 • 利用空闲工作站得考虑如下问题: • 怎样找到一个空闲工作站; • 怎样透明地运行一个远程进程; • 如果空闲工作站的主人回来重新使用它,怎么办?

  16. 4.1.2 空闲工作站的利用 • 寻找一个空闲的工作站 • 工作站空闲的标准 • 没有用户登录? • 没有用户操作且没有用户进程运行

  17. 4.1.2 空闲工作站的利用 • 寻找空闲工作站的算法 • 服务器端驱动的算法 • 客户端驱动的算法

  18. 4.1.2 空闲工作站的利用 • 服务器端驱动的算法 • 方法1 • 空闲工作站注册 • 将自己的名字、网址、属性输入到一个注册 • 用户输入命令查找 • remote command

  19. 4.1.2 空闲工作站的利用 • 服务器端驱动的算法 • 方法2 • 空闲工作站向整个网络发一条广播消息 • 所有的工作站都保存这个消息 • 优点 • 寻找空闲工作站的开销更少,冗余度更高 • 缺点 • 所有的机器都需要维护一个私有的注册文件 • 潜在的冲突

  20. 4.1.2 空闲工作站的利用 • 客户端驱动的算法 • 客户端运行remote时,发送广播 • 声明它需要运行哪个程序,需要多少内存,是否需要浮点运算等等 • 当收到应答后,remote就从中挑选一个 • 启动命令在选中的空闲工作站上运行 • Trick: 服务端应答时,让应答的延迟与自己当前负载成正比

  21. 4.1.2 空闲工作站的利用 • 透明地运行一个远程进程 • 代码移动比较容易 • 如何设置远程运行环境? • 相同的文件系统,工作目录,环境变量 • 特殊情况 • 本地运行:读取键盘,写屏幕 • 远程调用: • SBRK(调整数据段大小) • NICE(设置CPU调度优先级) • PROFIL(程序计数器计数)

  22. 4.1.2 空闲工作站的利用 • 透明地运行一个远程进程 • 代码移动比较容易 • 如何设置远程运行环境? • 相同的文件系统,工作目录,环境变量 • 特殊情况 • 时间有关的系统调用 • MAKE

  23. 4.1.2 空闲工作站的利用 • 如果空闲工作站的主人回来重新使用它,怎么办? • 方案1:什么都不做 • 方案2:强行取消正在运行的非本地进程 • 远程通知,然后关闭 • 方案3:迁移

  24. 4.1.2 处理机池模型

  25. 4.1.2 处理机池模型 处理机池模型是无盘工作站模型的进一步发展。 实际上,我们是把所有的计算能力转换成了可以动态访问的“空闲工作站”。

  26. 4.1.2 处理机池模型 • 使用排队论来描述和分析 • 在一个排队系统中,用户随机地向服务器请求服务 • 当服务器忙时,用户必须排队等待服务 • 按顺序被服务

  27. 4.1.2 处理机池模型

  28. 4.1.2 处理机池模型 • 排队系统的定义 • 用来描述顾客到达、等待、被服务以及离去过程的模型 • 排队系统的假定 • 顾客源无限大,它意味着排队顾客非常多也不影响顾客的到达率

  29. 4.1.2 处理机池模型 • 排队系统的三大要素 • 到达间隔时间的概率密度函数 • 服务时间的概率密度函数 • 服务员个数

  30. 4.1.2 处理机池模型 • 排队系统表达方式:A/B/m • A是到达间隔时间的概率分布 • B是服务时间的概率分布 • M-指数型概率分布 • D-等值型概率分布 • G-一般分布 • m是服务员个数 • 本课讨论M/M/1模型

  31. 4.1.2 处理机池模型 • M/M/1系统参数 • 到达间隔时间的概率密度函数 • fA(t)=λe-λt • 均值为1/λ • λ是平均到达率 • 服务时间的概率密度函数 • fs(t)=μe-μt

  32. 4.1.2 处理机池模型 • Little’s Result • 令p= λ/μ • 顾客等待时间的概率密度函数 • fw(t)=p(1-p)e-p(1-p)t • 顾客响应时间的概率密度函数 • fT(t)= fs(t)⊕fw(t)= μ(1-p)e- μ(1-p)t,t>=0 • 平均响应时间 • T=∮fT(t)dt=1/(μ-λ)

  33. 4.1.2 处理机池模型 • 例题:假设有一个小水坑,鸟儿随机飞来就浴,平均到达率为3只/分钟。鸟儿平均洗浴时间为10秒/只,指数分布。求平均一只鸟需要等待多长时间才能洗上澡? • 平均到达率λ=3只/分钟=0.05只/秒 • 平均服务率μ=1/10=0.1只/秒 • 平均响应时间T=20秒 • 平均等待时间为20-10=10秒/只

  34. 4.1.2 处理机池模型 • 排队论可作为延迟分析的理论工具 • T=∮fT(t)dt=1/(μ-λ) • λ<μ

  35. 4.1.2 处理机池模型 • 一个重要的分析结果: • n个独立排队系统 • 每一个系统都是一个请求到达速率为λ • 处理机处理速率为μ • 则,平时响应时间为T=1/(μ-λ)

  36. 4.1.2 处理机池模型 • 一个重要的分析结果: • 将n个独立排队系统集中起来 • 请求到达速率为nλ • 处理机处理速率为nμ • 则,平时响应时间为T1=1/n(μ-λ)=T/n

  37. 4.1.2 处理机池模型 • 这个结果具有一定普遍性并已应用到很多的系统中 • 例:航空公司更愿意每5个小时飞一架300座的747飞机,而不愿意每10分钟飞一架10座的商业飞机。 • 当把处理能力分配给多个小服务器,使得每一个用户拥有一个,这与随机到达的请求不相匹配。而处理机池模型可以减少这种时间的浪费,这也是它总体性能更高的原因

  38. 4.1.2 处理机池模型 • 事实上,排队论的结果正是完全否定分布式操作系统的主要理由之一。 • 但是,响应时间并不代表一切 • 制造成本 • 响应时间的一致性 V.S. 平均响应时间 • 之前结果一个前提假设 • 所有的请求被分配在所有处理机上并行处理

  39. 4.1.2 处理机池模型 • 处理机池模型的另一优点 • 工作负载 • Case1: 低任务量:发邮件 • Case2: 大型项目开发 • Make • Matlab • 人工智能程序

  40. 4.1.2 混合模型 • 工作站 • 交互工作 • 处理机池 • 大任务工作 • 优点: • 响应时间短 • 资源利用率高 • 系统设计简单

More Related