- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
分布式处理器分配算法
高级操作系统Advanced Operating System 陈香兰(代) xlanchen@ustc.edu.cn 0551-3606864-83 中国科学技术大学计算机系 第五章 分布式进程和处理机管理 分布式系统模型 分布式处理机分配算法 分布式进程调度 分布式系统容错 实时分布式系统 上次课主要内容 5.1 分布式系统模型 工作站模型 怎样找到一个空闲工作站 服务器端驱动的算法 客户端驱动的算法 怎样透明地运行一个远程进程 如何设置远程运行环境 如果空闲工作站的主人回来重新使用它,怎么办? 继续/强制取消/进程迁移 处理机池模型 用排队论来描述和分析处理机池模型的性能 混合模型 5.2 分布式处理机分配算法 分布式系统包括多个处理机,具有较大的处理能力。 另外,一个作业将产生多个任务或进程,它们需要分配在多个处理机上并行执行,以充分利用分布式系统提供的巨大的处理能力。 因此,分布式系统需要一个优良的资源分配算法来决定每个进程或任务应分配到哪一个处理机上执行 通常,这个算法被称为处理机分配算法或任务分配算法或负载分配算法(通常不称作进程分配算法,尽管但两者的意思完全相同) 5.2.1 分配模型关于处理器的假设 首先介绍一下处理机分配的基本模型、假定和目标:1)关于处理器: 假定所有的机器都是相同的,至少是代码兼容的,不同的只是运行速度。 一些分配模型还假定系统具有多个互不相关的处理机池,每一个处理机池都是相同的。 5.2.1 分配模型关于互连拓扑的假设 2)关于互连拓扑: 假定系统是完全互连的,即每一个处理机都可以与其它任意一个处理机相连接。 这并不表示每一个机器与其它任意一台机器之间都有线路连接,这个假定只是意味着每一对机器都可以互相通信。至于消息是如何从一台机器到达另一台机器的问题只是低层通信软件的事,处理机分配算法无需考虑。但有一些处理机分配算法利用了网络的广播或者多播的特性。 5.2.1 分配模型新进程的产生和处理机的分配 当一个运行中的进程决定创建一个子进程时,新的工作随之产生。 在有些情况下,创建进程是由系统的命令解释程序(即shell)来完成的。它为用户指定的命令而执行该命令所对应的程序。 而在另一些情况下,用户进程本身也可以创建一个或者多个子进程,以获得较高的系统性能。 对新进程必须考虑分配到哪个处理器上运行 5.2.1 分配模型处理机的分配策略1 处理机分配策略可以分为两大类:1)非迁移的2)可迁移的 第一类是非迁移的(nonmigratory) 在非迁移策略中,当创建一个进程时,系统就决定它被分配到哪台处理机上。一旦一个进程被分配到一台机器上,那么,它就在那台机器上运行,一直到终止,不管这台处理机的负载是多么的重,而别的处理机是多么的空闲,它都不能迁移到别的处理机上运行。 5.2.1 分配模型处理机的分配策略2 第二类是可迁移的(migratory) 对于可迁移策略来说,一个进程即使已经被分配到一台处理机上并已经运行了一段时间,它也可以动态地迁移到其它轻负载的处理机上继续运行。 虽然可迁移策略可以使系统达到良好的负载平衡,但实现起来却异常复杂。 5.2.1 分配模型分配算法的优化 处理机分配算法必须尽可能优化。否则,我们完全可以随机地或按数字顺序来分配处理机。 不同系统的优化内容是不一样的 优化目标1:提高处理机利用率 优化目标2:最小化平均响应时间 5.2.1 分配模型优化目标1:提高处理机利用率 通常的一个优化目标就是:尽量提高处理机的利用率 让处理机在每个小时内执行用户工作的周期数尽可能地大 换句话说,要尽量减少空闲处理机周期数。 5.2.1 分配模型优化目标2:最小化平均响应时间 另一个有价值的优化目标就是:使平均响应时间最小化 5.2.1 分配模型平均响应时间举例 假设有两个处理机。 处理机1以10MIPS的速度运行,处理机2以100MIPS的速度运行,其中等待队列中的进程需要5秒才能完成。 有两个进程。 进程A有1亿条指令,执行时间分别为10秒(在处理机1上)和1秒(在处理机2上)进程B有3亿条指令,执行时间分别为30秒和3秒 5.2.1 分配模型平均响应时间举例 这两个进程在每一个处理机上的响应时间(包括等待时间)如图所示。 5.2.1 分配模型平均响应时间举例 平均响应时间 如果把进程A和B分别分配给处理机1和2,那么平均响应时间是(10+8)/2=9秒。 若反向分配,那么平均响应时间就是(30+6)/2=18秒。 显然,前者的平均响应时间要比后者小。 5.2.1 分配模型最小响应时间的另一种形式 最小响应时间的另一种形式就是最小响应率。 响应率定义为:在一台机器上运行一个进程所需的时间除以该进程在无负载的
文档评论(0)