阿里云超算集谛优化GPU异构并行性能:GROMACS

摘要: 阿里云超算集谛优化GPU异构并行性能:GROMACS数据库

“集谛”是一款内置于阿里云弹性高性能计算(Elastic High Performance Computing,E-HPC)的云上性能监控与分析引擎,支持集群资源利用状况的实时监控和用户做业运行状况的在线分析。对于采用GPU加速的异构计算应用场景,“集谛”除了监控节点host端资源外还能监控GPU device端的资源利用状况,给出GPU利用率、显存利用率和PCI-E数据传输带宽等性能指标随时间的变化,帮助用户更好得了解应用运行状态,指导应用改进。性能优化

分子动力学(Molecular Dynamic,MD)模拟是一种基于经典牛顿力学创建分子结构模型,对分子及分子体系的结构和性质进行研究分析的计算机模拟方法,是人类打开微观运动世界的钥匙。做为高性能计算领域的重要研究方向之一,分子动力学模拟在新材料研制、化学工业模拟、生物医药等多个领域被普遍应用,相关研究成果屡次入选美国三大工程奖之一的戈登贝尔奖。分子动力学模拟包含了大量分子间相互做用力的计算,计算过程密集且规整,所以很是适合使用CPU向量运算部件和GPU卡进行加速。目前主流的几款分子动力学模拟软件GROMACS、NAMD、LAMMPS都可以采用GPU卡来加速其核心计算过程。下图给出的使用分子动力学模拟方法后获得的生物大分子构型的演变。服务器

对GPU资源的充分利用是分子动力学软件获取理想模拟效率的关键。本文以GROMACS为例,使用“集谛”对其运行时性能特征进行多方位展现,分析当前性能瓶颈,从而对软件性能进行优化。网络

“集谛”GPU性能监控介绍

节点维度:“集谛”按照用户选取的节点构造出多个坐标平面,每一个坐标平面对应展现一个节点的GPU资源利用状况。其中,节点内不一样GPU卡的性能数据以时间为横轴展现在同一个坐标平面内。这种节点维度的呈现方式有利于用户对比节点内不一样GPU卡间的负载状况。
性能

指标维度:“集谛”根据用户选取的GPU子设备和性能指标构造出多个坐标平面,每一个坐标平面对应展现某一GPU子设备&某一性能指标上不一样节点的性能表现,方便用户对比节点间的GPU负载状况。
优化

“集谛”指导GROMACS性能优化

本文在ecs.gn5实例(8 core,16 vCPU,120GB内存,2 P100)上运行分子动力学软件GROMACS的GPU版本,并使用“集谛”监控软件执行过程当中的系统资源利用状况。阿里云

节点维度:
spa

指标维度:
3d

从上图能够看出:orm

  1. CPU利用率持续保持在85%以上
  2. GPU利用率在45%到70%之间,而且波动较大
  3. GPU显存利用率在25%左右
  4. GPU设备PCI-E传输带宽基本不超过2GB/s

因而可知,CPU端计算资源接近用满,负载较重;而GPU端计算资源、显存和PCI-E带宽均未达到瓶颈,尚有进一步可用的空间。GROMACS软件自己采用“CPU+GPU”的主从协同计算模式,CPU和GPU任一端的性能瓶颈都会拖慢软件的总体性能。所以为了提高GROMACS的软件执行效率,咱们选择将CPU端的PME计算过程进一步offload到GPU端。经过这种方式,咱们在减小CPU端计算任务的同时又充分利用了GPU端的计算资源,从而使CPU和GPU两端的计算负载更加均衡。完成该步优化后,咱们再次使用“集谛”监控GROMACS执行过程当中的系统资源利用状况。

节点维度:

指标维度:

从上图能够看出,在将PME计算过程offload到GPU端以后:

  1. CPU利用率降到30%~35%之间
  2. GPU利用率基本稳定在70%以上,而且波动较小
  3. GPU显存利用率提高到50%以上
  4. GPU设备PCI-E传输带宽达到3GB/s以上
  5. 相同任务量下,执行时间降为优化前的50%
    因而可知,对于采用“CPU+GPU”主从加速模式的软件,经过平衡CPU端和GPU端的计算负载,可以大幅提高软件的执行效率。

总结

集谛可以从计算、内存、网络、磁盘、加速卡等方面系统地监控集群资源的利用状况并系统地展现给用户,方便用户进行多方位地对比分析,帮助用户迅速定位性能瓶颈,从而为用户应用程序的改进提供指导。

阿里云双十一1折拼团活动:已满6人,都是最低折扣了

【满6人】1核2G云服务器99.5元一年298.5元三年 2核4G云服务器545元一年 1227元三年

【满6人】1核1G MySQL数据库 119.5元一年

【满6人】3000条国内短信包 60元每6月

参团地址:http://click.aliyun.com/m/1000020293/

原文连接

相关文章
相关标签/搜索