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