五步提速高性能计算分子动力学模拟

  图五:使用AVX指令集和不使用AVX指令集性能对比图

  从图五可以看出,使用AVX2指令集进行加速之后,NAMD、Gromacs和Lammps三个软件的性能均有所上升,其中以Gromacs的提升最大,提升了1.6倍左右。

  内存使用情况

  下图是浪潮天眼测试的Gromacs运行过程中的内存使用情况,其单一节点的内存使用在2GB左右,而运行同一算例的NAMD的单节点内存使用在4GB左右。

  图六:浪潮天眼测试的Gromacs内存使用情况

  考虑到大部分的分子动力学研究的计算规模都是10万-100万原子数规模,因此可以看出分子动力学模拟应用对内存容量的需求并不是很大。这也就是说,运行这一类应用时,一般的双路高性能服务器就可以满足其对内存的需求,并不需要使用胖节点。

  内存带宽情况

  下图是浪潮天眼依次给出的Gromacs和NAMD两个软件在运行时某一节点的内存带宽情况。可以看到,经过前几分钟的调整之后,总内存读写带宽(红线)均维持在一个较为稳定的值;其中Gromacs的值在13GB/s,NAMD的值在25GB/s左右。

  图七:浪潮天眼监测的Gromacs内存带宽情况

  图八:浪潮天眼监测的NAMD内存带宽情况

  可以看出,在本测试算例中,两程序运行时对内存带宽的需求并不是特别大。但是,需要提到的是,内存带宽的大小是和算例规模有关系的,随着算例规模的增大,原子数的增多,程序对内存带宽的需求会变大。

  网络通信情况

  下面两个图依次是浪潮天眼测试的Gromacs和NAMD运行时的网络带宽情况,其中重合的红线和绿线分别对应IB网络的数据发送和数据接收。可以看出Gromacs运行时的网络通信带宽在300MB/s左右,而NAMD运行时的网络通信带宽则高达1000MB/s。

  图九:浪潮天眼测试的Gromacs网络通信情况

  图十:浪潮天眼测试的NAMD网络通信情况

  除了网络带宽之外,从这两个图中我们也可以看出网络通信是一个持续的数据流,这也就意味着网络延迟(latency)也会对程序性能有较大影响,即低延迟的网络会对程序的性能有较好的提升作用。这也就意味着,在网络的选择方面,高带宽、低延迟的InfiniBand网络,是一个较好的选择。

  磁盘读写

  分子动力学程序在运行时只会输出对应的轨迹文件,而该文件的输出也是程序每运行几百时间步时追加写入一次,因此其在运行时对磁盘读写并没有什么特殊的需求。

  分子动力学模拟计算集群配置方案建议

  通过以上比较我们可以发现,即使是对于同样大小的体系,Gromacs和NAMD对计算资源的需求也是不一样的,NAMD需要相对更多的内存、内存带宽以及网络带宽,而不同的体系大小,也会体现出对计算资源需求的差异。

  根据这些分子动力学模拟软件的普遍特点,我们也给出了如下的集群配置建议:(1)选择核心数更多,AVX频率更高的CPU,充分利用CPU的向量化浮点运算能力;(2)合理的搭配内存的数量和容量,虽然这些应用对内存容量的需求不高,但是有不小的内存带宽需求,因此建议单节点搭配不少于8条内存来充分满足应用的内存带宽需求;(3)选择高带宽、低延迟的网络,当前市面上主流的Infiniband和OPA网络均是不错的选择。

  浪潮在分子动力学模拟应用的调优优化方面有丰富的经验,通过浪潮天眼可以更全面、更精细的分析软件的运行特征,提供软硬一体化的全方位优化方案,目前浪潮在该领域的应用方案已经广泛的应用在了各高校和科研院所的相应领域的科学研究中。