400 likes | 527 Views
高级操作系统 Advanced Operating System. 熊 焰 yxiong@ustc.edu.cn 0551-63600689 中国科学技术大学计算机学院. 第四章 分布式进程和处理机管理. 分布式系统模型 分布式处理机分配 分布式进程调度 分布式系统容错 实时分布式系统. 4.1 分布式系统模型. 模型的作用 精确地 定义 要建立或分析的系统的属性和特征 提供 检验 这些属性的基础 代表性的模型 数学函数型 有限状态自动机 (FSM) 图模型. 4.1 分布式系统模型. 数学函数型
E N D
高级操作系统Advanced Operating System 熊焰 yxiong@ustc.edu.cn 0551-63600689 中国科学技术大学计算机学院
第四章分布式进程和处理机管理 分布式系统模型 分布式处理机分配 分布式进程调度 分布式系统容错 实时分布式系统
4.1分布式系统模型 • 模型的作用 • 精确地定义要建立或分析的系统的属性和特征 • 提供检验这些属性的基础 • 代表性的模型 • 数学函数型 • 有限状态自动机(FSM) • 图模型
4.1分布式系统模型 • 数学函数型 • [y1,y2,…,yn]=f(x1,x2,…,xn) • f(x1,x2,…,xn)=f1(f2(f3(x1,x2,x3,…,xn))) • 特点:分层 • 分层的好处: • 组织大量数据 • 检查层次间输入与输出的一致性 • 缺点:不保存数据
4.1分布式系统模型 有限状态自动机 (FSM)
4.1分布式系统模型 • 有限状态自动机 (FSM) • 优点: • 对于说明数据处理是非常理想的 • 限制: • 固有地串行化了所有并发 • 明确假设一个输入的所有处理在下一个输入到达之前完成
4.1分布式系统模型 图模型
4.1分布式系统模型 • 图模型 • 局限性: • 它没有体现“状态”的概念
4.1分布式系统模型 • 分布式系统模型的分类 • 工作站模型 • 处理机池模型 • 两者混合模型
4.1.1 工作站模型 • 工作站模型的优点 • 清晰 • 用户响应时间能得到保证 • 每个用户都有很大的自主权 • 缺点 • 空闲工作站难以充分利用
4.1.2 空闲工作站的利用 • 方法 • 利用伯克利UNIX中的rsh程序 • 寻找空闲工作法的算法 • 服务器端驱动的算法 • 客户端驱动的算法
4.1.2 空闲工作站的利用 • 利用伯克利UNIX中的rsh程序 rsh machine command • 第一个参数指定要使用的工作站 • 第二个参数表示在指定工作站上运行的命令 • Rsh程序的功能就是在指定机器上运行指定的命令
4.1.2 空闲工作站的利用 • 利用伯克利UNIX中的rsh程序 • 较严重的问题: • 必须由用户来寻找一台空闲的机器 • 运行环境可能不同 • 远程机器可能非空闲
4.1.2 空闲工作站的利用 • 利用空闲工作站得考虑如下问题: • 怎样找到一个空闲工作站; • 怎样透明地运行一个远程进程; • 如果空闲工作站的主人回来重新使用它,怎么办?
4.1.2 空闲工作站的利用 • 寻找一个空闲的工作站 • 工作站空闲的标准 • 没有用户登录? • 没有用户操作且没有用户进程运行
4.1.2 空闲工作站的利用 • 寻找空闲工作站的算法 • 服务器端驱动的算法 • 客户端驱动的算法
4.1.2 空闲工作站的利用 • 服务器端驱动的算法 • 方法1 • 空闲工作站注册 • 将自己的名字、网址、属性输入到一个注册 • 用户输入命令查找 • remote command
4.1.2 空闲工作站的利用 • 服务器端驱动的算法 • 方法2 • 空闲工作站向整个网络发一条广播消息 • 所有的工作站都保存这个消息 • 优点 • 寻找空闲工作站的开销更少,冗余度更高 • 缺点 • 所有的机器都需要维护一个私有的注册文件 • 潜在的冲突
4.1.2 空闲工作站的利用 • 客户端驱动的算法 • 客户端运行remote时,发送广播 • 声明它需要运行哪个程序,需要多少内存,是否需要浮点运算等等 • 当收到应答后,remote就从中挑选一个 • 启动命令在选中的空闲工作站上运行 • Trick: 服务端应答时,让应答的延迟与自己当前负载成正比
4.1.2 空闲工作站的利用 • 透明地运行一个远程进程 • 代码移动比较容易 • 如何设置远程运行环境? • 相同的文件系统,工作目录,环境变量 • 特殊情况 • 本地运行:读取键盘,写屏幕 • 远程调用: • SBRK(调整数据段大小) • NICE(设置CPU调度优先级) • PROFIL(程序计数器计数)
4.1.2 空闲工作站的利用 • 透明地运行一个远程进程 • 代码移动比较容易 • 如何设置远程运行环境? • 相同的文件系统,工作目录,环境变量 • 特殊情况 • 时间有关的系统调用 • MAKE
4.1.2 空闲工作站的利用 • 如果空闲工作站的主人回来重新使用它,怎么办? • 方案1:什么都不做 • 方案2:强行取消正在运行的非本地进程 • 远程通知,然后关闭 • 方案3:迁移
4.1.2 处理机池模型 处理机池模型是无盘工作站模型的进一步发展。 实际上,我们是把所有的计算能力转换成了可以动态访问的“空闲工作站”。
4.1.2 处理机池模型 • 使用排队论来描述和分析 • 在一个排队系统中,用户随机地向服务器请求服务 • 当服务器忙时,用户必须排队等待服务 • 按顺序被服务
4.1.2 处理机池模型 • 排队系统的定义 • 用来描述顾客到达、等待、被服务以及离去过程的模型 • 排队系统的假定 • 顾客源无限大,它意味着排队顾客非常多也不影响顾客的到达率
4.1.2 处理机池模型 • 排队系统的三大要素 • 到达间隔时间的概率密度函数 • 服务时间的概率密度函数 • 服务员个数
4.1.2 处理机池模型 • 排队系统表达方式:A/B/m • A是到达间隔时间的概率分布 • B是服务时间的概率分布 • M-指数型概率分布 • D-等值型概率分布 • G-一般分布 • m是服务员个数 • 本课讨论M/M/1模型
4.1.2 处理机池模型 • M/M/1系统参数 • 到达间隔时间的概率密度函数 • fA(t)=λe-λt • 均值为1/λ • λ是平均到达率 • 服务时间的概率密度函数 • fs(t)=μe-μt
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/(μ-λ)
4.1.2 处理机池模型 • 例题:假设有一个小水坑,鸟儿随机飞来就浴,平均到达率为3只/分钟。鸟儿平均洗浴时间为10秒/只,指数分布。求平均一只鸟需要等待多长时间才能洗上澡? • 平均到达率λ=3只/分钟=0.05只/秒 • 平均服务率μ=1/10=0.1只/秒 • 平均响应时间T=20秒 • 平均等待时间为20-10=10秒/只
4.1.2 处理机池模型 • 排队论可作为延迟分析的理论工具 • T=∮fT(t)dt=1/(μ-λ) • λ<μ
4.1.2 处理机池模型 • 一个重要的分析结果: • n个独立排队系统 • 每一个系统都是一个请求到达速率为λ • 处理机处理速率为μ • 则,平时响应时间为T=1/(μ-λ)
4.1.2 处理机池模型 • 一个重要的分析结果: • 将n个独立排队系统集中起来 • 请求到达速率为nλ • 处理机处理速率为nμ • 则,平时响应时间为T1=1/n(μ-λ)=T/n
4.1.2 处理机池模型 • 这个结果具有一定普遍性并已应用到很多的系统中 • 例:航空公司更愿意每5个小时飞一架300座的747飞机,而不愿意每10分钟飞一架10座的商业飞机。 • 当把处理能力分配给多个小服务器,使得每一个用户拥有一个,这与随机到达的请求不相匹配。而处理机池模型可以减少这种时间的浪费,这也是它总体性能更高的原因
4.1.2 处理机池模型 • 事实上,排队论的结果正是完全否定分布式操作系统的主要理由之一。 • 但是,响应时间并不代表一切 • 制造成本 • 响应时间的一致性 V.S. 平均响应时间 • 之前结果一个前提假设 • 所有的请求被分配在所有处理机上并行处理
4.1.2 处理机池模型 • 处理机池模型的另一优点 • 工作负载 • Case1: 低任务量:发邮件 • Case2: 大型项目开发 • Make • Matlab • 人工智能程序
4.1.2 混合模型 • 工作站 • 交互工作 • 处理机池 • 大任务工作 • 优点: • 响应时间短 • 资源利用率高 • 系统设计简单