Page 322 - 《软件学报》2021年第9期
P. 322

2946                                 Journal of Software  软件学报 Vol.32, No.9,  September 2021

         Key words:    Sunway TaihuLight; molecular dynamics; iteration; heterogeneous; synchronization

             分子动力学模拟是考察系统随时间演化的行为                  [1,2] .在一定时间内,靠计算机模拟分子和原子体系运动,广
         泛应用于物理、化学、生物等领域.用分子动力学模拟微观生物现象如蛋白质折叠                              [3,4] 所需时间尺度为毫秒,为
                                                                     12
         捕获原子震荡现象,每个迭代步设为 1fs~2.5fs,模拟总时长若为毫秒,需要 10 个迭代步.相邻两个迭代步间具有
         相关性,需要一次通信,而频繁通信成为此类问题计算性能的主要瓶颈.
             时间演化类问题从时间轴来模拟体系演化.时间被离散化为一定步长为间隔的时间点,下一个时间点的状
         态依赖上一个时间点的状态,两个状态之间需要一次通信以交换数据.典型的应用是分子动力学模拟                                     [5,6] ,分子
         沿着这些时间点运动,每个时间点对应分子的一个状态.分子在 t 时刻的状态用向量 X(t)表示,记录 t 时刻所有粒
         子的位置,速度等状态信息.t+1 时刻的状态 X(t+1)由 t 时刻状态 X(t)演算而来,即 X(t+1)=f(X(t)).因而,不同时刻粒
                                                               [7]
         子状态间的关系是相互依赖的,需要通信.而神威上的通信延迟较长 ,包括网卡上的通信延迟以及较长的数据
         通路所带来的通信延迟都太长了.此类计算模式的时间演化类程序在高延迟的神威集群上如何优化,规避通信
         延迟,提高性能,是本文的宗旨.
             神威太湖之光超级计算机以理论峰值 125.4PFLOPS/s 位居世界第一,其 SW26010 处理器是针对神威定制
         的多核处理器,每个处理器由 4 个核组组成,每个核组包含 1 个主核和 64 个从核.神威超级计算机上共安装了
                                                                                          [9]
                                               [8]
         40 960 个 SW26010 处理器,共 10 649  600 个核 .在神威上,大部分应用是以一个 CPU 作为单位编程 ,只用 4
         个核组中的一个核组进行计算和通信,如图 1 所示.CPU 上的 4 个核组共享一个网络端口,若问题规模不变,这就
         迫使我们充分利用所有核组的计算能力,以提高性能,如图 2,4 个主核同时计算和通信.由图可见,两种模式的区
         别是:(1)  进程数不同;(2)  消息个数不同.设问题规模为 N,进程个数为 P,模式 1,进程上任务量为 N/P,消息个数
         m.模式 2,每进程上任务量 N/4P,消息个数 4×m.消息个数增加了 4 倍,因而带来了通信延迟.如何在以核组为单位
         的编程模式中减少消息个数,优化通信延迟.
             如图 3 所示,每个 CPU 只选一个进程用于与外界通信              [10] ,片上所有核间的数据同步是通过共享片外存储来
         实现,减少了用于通信的进程数,即实现了消息个数的减少,优化了通信延迟.这是神威上较快的共享数据的方
           [7]
         式 ,但由于多核访存需要经过访存队列,这种方式仍然较慢,带来访存延迟.




                     系统接口                       系统接口                          系统接口

                   Msg                       Msg   Msg                      Msg   Msg

                                             Msg    Msg                     Msg   Msg


          Fig.1    Node master process mode    Fig.2    Core groups programming    Fig.3    Reducing the number of processes
              图 1   节点主进程方式               图 2   核组为单位编程                     图 3   减少进程数方式
             针对诸如分子动力学模拟等延迟敏感的时间演化类应用,本文的主要贡献是,给出了完整的主从核异构的
         国产神威处理器上的一系列优化技术,为类似的通信受限类程序提供了参考.
             (1)  异构体系结构下核间同步的优化,采用共享内存等待与从核同步相结合的方式,优化访存延迟,进而
                 优化通信延迟;
             (2)  改变计算模式,采取有利于减少核间数据关联和依赖关系的计算模式,减少相邻迭代步间的通信次数
                 和数据等待,优化通信延迟;
             (3)  高效访存及规则化以提升性能.数据传输与计算重叠,以优化从核访主存效率.规则化数据结构以提
   317   318   319   320   321   322   323   324   325   326   327