1 HPC介绍
高性能计算简称为HPC(High-Performance Computing)。和常规性计算(个人电脑、工作站等)对比,HPC更大的优势在于极快的运行速度,可以大大减少各类大计算量问题的处理时间,从而提高工作效率。
HPC广泛应用于工程仿真、人工智能、图像渲染、药物研发、天文研究等领域,是处理各类大计算量问题的必备工具。
利用HPC完成的赛车空气动力学仿真(图源:ansys.com)
2 HPC架构
现代计算机均采用冯诺依曼架构,其包含处理器、内存、存储设备、输入设备、输出设备五个部分。
冯诺伊曼架构示意图(图源:维基百科)
HPC架构同样以冯诺依曼架构为基础。由于电气、散热、通信、场地安装等各类限制,单个处理器的性能和单个内存的容量均不可能无限制增加。HPC架构通常采用集群(cluster)的方式,将多个处理器并行以实现更快的运行速度。
对于一个完整的HPC集群,通常包括三个部分:
典型HPC集群架构
节点根据处理器类型不同,可分为CPU节点和GPU节点。主节点负责集群和客户端之间的通信、系统输入输出处理等调度管理工作,仿真中具体的运算工作由从节点完成。
HPC集群的操作系统通常采用Linux的某些分支版本,包括SUSE、红帽等。
3 HPC的评价指标
对于HPC的应用,较重要评价指标为加速比和加速效率。
加速比表示了程序单核运行和多核运行之间的时间比例,计算公式:
加速效率表示了加速比和核心数之间的比例,为normalized speedup,计算公式:
加速效率等于1,称为线性加速;加速效率大于1,称为超线性加速。通常加速效率在0和1之间,超线性加速发生的概率不高。加速效率越高,则并行加速性能越优异。
从整体趋势而言,随着运行核心数量的增加,加速效率会逐渐恶化,投入更多硬件资源的收益逐渐减少。加速效率恶化的一个重要原因在于随着核心数量增加,不同核心之间的通信耗时会更多,用于程序运行的时间比例下降。
4 HPC更佳实践
4.1硬件选择
硬件的选择需要考虑多方面因素:采购预算、仿真案例的数量和计算量、IT运维团队配置等。由于实际场景的多样性,本文仅描述一些基础性选择标准。
4.1.1 CPU
CPU的性能直接决定了仿真求解速度,是硬件选择中较重要的部分
ANSYS支持的CPU为基于X86架构CPU,HPC集群通常采用AMD的霄龙或英特尔的至强系列。
通常而言,CPU尽可能采用近期发布的型号,其单核性能更强且能够支持更多先进硬件技术,从而提升运行速度。同一系列的CPU,其主要区别在于核心数量,可根据预算酌情选择。
不同CPU在Mechanical的加速性能对比
不同CPU在CFX的加速性能对比
4.1.2 内存
内存较重要的指标是容量和频率。
内存容量直接决定了可求解问题的复杂度。网格数量越多,物理机理越复杂,则内存需求量越大。请注意,对于同一模型,若调用更多的CPU核心数则需要更多的内存容量以处理核心之间的数据通信。
内存频率也是重要的求解速度影响因素,内存频率越高则求解速度越快。
不同内存频率下Fluent的求解速度对比
不同内存频率下Mechanical的求解速度对比
4.1.3 磁盘
主流的磁盘选择包括机械硬盘和SSD两类。机械硬盘优势在于磁盘容量大且价格便宜。SSD优势在于更快的速度和更好的可靠性。
在预算足够的前提下,优先推荐使用SSD。SSD已经在包括数据中心、公有云服务等众多领域得到广泛应用,属于成熟技术。SSD更快的磁盘读写速度可以在模型读取、结果写入等阶段节约大量时间,特别是对于需要保存中间步骤的瞬态仿真等磁盘读写较多的仿真案例。
4.1.4 节点通信
当需要调用更多核心数参与计算,则需要涉及集群的多节点通信。通信性能的评价指标为延迟和带宽。
节点间通信通常为InfiniBand模式,根据带宽可分为SDR(10 Gb/s)、DDR(20 Gb/s)、QDR(40 Gb/s)、FDR(56 Gb/s)、EDR(100 Gb/s)、HDR(200 Gb/s)等多个等级。更高的通信带宽下,求解速度更快,但是对硬件、运维等要求更高。
不同通信带宽下, Mechanical的求解速度对比(两个节点)
不同通信带宽下, Mechanical的求解速度对比(八个节点)
4.2 产品配置
结构、流体、电磁的求解器,包括Mechanical、Fluent、CFX、HFSS、Maxwell等均支持调用4核心,可通过HPC增加额外可用核心数,实现更高的计算效率。
目前HPC相关的产品主要有HPC Pack和HPCWorkgroup。
HPCPack扩展性更强,每多增加一个HPC Pack,可用核心数增加4倍。
HPC Pack扩展性能
HPCPack不能单独拆分使用。举例说明:
✔A、B同时使用,A用2个HPC Pack,B用1个HPC Pack
✔A用36核,B用12核
❌A用32核,B用16核(A无法转移空闲的4核给B使用)
HPCWorkgroup用于需要硬件资源在不同用户之间灵活分配的场景,其可用核心数可进行任意分配。
HPC Pack和HPC Workgroup扩展成本对比
请注意,当开启超线程后,系统会将一个CPU物理核心虚拟为两个逻辑核心,每个逻辑核心占用一个可用核心数。因此建议关闭超线程,以节约许可证的核心数配额。
5 结论
使用HPC集群加速ANSYS仿真,需要通过软硬件的搭配,才能发挥更大效果。
软件方面,使用新版的ANSYS软件可以更好的利用各类新的HPC技术,以获得更优的线性加速效果。与此同时,操作系统、MPI库、驱动程序、调度排队系统等基础组件也需要合理配置和及时更新以获得更好的加速效果。
硬件方面,通过CPU、内存、磁盘以及节点间通信的合理搭配,避免出现过于明显的短板,实现效果更大化。
当仅使用单节点进行仿真,对仿真速度的影响因素排序为:调用的CPU核心数 > CPU主频> 内存频率 > 硬盘速度。若跨节点求解,建议采用大带宽InifiniBand节点间通信的集群,避免节点间通信带宽不足导致的并行效率下降。
CPU推荐使用英特尔至强或者AMD霄龙系列的最新代核心架构的相关型号,包括至强铂金Ice Lake系列与霄龙7003系列。
内存容量直接决定了仿真规模,建议单节点不低于128GB,若求解规模更大则需要相对应的增加内存容量。内存频率尽可能高。
磁盘推荐使用固态硬盘,不仅读写效率高,而且由于不存在机械运转部件,其可靠性也相对机械硬盘更好。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删