• 美文
  • 文章
  • 散文
  • 日记
  • 诗歌
  • 小说
  • 故事
  • 句子
  • 作文
  • 签名
  • 祝福语
  • 情书
  • 范文
  • 读后感
  • 文学百科
  • 当前位置: 柠檬阅读网 > 美文 > 正文

    多核的关键技术 多核环境下高效集合通信关键技术研究分析

    时间:2019-05-30 03:26:38 来源:柠檬阅读网 本文已影响 柠檬阅读网手机站

      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的方式,而针对大消息为了提高并发,节点间利用scatter-allgather的计算方式,节点内进程是一种共享的方式,首进程先将数据复制到共享内存,然后其他进程在计算中对此备份进行共享和调用。现有的计算方式大消息通信有两个问题:一是所以进程同时共享备份数据这就会造成内存的竞争,减低了系统性能指标。二是计算过程中共享内存的分配由首进程控制,对于NUMA系统而言,共享内存位于靠近首进程的位置,这样多个进程访问内存只能利用系统的一个内存控制器的带宽,而不是所有带宽,限制了系统的性能优势发挥。
      对此,如果采用并发限制技术和NUMA感知的集合通信优化方式来优化MPI-Bcast的大消息处理能力。从其实质上看就是利用限制技术和分配内存的方式限制系统对内存访问的次序和时间,这样就实际上就完成了进程对内存中拷贝数据的访问和调用规范化,这样就形成了一个具有特定逻辑的数据通信流程,提高了系统的效率,也就提高了性能。
      
      3结语
      通过对计算方法的优化,进程处理的层次和过程都将趋向于多核技术的实际计算过程,此种方式是一种适应性改进,即在研究多核环境下的系统运行流程,从而获得对集合通信处理流程的改进依据,进而使得硬件与软件融合起来,提高系统通信的效率。
      
      参考文献
      [1] 孟丹刚.多核处理器与高效集合通信技术研究[J].计算机学报,2010(2).
      [2] 陈晓鹏.高性能计算与冲集合通信相结合[J].中国计算机用户,2009(29).
      [3] 王忠汇.多核时代的高性能数据处理与集合通信技术[J].新技术新工艺,2007(4).
      [4] 曾宇,张建林.多核机群下基于神经网络的MPI运行时参数优化[J].计算机科学,2010(6).
      [5] 朱辉杰.多核硬件技术与通信集合之间的关系与应用[J].制造技术,2009(11).
      

    相关热词搜索: 多核 高效 技术研究 集合

    • 文学百科
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章