- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于双向消息的并行归约算法的研究与实验
何 斌 漆锋滨
摘 要
本文在传统并行规约算法的基础上.充分利用双向消息的特点,提出了两种新的并行规约
算法,并与传统算法进行了比较,实验证明新算法分别适用于不同规棋的规约运算,具有明显的
优势。
关健词:并行规约 双向消息 并行算法 并行效率
一、引盲
气象领域一直是并行机的主要应用方向之一。数值天气预报具有计算复杂度高、数
据量大、时效性等要求,程序中存在大量的规约运算.如T106L19中需要归约计算的包含
涡度、散度等大数组在内的谱系数归约总量就达7兆多字节,做犯天预报就需归约960
次,所以归约函数效率的高低直接影响整个系统的时效,必须寻求一种高效的归约算法。
为了便于讨论.本文的规约以规约求和为例,其他规约操作类似。并行规约是指将各处理
机的一个或一组数据求和,并将计算结果返回到各个处理机,即
x(m)二全,:(二。m=1,2,3,二,。
工二.
其中,A;表示第i台处理机上的数据,有人(1),A;仪)A;(n)组成,n表示归约长
度,i表示处理机的坐标,i=0,Ip;表示第i个处理机,X为规约结果。
传统的规约算法川的处理过程可以分成两个阶段:首先将数据以二叉树的方式向上
传递,在根处理机上求出最终结果.然后将结果逐步向下传递给其他所有处理机。不难看
出.此算法没有充分利用网络的对分带宽,特别是计算只在部分处理机上执行,而大部分
处理机空闲。所以如何将计算和通信合理的分布到各个处理机,就成为提高并行规约效
率的关键。为了便于讨论,本文在算法工中介绍了传统算法,算法2和算法3为两种新的
规约算法。
二、算法描述
为了讨论方便,令 :
处理机个数,且P为2的N幕
规约数据长度,n个字节
T
州 目 单向发送,每次发送n个数据的时间
T
脚 醉 双向发送.每次发送 。个数据的时间
T
协 目 双向发送,每次发送n/2个数据的时间
T
砧 户 。 计算n个数据的时间
. I ‘ 8
︺
算法1(传统算法}:
该算法分两个阶段实现:
第一阶段:根据二叉树规则,执行l.}步通信和计算后,某一处理机得到所有处理机
的归约结果。在第I次中,处理机P;(iMOD2-’二21-’一I)发送全部数据到处理机P,(7=i
+2一【’)上,收到消息的处理机Pi进行计算,消息长度为。;
第 _阶段:把计算结果广播到所有处理机。其处理过程和第一阶段的通信处理过程
正好相反,执行109P次通信:在第I次通信过程中,P;(iMOD2二2,一’一1)接收Pi(1二i+
21-1)发送的数据,其数据长度为。
在第 一阶段,每次发送或接收n个数据,接收方对接收的数据进行处理,作为下一次
消息发送的源数据;在第二阶段,获得归约结果的处理机以二叉树原则广播到所有处理
机。在整个处理过程中需要通信的次数为2-I.82P,每次的通信数据量为n,通信的开销
为2‘lugT‘-9,,计算开销为Io82P,Td,所以此算法总的计算时间为:
T:二2,1.821,,‘r-,,,+log,,P场
图]为本算法的处理机间通信示意图.
今飞 1玉介 ,公 劫、 1汀rl赞
图I算法I通信示愈图
算法2(双向蝶式算法】:
从图1可以看出,算法I的通信次数太多,达2*I.2g次。为了减少通信,把单向消
息改成双向消息可以得到算法20
根据蝶式算法,执行lip次通信和计算后所卜有处理机都得到归约运算的最终结果。
在第1次通信过程中,处理机P与‘几(i份,一’)二=」)相互对发消息,消息内容为整个归约
数据n,接收消息后,本地数据和接收的消息进行归约运算,结果作为下一次发送消息的
源数据。
在本算法中,每个处理机同时发送和接收消息,对接收到的数据进行处理.计算量为
n个数据 整个过程的通信开销为4=P.T-},,计算开销为IoP+Tf,总
文档评论(0)