(转载请注明出处)随着仿真理论和求解技术越来越成熟,人们对产品虚拟的开发要求越来越高,系统级多体耦合和多物理场耦合计算已经成为计算机仿真的发展方向,用户不在追求单一个体在单一物理场(如结构力学,流体力学)的仿真结果,而是将研究对象的完整系统(如整机、整车)或影响系统性能的所有物理因素一次性纳入计算范畴,重点考察各物理因素综合起来对分析对象或者对整个系统的影响。随着计算机应用的日趋复杂,处理问题的规模也越来越大,对计算速度的追求也在不断地增长,尤其在计算力学,能源工程,生物制药,图像处理、气象预报等学科领域的问题都需要大量的数据进行计算以得到有效的结果,并且计算必须在能接受的时间内完成。如何快速而有效地提高计算速度已经成为众多领域内迫切需要解决的问题。
大规模复杂问题的求解通常需要更强的计算能力和更多的内存,而现有单台计算机的处理能力和内存都不可能无限制的增加,硬件环境已经成为制约产品创新与高水平科研的“瓶颈”,计算机集群技术的发展为解决这个问题提供了新的契机。随着PC机和工作站性能的提高和高速网络的出现,使得并行技术得到前所未有的发展,多种并行体系架构以及与这些架构相关的并行算法相继出现。在众多并行体系架构中,计算机集群架构通过高速网络将多个计算机连接在一起形成一个单一系统映像的高可用性,高性能,高扩展性的计算机集群系统,保持整体的性能优越的同时又具有很高的性价比,因而成为现代高性能计算的使用最广泛的体系架构。在最新的TOP500中,有424套系统采用集群(Cluster)结构,所占份额高达83%,再次验证了集群架构无与比拟的优势。
计算机集群通过网络技术将所有分布的计算资源集中管理和使用,一个机群就如同一个具有巨大配置的单一计算机系统。它利用所有被连接系统的综合能力处理大型任务,通过将计算任务进行分解,把单个任务划分成多个子任务,然后用相连机器(节点)的处理器处理这些子任务,最后得到计算结果。由于同时利用多个处理器资源进行并行计算,从而能更快的获得计算结果,显著缩短计算时间。由于集群架构的巨大优势,许多商业软件都致力于软件的并行化开发,目前,市场上通用的有限元计算软件都实现了集群中的并行运行,并取得良好的应用效果,本文以商业有限元软件ANSYS为例,介绍了基于Linux集群技术的分布式高性能计算平台的构建和测试使用情况。
1 ANSYS分布式并行计算
ANSYS软件是最常用的有限元求解软件之一,以其求解模块齐全,多物理场实现耦合求解以及实现协同仿真技术等特点而广受市场欢迎。其核心是一系列面向各个领域应用的高级求解器,其高性能并行计算主要是针对这些求解器而言。ANSYS支持在异种、异构平台上的网络浮动,其强大的并行计算功能支持“share memory”和“distributed memory”两种并行方式。“share memory”是共享内存式并行计算,指单机多CPU的并行计算。“distributed memory”是分布内存式并行计算,指多机多CPU的并行计算,一般来说,分布式并行往往比共享内存并行有更好的并行效率。近几年,随着CPU多核,高速互联等技术的发展,低成本高效率的Linux集群系统成为高性能计算平台的主流。由于集群系统的计算资源是分布式布置的,采用ANSYS分布式求解技术将更有效地利用集群的资源,本文主要探讨ANSYS分布式并行计算在集群上的实现和应用。
分布式有限元算法的原理是将有限元模型分解成多个计算小域,子域的数量与参与计算的核心数相等,子域好像“居住”在不同的计算节点的处理器上,这些处理器分别对这些小域进行处理,不同节点多个进程之间通过MPI进行通讯数据交换,有限元模型越大,对MPI通讯的要求越高,ANSYS内置的MPI并行机制将大幅度提高分布式并行计算效率。
集群技术的互联技术大体上经历了从Ethernet到Giganet,Myrinet,Infiniband,Quadrics等发展历程,ANSYS软件通过HP-MPI支持Myrinet/Infiniband/Quadric等高速互联技术,表1显示了ANSYS12.1分布式计算在不同计算平台下支持的高速互联网络以及MPI版本,一般的,ANSYS在Linux和Windows平台下的版本内置了HP-MPI,用户可不在另外安装MPI。
表1
ANSYS12.1分布式计算支持的互联网络和MPI版本
Platform
Ethernet
GiGE
Myrinet
Infiniband
Quadrics
MPI Software
HP PA8000 64-bit / HP-UX 11.11 (64-bit)
*
HP-MPI 2.2.5
HP IA-64 / HP-UX 11.23
*
HP-MPI 2.2.5
IBM AIX64 64-bit / AIX 5.3
*
POE 4.3.2.6
Sun UltraSPARC III and IV / Fujitsu SPARC64 IV / 64-bit /
Solaris 10
*
HPC CLUSTER
-TOOLS 7.1
Sun AMD/Intel / 64-bit / Solaris 10
HPC CLUSTER
-TOOLS 7.1
Linux Intel (including EM64T) and AMD (32-bit and
64-bit)
*
HP-MPI 2.3.1
Intel MPI 3.2.1
SGI MPT 1.16
SGI
*
SGI MPI 4.3,
MPT 1.8 (Hardware Vendor)
Windows 32-bit (64-bit) / XP / Vista
*
*
HP-MPI 2.0
Intel MPI 3.2.1
Windows HPC Server 2008 x64
*
*
Microsoft HPC Pack (MS MPI)