- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第11章节分布式调度
* * 第十一一章 分布式调度 11.1 调度算法概述 调度算法的分类 11.1 调度算法概述 调度算法的分类 其他一些分类方法 : (1) 非抢先式的(non-preemptive)和抢先式的(preemptive)。对非抢先式的调度算法,一个进程开始执行后就不能中断。在抢先式调度算法中,进程可以中断,从一个处理机上移走,到另一个处理机上继续执行。 (2) 适应性(adaptive)和非适应性的(non-adaptive)。非适应性调度算法只使用一种负载分配策略,不会根据系统的反馈而改变自己的行为。适应性调度算法能够根据系统的反馈调整自己的行为,采用不同的负载分配策略。典型地,一个适应性调度算法是许多种调度算法的集合,根据系统的各种参数来选择一种合适的算法。 11.1 调度算法概述 调度算法的目标和有效性评价 分布式调度的基本目标是尽快得到计算结果和有效地利用资源。具体来说,调度算法的目标有两个: 一个目标是负载平衡(load balancing),它的努力目标是维持整个分布式系统中各个资源上的负载大致相同。 另一种目标是负载共享(load sharing),它的目标仅仅是防止某个处理机上的负载过重。相对来说负载共享的目标要比负载平衡的目标容易达到。负载平衡的主要目的是提高整个系统的流量,而负载共享的主要目标是缩短特定程序的执行时间。 11.1 调度算法概述 调度算法的目标和有效性评价 从调度算法的有效性来看,调度算法分为最优调度算法和次优调度算法。为了实现最优调度算法,调度者必须获得所有进程的状态信息和系统中所有相关的可用信息。最优性常用执行时间、资源利用率、系统流量以及这些参数的某种综合来进行评价。一般来说最优调度是一个NP完全性问题。所以在实际的系统中,常采用次优的调度算法。 11.1 调度算法概述 调度算法的目标和有效性评价 有许多参数用于确定或测量一个调度算法的有效性: 通信代价:使用这个参数的调度算法可能要考虑到向一个给定的节点传送或者从一个给定节点接收一个报文花费的时间,更为重要的是必须考虑到为一个进程分配一个执行地点而引起的通信代价。 执行代价:这个参数反映的是将一个进程分配到一个指定的执行节点,在这个节点的执行环境下,执行这个程序所需的额外开销。 资源利用率:常用来表明基于分布式系统当前各个节点的负载情况,给一个进程分配的执行节点是否是合适的。资源利用率参数常用负载状态来表示,常用的负载参数有资源的队列长度、内存的使用等等。 11.1 调度算法概述 调度算法的目标和有效性评价 次优的调度算法分为两类:近似的次优调度算法和启发式的次优调度算法: 近似的次优调度常和最优调度使用相同的算法,但是近似的次优调度不搜索这个算法的所有解空间,而是在这个算法的解空间中的一个子集中搜索,目的是尽快地找到一个较好的解。而最优调度则是搜索这个算法的整个解空间,目的是获得最好的解。使用近似的次优调度算法必须能够判定所得到的解是否是可以被接受的,也就是说,必须能够确定最优解和次优解之间的近似程度。 11.1 调度算法概述 调度算法的目标和有效性评价 次优的调度算法分为两类:近似的次优调度算法和启发式的次优调度算法: 启发式的次优调度算法常使用比较简明的规则和一些直觉的规则来进行调度。这些启发式的规则往往是不能证明其正确性,在特定情况下可能还是错误的,但是在绝大多数的情况下是能够被接受的。 11.1 调度算法概述 调度算法的目标和有效性评价 启发式调度算法中常采用的一些启发式规则: 相互依赖性较大的进程,由于它们之间常有比较多的进程通信应该分配到比较接近的执行节点上,可能的话,应该在同一个节点上。 访问共享文件的进程应该分配到比较接近的执行节点上,可能的话,应该分配在文件服务器节点上。 很少有内在关系的进程可以分布在不同的机器上。 如果一个节点已经是重负载的,不应该向该节点分配另外一个进程。 11.2 静态调度 设计调度策略时要考虑的三个主要因素:静态调度算法的目标是调度一个任务集合,使它们在各个目标节点上有最短的执行时间。总体上来说,设计调度策略时要考虑的三个主要因素是处理机的互连、任务的划分和任务的分配。通常用图模型表示任务和处理机的结构。我们可以用任务优先图和任务交互作用图对任务集合建模。 任务优先图是一个有向无环图(DAG),图中每个链接定义了任务间的优先关系,节点和链接上的标记表示任务的执行时间和任务完成后启动后续任务所需的时间间隔。 任务交互作用图中,链接定义了两个任务间的相互关系,每个链接赋予一对数,分别表示这两个任务在同一个处理机上时的通信开销和在不同处理机上时的通信开销。 11.2 静态调度 11.2 静态
文档评论(0)