14并行算法设计(PCAM)教程.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
最短的期望的延迟(Shortest Expected Delay Scheduling SED) 举例来说 ABC三台机器分别权重123 ,连接数也分别是123。那么如果使用WLC算法的话一个新请求进入时它可能会分给ABC中的任意一个。使用sed算法后会进行这样一个运算 A:(1+1)/1 B:(1+2)/2 C:(1+3)/3 根据运算结果,把连接交给C 。 任务调度算法 任务放在集中的或分散的任务池中,使用任务调度算法将池中的任务分配给特定的处理器。下面是两种常用调度模式: 经理/雇员模式 非集中模式 Min-Min算法 Min-Min算法是一种实现起来很简单的算法,算法的执行时间也很快。算法的思想是首先映射小的任务,并且映射到执行快的机器上。 执行过程为:计算要参与映射事件的每个任务在各个机器上的期望完成时间,找到每个任务的最早完成时间及其对应的机器;从中找出具有最小最早完成时间的任务,将该任务指派给获得它的机器;指派完成后,更新机器期望就绪时间并将已完成映射的任务从任务集合中删除。重复上面的过程,直到所有的任务都被映射完。 该算法形式化描述如下: M为所有未调度的任务的集合 (1)判断任务集合M是否为空,不为空,执行(2);否则跳到步骤(7)。 (2)对于任务集中的所有任务,求出它们映射到所有可用机器上的最早完成时间cij。 (3)根据(2)的结果,找出最早完成时间最小的那个任务mi和所对应的机器hj。 (4)将任务mi映射到机器hj上;并将该任务从任务集合中删除。 (5)更新机器hj的期望就绪时间rj。 (6)更新其它任务在机器hj上的最早完成时间;回到(1)。 (7)此次映射事件结束,退出程序。 映射判据 采用集中式负载平衡方案,是否存在通讯瓶颈? 采用动态负载平衡方案,调度策略的成本如何? PCAM设计方法学 划分(Partitioning) 通讯(Communication) 组合(Agglomeration) 映射(Mapping) 小结 小 结 划分 域分解和功能分解 通讯 任务间的数据交换 组合 任务的合并使得算法更有效 映射 将任务分配到处理器,并保持负载平衡 * * * * * * * * * * * * 数组长度是N N*(1/2)^X=1 X=LogN 底为2 * * * * * * * * 时间顺序,先给后给,是一个二维结构概念 * * * 并行计算 Parallel Computing 并行算法设计( PCAM ) 主讲人:张琪 并行算法的一般设计方法 串行算法的直接并行化 从问题描述开始设计并行算法 借用已有算法求解新问题 从问题描述开始设计并行算法 方法描述 从问题本身描述出发,不考虑相应的串行算法,设计一个全新的并行算法。 评注 挖掘问题的固有特性与并行的关系; 设计全新的并行算法是一个挑战性和创造性的工作; 借用已有算法求解新问题 方法描述 找出求解问题和某个已解决问题之间的联系; 改造或利用已知算法应用到求解问题上。 评注 这是一项创造性的工作; 使用矩阵乘法算法求解所有点对间最短路径是一个很好的范例。 PCAM设计过程 划分:是对任务并行的求解,把任务大任务都打散,打稀碎,分解成小任务。 通信:原来是一个整体,不需要通信,分解后各个部分之间存在交流了,即通信。 通信属于额外成本,越少越好。 组合:任务组合形成更大的任务,目的是减少通信。 映射:并行程序的实现过程。 图中:三个处理器,有六个任务,怎样安排来执行的问题。 PCAM设计方法学 设计并行算法的四个阶段 划分(Partitioning) 通讯(Communication) 组合(Agglomeration) 映射(Mapping) 划分:分解成小的任务,开拓并发性; 通讯:确定诸任务间的数据交换,监测划分的合理性; 组合:依据任务的局部性,组合成更大的任务; 映射:将每个任务分配到处理器上,提高算法的性能。 PCAM设计方法学 划分(Partitioning) 通讯(Communication) 组合(Agglomeration) 映射(Mapping) 小结 组合 方法描述 表面-容积效应 重复计算 组合判据 方法描述 组合是由抽象到具体的过程,是将组合的任务能在一类并行机上有效的执行; 合并小尺寸任务,减少任务数。如果任务数恰好等于处理器数,则也完成了映射过程; 如果任务数大于处理器数,需要进行映射; 通过增加任务的粒度和重复计算,可以减少通讯成本; 保持映射和扩展的灵活性,降低软件工程成本;(例如:开发和维护成本) 前两个步骤是在算法层次上的,本部分和并行机、体系结构有关。 增加粒度: 在划分阶段,致力于尽可能多的任务以增大并行执行的机会.但定义大量的细粒度任务不一定产生一个有效的算法

文档评论(0)

我是兰花草 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档