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

田卓  等:神威太湖之光上分子动力学模拟的性能优化                                                        2949


         原子模拟现象是不现实的.为了提高硅原子模拟的迭代频率,有效的做法是减少迭代步间通信的延迟.由神威体
         系高性能集群的特点可知,其上的通信延迟较长.那么针对诸如分子动力学模拟的时间演化类程序,如何在神威
         上减少通信延迟、提高迭代频率,本文给出了一系列优化技术.

         2    神威上的优化

             CPU 的从核线程负责计算,两个从核线程位于 CPU0 和 CPU1 上,如图 6.CPU0 上的从核线程产生的数据,
         是 CPU1 上的从核线程下一个迭代步的输入,输出又作为 CPU0 上从核线程下个迭代步的输入.这样产生了数据
         依赖关系.
                                                  Infiniband
                                SI  3                           4  SI
                                               CG                          CG
                                          主核 从核                       主核 从核
                                    2     1    0                      6
                             CG                           CG   5          7
                                   NOC                         NOC
                             CG          CG               CG          CG
                                             CPU0                         CPU1
                           Fig.6    Data communication loop between different CPUs on Sunway
                                    图 6   神威上不同 CPU 间的数据通信环路

             若不做任何计算,数据在两个 CPU 之间传递一个来回也需要花费时间.CPU 计算能力即使再快,这个通信
         环路花费的时间长的话,也没有任何意义.不考虑任何计算时间,系统的速度极限即每秒能做多少次迭代,与这
         个环路每秒能做多少次通信是一样的.经测试,神威上的速度极限是每秒能做 3 000 次通信,但这个速度实际上
         太慢了.环路上的通信延迟,包括发生在网卡上和每台服务器上的延迟都太长了.对通信受限的时间演化类程序
         而言,通信延迟将极大地制约神威机器性能的发挥.因此,我们希望在神威上优化通信延迟.
             SW26010 众核处理器采用片上融合的异构体系结构               [15] ,包含 4 个核组,如图 7 所示.4 个核组之间通过片上
         互联网络(network on  chip,简称 Noc)连接,片上互联网络与系统接口(system interface,简称 SI)相连,系统接口连
         接到以太网.由申威处理器 4 个核组与以太网连接的方式可以看出:4 个核组在硬件上共享同一个网络接口,系
         统的通信能力固定.如果 4 个核组的 260 个核并发通信,多核并发通信将造成进程间竞争网络资源;同时,较多的
         消息个数将导致网络阻塞,通信性能降低.因此,本文考虑选用一个主核负责与外界通信,芯片内部采用核间同
         步策略来降低竞争成本,实现网络通信消息个数的减少,优化通信延迟.
                                                  存储器               存储器


                                 PCIe3.0           核组1               核组2
                                          系
                                以太网       统
                                          接              片上互连网络
                                维护接口      口
                                                   核组3               核组4

                                                  存储器               存储器

                                    Fig.7    Connection of network on SW26010
                                        图 7   申威芯片网络连接示意图
             分子动力学模拟中,粒子的状态迭代函数需要获取其远程邻居粒子的状态信息,如更新后的位置,以进行新
         的受力计算,进而更新加速度、速度和位移.迭代函数的性质决定了不同处理器之间的计算是相互依赖的,需要
         大量频繁的数据同步.本文采用的单进程通信能够降低处理器内部的通信开销,以及维护大量通信链接对资源
   320   321   322   323   324   325   326   327   328   329   330