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

简介:

“大自然并不友善”---在纪录世界各地瘟疫爆发过程的《逼近的瘟疫》一书中曾这样提过。埃博拉、HIV、沙拉……这些病毒我们曾谈之色变,地球在孕育生命的同时,危险也在悄悄潜伏,人类需要在病毒面前尽快找出可以攻克的药物。分子动力学模拟被广泛的应用在现代药物开发设计中,常被称为人类战胜病毒的“武器”。

想要了解生命活动过程并进行针对性的药物设计,仅仅知道病毒的基因序列是不够的,折叠成三维立体构像的活性蛋白质及相关复合物才是关键,通过研究和分析相关蛋白质,找到可以和药物分子有特异性相互作用的靶点,才能最终成功开发出可以治疗这项疾病的药物。

分子动力学模拟可以通过计算原子之间的相互作用,求解牛顿方程,来模拟体系中原子和分子的运动,它所产生的丰富构像是解释生命活动现象、设计药物分子所不可或缺的重要手段。

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

图一:药物设计开发过程(图片来源于Nature)

分子动力学模拟对高性能计算的需求

在分子动力学模拟中,一般需要模拟微秒级或毫秒级的病毒或肿瘤蛋白折叠过程才能积累到足够的样本量,因此必须要用到高性能计算来进行分子动力学模拟。从下图我们可以看出分子动力学模拟对高性能计算的需求,美国俄亥俄州超算中心奥克利超级计算机的数据显示Gromacs和NAMD两大分子动力学模拟应用已经占到了其运行机时的25%。

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

图二:奥克利超级计算机机时占用情况

从理论入手进行分子动力学模拟优化

但是,计算过程中各节点的间的通讯、负责均衡等问题都会对高性能计算在分子动力学模拟中的应用产生影响。那么,分子动力学模拟程序应该如何优化和加速呢?我们可以先看一下它的理论基础。

在分子动力学模拟中,体系原子的一系列位移是通过对牛顿运动方程积分得到的,其结果是一条运动轨迹,它表明了系统内原子的位置与速度如何随时间而发生变化。通过解牛顿第二定律的微分方程,可以获得原子的运动轨迹,为了得到原子的运动轨迹,可以采用有限差分法来求解运动方程。有限差分法的基本思想就是将积分分成很多小步,每一小步的时间固定为 δt。用有限差分解运动方程有许多方法, 比较常见的有Leap-frog 算法和Velocity-Verlet 算法等。

实际案例:5步详解分子动力学模拟优化

下面,我们以一个25万原子数的体系为例子,借助浪潮自主研发的“天眼”高性能应用特征分析系统(简称浪潮天眼),来分析Gromacs(5.0版本)和NAMD(2.6版本)两个典型的分子动力学应用在运行同一算例时的运行特征。

该测试集群采用了浪潮NF5440M4刀片节点,单节点处理性能近1万亿次,支持AVX2.0指令集,单节点内存容量64GB DDR4,且充分发挥了“四通道内存”及“DDR4频率优势”,网络方面采用了国内领先的InfiniBand技术,网络带宽高达 56Gb/s。本次测试共计采用96计算核心。

管理节点

型号

Inspur 5280M4

CPU

Intel(R) Xeon(R) CPU E5-2660v3 *2

内存

8GB*16, Samsung DDR4 2133MHz

存储

2TB*8 SAS RAID 0

计算节点

型号

Inspur NX5440M420

CPU

Intel(R) Xeon(R) CPU E5-2680v3 *2

内存

8GB*8, Samsung DDR4 2133MHz

磁盘

250G SSD

网络

Infiniband FDR

高性能计算服务平台

Cluster Engine

高性能计算调优工具

浪潮“天眼”(TEYE)高性能应用特征分析系统

操作系统:

RedHat Enterprise Linux 7.0 x86_64

测试集群配置

  • CPU资源使用情况

下面两个图分别是Gromacs运行该算例时对某一个计算节点的CPU使用情况,和对应的CPI值,由于Gromacs运行过程中特征一致,因此我们截取了约25mins时间段内的数据进行分析。由于NAMD的特征和下图基本一致,在此处略去。

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

图三:浪潮天眼监测的Gromacs CPU资源使用情况

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

图四:浪潮天眼监测的CPI数据情况

从图三种可以看出CPU的使用率一直维持在100%,表明Gromacs和NAMD是计算密集型,而在图四上,可以看出其CPI数据维持在0.5左右,远低于1,因此进一步推断出Gromacs和NAMD应用具体属于浮点计算密集型。

对于浮点计算密集型的程序,主流优化的思路就是借助于CPU的单指令多任务(SIMD)指令集,特别是AVX和AVX2指令集。下图给出了几个常见的分子动力学模拟软件在E5-2600V3平台上使用AVX指令集和不使用AVX指令集时候的性能对比。

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

图五:使用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网络均是不错的选择。

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


原文发布时间为:2016-07-25

本文作者:李祥敬

本文来自云栖社区合作伙伴至顶网,了解相关信息可以关注至顶网。



原文发布时间为:2016-07-22


本文来自云栖社区合作伙伴至顶网,了解相关信息可以关注至顶网。



相关文章
|
机器学习/深度学习 人工智能 并行计算
带你读《生命科学行业云上解决方案及最佳实践》——GHDDI,阿里云高性能计算助力 药物研发实现高通量分子筛选
带你读《生命科学行业云上解决方案及最佳实践》——GHDDI,阿里云高性能计算助力 药物研发实现高通量分子筛选
223 0
|
19天前
|
存储 人工智能 调度
阿里云吴结生:高性能计算持续创新,响应数据+AI时代的多元化负载需求
在数字化转型的大潮中,每家公司都在积极探索如何利用数据驱动业务增长,而AI技术的快速发展更是加速了这一进程。
|
14天前
|
存储 人工智能 大数据
阿里云吴结生:高性能计算持续创新,响应数据+AI时代的多元化负载需求
在数字化转型的大潮中,每家公司都在积极探索如何利用数据驱动业务增长,而AI技术的快速发展更是加速了这一进程。
|
21天前
|
存储 人工智能 弹性计算
对话阿里云吴结生:AI时代,云上高性能计算的创新发展
在阿里云智能集团副总裁,弹性计算产品线负责人、存储产品线负责人 吴结生看来,如今已经有很多行业应用了高性能计算,且高性能计算的负载正呈现出多样化发展的趋势,“当下,很多基础模型的预训练、自动驾驶、生命科学,以及工业制造、半导体芯片等行业和领域都应用了高性能计算。”吴结生指出。
|
19天前
|
机器学习/深度学习 人工智能 弹性计算
阿里云AI服务器价格表_GPU服务器租赁费用_AI人工智能高性能计算推理
阿里云AI服务器提供多种配置选项,包括CPU+GPU、CPU+FPGA等组合,支持高性能计算需求。本文汇总了阿里云GPU服务器的价格信息,涵盖NVIDIA A10、V100、T4、P4、P100等多款GPU卡,适用于人工智能、机器学习和深度学习等场景。详细价格表和实例规格见文内图表。
|
3月前
|
机器学习/深度学习 人工智能 弹性计算
阿里云AI服务器价格表_GPU服务器租赁费用_AI人工智能高性能计算推理
阿里云AI服务器提供多样化的选择,包括CPU+GPU、CPU+FPGA等多种配置,适用于人工智能、机器学习和深度学习等计算密集型任务。其中,GPU服务器整合高性能CPU平台,单实例可实现最高5PFLOPS的混合精度计算能力。根据不同GPU类型(如NVIDIA A10、V100、T4等)和应用场景(如AI训练、推理、科学计算等),价格从数百到数千元不等。详情及更多实例规格可见阿里云官方页面。
257 1
|
5月前
|
存储 弹性计算 网络协议
阿里云hpc8ae服务器ECS高性能计算优化型实例性能详解
阿里云ECS的HPC优化型hpc8ae实例搭载3.75 GHz AMD第四代EPYC处理器,配备64 Gbps eRDMA网络,专为工业仿真、EDA、地质勘探等HPC工作负载设计。实例提供1:4的CPU内存配比,支持ESSD存储和IPv4/IPv6,操作系统限于特定版本的CentOS和Alibaba Cloud Linux。ecs.hpc8ae.32xlarge实例拥有64核和256 GiB内存,网络带宽和eRDMA带宽均为64 Gbit/s。适用于CFD、FEA、气象预报等场景。
|
5月前
|
存储 弹性计算 网络协议
阿里云高性能计算HPC优化实例商业化发布详解
基于云的高性能计算(Cloud HPC),与传统HPC相比更加灵活、高效。
|
6月前
|
存储 机器学习/深度学习 网络协议
阿里云高性能计算实例规格族有哪些?各自特点、适用场景介绍
阿里云高性能计算是的阿里云服务器ECS的架构之一,高性能计算实例规格族主要应用于各种需要超高性能、网络和存储能力的应用场景,例如人工智能、机器学习、科学计算、地质勘探、气象预报等场景。高性能计算实例规格族有高性能计算优化型实例规格族hpc8ae、高性能计算优化型实例规格族hpc7ip、计算型超级计算集群实例规格族sccc7等。下面是阿里云高性能计算实例规格族特点、适用场景介绍。
阿里云高性能计算实例规格族有哪些?各自特点、适用场景介绍
|
6月前
|
存储 机器学习/深度学习 并行计算
阿里云服务器X86计算、Arm计算、GPU/FPGA/ASIC、高性能计算架构区别
在我们选购阿里云服务器的时候,云服务器架构有X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器、高性能计算可选,有的用户并不清楚他们之间有何区别,本文主要简单介绍下不同类型的云服务器有何不同,主要特点及适用场景有哪些。
阿里云服务器X86计算、Arm计算、GPU/FPGA/ASIC、高性能计算架构区别