- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
多核环境下高效集合通信关键技术探究研究
多核环境下高效集合通信关键技术探究研究1多核处理器和集合通信
1.1 多核芯片对通信的影响
多核技术属于一种硬件技术,即在一个处理芯片的内部集成多个工作核心。为了提高数据之间的转换和处理能力,减少内存的工作压力,目前采用的多核芯片在内部集成了容量较大的高速缓冲存储器(Cache),在Intel公司的四核处理器中就集成了2MB的共享Cache,AMD公司出品的产品也在芯片上集成了Cache。在实际的运行中,因为Cache和内存的存储模式存在差异,这就导致多核处理器与传统的SMP系统之间的差异,传统的两层通信模式是节点内通过共享内存通信、节点间通过高性能网络通信,而新的通信方式变为三层通信模式,片内同共享Cache通信、片间通供共享通信、节点间通过高性能网络通信。这在通信的媒介和层次之间的互访上存在着明显的差异。
1.2 集合通信的含义
所谓集合通信就是组织一个通信域为一组通信的进程服务,在进程之间完成特定的通信操作,主要是针对数据分发和同步化操作。在MPI基础上的集合通信有两种模式,一种是一对多的通信模式;另一种是多对多的模式。因为集合通信随着并行程序规模的拓展,使得所需要的进程数目也就越多,进程之间的数据交互和同步操作也就越多。
1.3 多核与集合通信的研究现状
在使用多核处理器的硬件环境中,集合通信的性能可以得到优化,这个优势已经得到了业界的关注,也对此进行了相关的研究。如:针对Intel多核心系统共享2L Cache的特征,提出合理两层通信计算来对MPI-Bcast和MPI-Allgather,应用NUMA的特征,优化MPI-Allreduce共享内存,同时采用通信调度的手段对其进行充分利用HT总线的双向宽带,从而使得MPI-Alltoall性能进一步优化。此种研究是针对硬件特征而展开的,而不能代表众多多核系统的特征。
2多核环境下高效集合通信的关键技术
2.1 关于MPI-Barrier的研究
MPI-barrier主要针对多个进程之间的同步操作而进行的,在进行Barrier操作的过程其他程序都需要暂缓直至Barrier完成,目前基于共享内存的MPI-Barrier计算方式是利用两层通信来完成的:首先是节点间同步,此过程对节点的首级进程之间完成同步,相应的优化手段是利用OSU大学采用RDMA进行操作,完成数据的交互提高了节点间的数据传输的性能;其次节点内的同步,此时采用了基于内存共享的双队列算法来完成。目前,双队列的计算方式是在共享内存的基础上实现的,因为gather和scatter两个阶段所采用的队列形式不同,所以Cache的缺失率会有所增加,导致Barrier操作时性能会有所下降。这就需要对其进行必要的改进,研究发现可从gather和scatter两个阶段的顺序性来进行改进,利用同一个队列来进行gather和scatter操作,以此减低了空间的浪费,提高了共享Cache时的工作效率,这样就可以提高集合通信的效率。
为了保证MPI-Barrier可以获得更多的多核芯片的内部结构信息,采用此种改进的算法将传统的片内、片间的两层式计算方法进行拓展,实现了多层次的集合通信。MPI-Barrier算法实现时仍然是保持gather和scatter两个阶段的计算过程,同时对gather和scatter的操作分为三个层次,片内、节点内、芯片间,此时的计算是根据不同的进程所在的层次,以及处理任务差异来进行数据处理,此进程有也有三种:(1)节点的首级进程处理,首先是负责芯片级主要进程的gather进程操作,一旦gather操作完成就代表芯片内部的相应操作结束,然后首级进程之间即开始gather和scatter操作,以此完成二者之间的同步化,在首级进程之间完成同步处理后,系统将开始芯片级主进程的scatter操作。(2)芯片级主要进程操作。负责芯片内部子进程都完成gather操作后,即向节点首级进程发出通知报告gather完成,等待节点首级进程分发scatter操作,在接收到此项指令后,在向子进程分发scatter操作。(3)子进程操作。负责向自身对应度的芯片级主进程同时本进程完成gather的操作,同时等待芯片级主进程发出的scatter操作指令,在子进程获得指令后,就表示本次度的Barrier操作完成。多层次集合通信的计算方式适应了多核环境下的三层结构,相比一些算法更可以将多元化的通信操作融合到片内通信上,并完成计算,所以大大提高了MPI-Barrier通信效率。
2.2 关于MPI-Bcast的研究
在MPI-Bcast的方式主要是将主进程中的数据进行广播,分布到所有进程中。此种计算在小消息情况下为了减少通信延迟,采用了binomial tree的方式,而针对大
您可能关注的文档
最近下载
- Fronius伏能士 TPS320 400 500 600iv TPS400 LSCADV MIG.MAG电源操作手册.pdf VIP
- 4 2实现中华民族伟大复兴的中国梦-议题式教学课件 23张-【新教材】2021-2022学年统编版(2019)高中政治必修一.pptx VIP
- 预制钢筋混凝土装配式检查井施工方案.pdf VIP
- 14J936 变形缝建筑构造.docx VIP
- 有限公司股权激励计划协议限制性股权.pdf VIP
- 金融业三个办法新规及实操要点解读课件.pptx VIP
- 人教版小学三年级下册劳动教育完整教案.pdf VIP
- 公文语言的特点.doc VIP
- 辅助生殖拮抗剂方案标准化应用专家共识.pptx VIP
- 国家建筑标准设计图集22G101-3 混凝土结构施工图平面整体表示方法制图规则和构造详图(独立基础、条形基础、筏形基础、桩基础).pdf VIP
文档评论(0)