ch4-第四章划分与调度探索.ppt

  1. 1、本文档共68页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.2 负载平衡 4.2.1 负载平衡的定义及其分类 问题背景:并行计算机的进程数目超过了可用的处理机数。 负载的度量:CPU时间、通信时间、存储器用量、并发进程数等等。 什么是负载平衡(Load Balance)? 1. 静态的负载平衡 针对应用程序中的各种信息(如各个任务的计算量大小、依赖关系和通信关系)以及并行系统本身的状况(如网络结构、各处理结点计算能力)对应用程序中的并行任务作出静态的分配决策,在运行该程序的过程中依照事先的分配方案将任务分配到相应结点。 问题是任务负载是动态产生的,很难准确预测。这种方法只用于理论推导而很难用于实际。 2. 动态的负载平衡 在应用程序运行过程中实现负载平衡:通过分析并行系统的实时负载信息,动态地将任务在多处理机之间进行分配和调整。 4.2.2 负载分配算法的构成 1. Transfer Policy(传送策略) 用来确定一个结点是否进行任务传送。 常用的是阈值(Threshold policy)。把结点分成忙碌和空闲两类,某个结点的负载低于阈值即为空闲,高于阈值为忙碌。如果阈值设置过低,负载量人为的很高;如果阈值设置过高,结点事实上已经支持过重的计算,但表面上仍显得空闲。 如结点上产生了一个新的任务,使负载超过了阈值,则可认定此结点为Sender,如负载低于阈值,则可认为此结点是可接收远程任务的Receiver。 2. Selection Policy(选择策略) 在Transfer Policy确定Sender后,选择策略即去选哪一个任务进行传送。最简单的办法是选定最新使该结点成为可发送结点的那个任务。 3. Location Policy(定位策略) 用来确定传送任务应该传送给哪一个结点。一般所用的方法为Polling,可串行或并行进行(multicast),可随机进行,即根据以前收集的信息随机进行或按照近邻方式进行。也可以广播方式进行。 4. Information Policy(信息收集策略) 负责确定何时应该从系统中的其它结点收集信息,从何处收集信息,以及收集什么信息。Demand-driven:在一个结点被确定为Sender或Receiver后,即去收集其它结点的信息。 5.三种启动方式 (1)Sender-initiated:发送者启动,即忙碌结点启动负载平衡,适合于轻负载。过程如下: a. Sender广播Too-High消息,将Too-High的超时标志Timeout置位,开始收听Accept消息,直到超时结束。 b. Receiver接收Too-High消息,撤除Too-Low的超时标志Timeout,发送Accept消息给Too-High源结点,增加负载值并设置Awaiting Task Timeout。如超时后仍然没有收到任务,则将负载值减小。 c. 在收到Accept后,如结点仍然为Sender,则选定最合适的任务给响应结点。 d. 如Too-High超时已经结束,而Accept消息尚未收到,Sender表示原来假定的平均系统负载值太低(阈值),它可以广播Change Average消息给其它结点,增加平均负载值。 (2)Receiver-initiated:接收者启动,适合于重负载系统。 a. Receiver广播Too-Low消息,设置Too-Low Timeout,开始收听Too-High消息。 b. 假如收到Too-High消息,Receiver完成上述类似于Sender所做的动作。 c. 在收到Too-High消息之前,Too-Low已经超时,Receiver也可以广播Change Average消息到其它的结点,减小平均负载值。 (3)Symmetrically initiated:混合型。低负载时采用Sender-initiated策略,重负载时采用Receiver-initiated策略。 第四章 划分与调度 4.1 粒度划分与组合 4.2 负载平衡 4.3 程序流机制 4.3.1一些概念 4.3.2控制流驱动 4.3.3数据流驱动 4.3.4需求驱动 4.3 程序流机制 4.3.1 一些概念 程序:为完成某任务所要求操作集合的说明。两个特点。操作的无序性——也就是程序中所要求的操作可以是有序的执行,也可以无序的执行。不是所有将要执行的操作要求所有的输入数据集合。 计算:对给定的个别输入数据集合执行操作的子集。 控制流程序:由程序员指定的完全有序操作的程序。 数据流程序

您可能关注的文档

文档评论(0)

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

我是自由职业者,从事文档的创作工作。

1亿VIP精品文档

相关文档