abaqus学习系列 | Abaqus 小型并行计算集群平台的构建方法
2017-04-15 16:22阅读:
0.1 当代并行计算系统的构架
目前常用的并行计算机是对称多处理机(smp)和集群系统(cluster)。常见的搭载单颗多核处理器的桌面个人计算机就属于
smp;cluster
是一种通过局域网络将多台计算机连接起来协同工作的并行计算系统,可以用普通个人电脑(PC)、工作站(workstation)或者
smp 来组建 cluster。smp 与 cluster 最大的区别在于:smp
中内存地址具有单地址空间,各处理器可以平等地调用共享内存、I/O 设备和操作系统等各种资源;cluster
中内存实际分布在各个节点上,处理器读取本地节点的内存时数据通过总线传输,延时低,处理器读取其它节点的内存时数据通过局域网络传输,延时高。smp
支持的最大处理器数一般不超过 10 个[1],因此 smp
只能作为小型的并行计算系统。cluster利用局域网络进行处理器间通信的方法虽然能提高并联的处理器数,但也因局域网络的带宽和延时限制了集群的性能,目前集群技术适合搭建
100 颗处理器以下级别的并行计算系统[1]。
目前 smp 结构的服务器一般是搭载多核处理器的双路或四路服务器,但真正的八路或十六路服务器产品非常少见。一些 smp
结构的小型机可以并联更多的处理器,但是其价格昂贵,后期维护复杂。cluster
可以使用商业化大生产的多路服务器来构建。双路或四路服务器是很好的选择,该类服务器价格低廉、性能优异,用来构建
cluster 可以获得很好的性能/价格比。所以在科学计算领域,cluster 非常流行,在 TOP500
中很大一部分并行计算系统都
是 cluster。
此外还有一些阵列处理机、向量处理机,可能不兼容常用的 x86 程序,所以应用上具有局限性。目前提出的 GPU
加速技术,需要开发新的程序来使用该技术,用在运行商业程序的集群上也不适用
。
1
基于 Abaqus软件的数值模拟并行计算集群平台的建立
1.1
集群系统的结构
集群中的每台计算机设备都称为集群的节点(node),有时各节点在功能上具有分工,那么各节点可以依照功能划分为管理节点、计算节点、I/O
节点等;有时一个节点也可能实现多个功能,例如小型集群可以将
I/O、存储、管理等功能都放在一个节点上,这个节点就可以称为主节点。与 smp
相比,集群更具有可扩放性:增加集群中处理器数量只需要增加集群的节点。
本文中构建的集群采用机架式设备组建,按功能分为四类节点:计算节点、管理节点、存储节点和网络节点。其具体的硬件配置见表
1。其拓扑结构图见图 1。图 1
显示了该集群系统及其主要附属设备。除集群各类节点外,电源系统、监视系统和冷却系统也是维持集群正常工作的重要附属设备。
|
4 台 DELL PE1950 或 DELL PE2950
双路四核机架式服务器 |
|
|
|
|
处理器 |
每台搭载 2 颗 3GHz Intel Xeon Pro E5450 或 |
| 计算节点 |
|
X5365 处理器 |
|
|
| 内存 |
每台 8GB DDRⅡ 667MHz 全缓冲 ECC 效验内存 |
|
|
|
|
|
硬盘 |
每台 2 块 SAS 15000 转 146GB 硬盘组建 RIAD 0 |
|
|
|
|
网卡 |
每台双 1Gb 以太网卡,支持链路聚合与巨型帧 |
|
|
|
|
1 台 DELL PERCISION 670 双路双核工作站 |
|
|
|
| 管理节点 |
处理器 |
2 颗 Intel Xeon 3.2G 处理器 |
|
|
| 内存 |
4GB DDRⅡ 400MHz ECC 效验内存 |
|
|
|
|
|
显卡 |
NVIDIA Quadro FX 1400 专业显卡 |
|
|
|
|
1 台 QNAP TS-809U-RP 网络附加存储器 |
|
|
|
|
处理器 |
Intel Core 2 Duo 2.8GHz 处理器 |
|
|
|
| 存储节点 |
闪存/内存 |
128M FLASH/2G DDRⅡ |
|
|
|
|
硬盘 |
8 块 SATAⅡ 1TB 企业级硬盘,组建 RIAD 5 |
|
|
|
|
网卡 |
双 1Gb 以太网卡,支持链路聚合与巨型帧 |
|
|
|
|
1 台 DELL PowerConnect 2724 千兆以太网络交换机 |
|
|
|
| 网络节点 |
交换能力 |
最大 48 Gbps 交换速度 |
|
|
| 链路聚合功能 |
6 个组的链路聚合,每组最多 4 个端口 |
|
|
|
|
|
巨型帧功能 |
支持标准的 9k 巨型帧 |
|
|
|
图 1 集群系统的结构图
1.2
计算节点的选择
在构建基于
Abaqus
软件并行计算数值模拟集群平台时,硬件选择方面如何兼顾显式计算和隐式计算是首先
![abaqus学习系列 <wbr>| <wbr>Abaqus <wbr>小型并行计算集群平台的构建方法 abaqus学习系列 <wbr>| <wbr>Abaqus <wbr>小型并行计算集群平台的构建方法]()
需要考虑的问题。显式算法和隐式算法在并行计算性能特性方面有很大的差异。显式算法的并行性能好,但是,如果模型网格划分很细致,则计算的时步需要取值很小;隐式计算的并行性能稍差,CPU
间通信多,但模型所取的计算时步和网格尺寸都可以大一些,时间步长甚至是同类问题显式算法模型的 1000
倍。表 2
总结了隐式算法和显式算法的特点,以及对计算机硬件的要求。
表 2 隐式算法与显式算法的特性比较
[2]
|
隐式算法 |
显式算法 |
|
|
|
| 典型的软 |
ABAQUS/Standard、 |
ABAQUS/Explicit、LS-DYNA |
| 件 |
ANSYS |
|
|
|
|
| 求解的问 |
静力、模态、屈曲等 |
接触、碰撞、冲击等 |
| 题 |
|
|
|
|
|
| 算法特点 |
内存占用多、磁盘 |
相对而言,内存、I/O 和通信量要少一些 |
|
I/O 大、进程通信量 |
|
|
大 |
|
|
|
|
| 硬件要求 |
内存容量大、访存带 |
相对而言,系统硬件配置可低一些 |
|
宽高、磁盘 I/O 速度 |
|
|
快、通信延迟低 |
|
|
|
|
| 算法扩展 |
8-16 CPU |
64-128 CPU |
| 性 |
|
|
|
|
|
虽然隐式算法的并行计算扩展性差,但是可以使用高主频的处理器来加速计算。本集群使计算节点采用高性能计算节点,但是配置了较少的节点数,在
CPU
主频和 CPU
个数两个性能参数上取得平衡,从而兼顾隐式算法和显示算法。
中央处理器(CPU)是决定计算机性能的核心部件。计算机根据 CPU
支持的指令集的差异分为:复杂指令系统计算机(CISC)和精简指令系统计算机(RISC)。常用的 Intel Xeon
和 AMD Option
处理器隶属于 CISC/IA-32(也称为 x86-64 或
EMT64)构架。CISC 的发展历史悠久,可运行于
CISC
上的程序非常丰富,该构架下的处理器研发工作
也非常迅速。Intel Itanium
处理器隶属于 CISC/IA-64
构架,但不兼容 32
位程序,存在应用局限性。同时 Intel Itanium
处理器主频低,其 abaqus
计算性能反而不如高频的 x86-64
处理器。IBM Power
处理器隶属于 RISC
构架。虽然 RISC 在计算效率上高于
CISC,但其相应程序的开发要慢于
CISC。由于
CISC/IA-64 和
RISC 非通用性,计算速度相同的处理器产品中 x86-64
的价格最低廉。在 TOP500
中采用 x86-64
处理器的集群所占比例很大。
综合考虑计算机软件的通用性、设备价格、设备性能和解决设备故障的难易性,Intel Xeon
或 AMD Option
处理器是很好的选择。这两类处理器都属于 64
位处理器,也兼容 32
位程序。
判断 x86-64
处理器性能的主要指标是处理器核心类型、主频、总线带宽(或类似的技术)、缓存容量。但是在
某一地铁隧道地震效应数值计算中(使用 Abaqus/Standard
求解器),Intel Xeon X5365
处理器的计算速度要高于 Intel
Xeon E5450 处理器。在其它一些使用
Abaqus/Standard 求解器的测试中,Intel Xeon 5400 系列处理器的计算速度
要高于 Intel Xeon 5500
系列处理器。所以上述主要指标只是处理器性能的参考,为 Abaqus
集群选择处理器需要做贴近实际运用的测试。
1.3
存储节点对计算速度的影响
Abaqus
软件在计算中将产生临时文件和结果文件,这些文件需要存储在磁盘空间上。一个集群系统的磁盘空间可能是局部存储类型的,这类空间只允许某一个节点访问;也可能是全局存储类型的,这类空间允许所有节点访问。每个节点上装载的硬盘是局部存储,但是可以通过网络文件系统(NFS)服务通过局域网络上实现磁盘共享,共享的磁盘空间就是全局存储空间。
在《Abaqus Version 6.7 PDF
Documentation》中称临时文件和结果文件可以存储在任意类型的空间上。实际中
一般使用局部空间存储临时文件,使用全局空间存储结果文件。这主要基于:1.
临时文件读写频繁,存储在读写速度快的局部存储上可以提高计算速度。2.
结果文件体积巨大,需要大容量存储器。构建全局存储空间的代价要小于构建局部存储空间的代价,同时全局存储空间易于统一管理。使用全局空间存储结果文件是经济、易管理的。
在 Abaqus 集群使用中,一般是某节点通过 NFS
服务端程序为所有节点提供共享存储空间。提供共享存储空间有 3 个方法:1.
某管理节点或计算节点共享本地磁盘。但是服务器的硬盘槽位数量有限,更换硬盘操作繁琐; 2. 通过光纤网络将
FC-SAN 挂载到某管理节点或计算节点上,然后由管理节点或计算节点操作 FC-SAN 来提供
NFS 服务。但是此时 FC-SAN
上的数据传输将通过光纤网络和集群内部局域网两个网络,传输过程复杂、存在传输延时;3. 采用网络附加存储器(NAS)提供
NFS 服务。NAS
即专门为提供文件服务而优化系统的服务器,文件读写性能高。其可以直接连接到集群内部局域网上。同时更换硬盘、数据备份、文件管理也非常方便。
从共享文件管理性、存储容量可扩充性、数据传输速度方面综合考虑,可以使用 NAS 为 Abaqus
集群系统提供 NFS 服务。
NAS 的处理器、内存都是其性能指标。NAS
的另外一个性能指标是其网络性能,如果是以太网络接口,其网络带宽、是否支持巨型帧、是否支持链路聚合都对 NAS
性能产生影响。在集群使用中可能同时有多个节点要求读写 NAS 上存储的数据,NAS
的工作负荷大,其性能将影响到集群系统整体的计算速度。
在对 QNAP TS-439 Pro Turbo NAS 和另一款 NAS
产品做对比测试后发现:NAS 的性能对集群系统计算性能影响巨大。另一款 NAS 产品支持
1Gb 以太网络,但整体性能参数较低:不支持链路聚合,最大支持 7.5K
巨型帧。测试算例使用某一地铁隧道地震效应模型(使用 Abaqus/Standard 求解器),同时 NAS
设备开启了所有能够提高网速的功能。测试数据见图 2。
本对比测试分 3 组:A 组-高负荷下使用 NAS 的 Abaqus
计算;B 组-低负荷下使用 NAS 的 Abaqus
计算;C
组-不使用 NAS 的 Abaqus 计算。
A 组-高负荷下使用 NAS 的 Abaqus 计算:同时进行 7 个
Abaqus 计算任务,每个计算使用 4CPU,7 个计算任务都使用 NAS
设备来存储共享文件。
B 组-低负荷下使用 NAS 的 Abaqus 计算:只进行 1 个
Abaqus 计算任务,使用 4CPU,该计算任务使用 NAS
设备来存储共享文件。
C 组-不使用 NAS 的 Abaqus 计算:只进行 1 个
Abaqus 计算任务,使用 4CPU,该计算任务不使用 NFS
服务,将文件直接存储在本地磁盘上。此种情况是最优情况,但调用多个节点并行计算时必需使用 NFS
服务,即在集群构架下最优情况不适用于大型的并行计算。
|
70000 |
|
|
|
|
|
|
|
60632 |
|
|
| TIME(s) |
60000 |
|
|
|
|
| 50000 |
|
|
|
|
|
|
|
|
|
| WALLCLOCK |
40000 |
|
|
|
A组 |
|
32111 |
|
|
|
30988 |
|
B组 |
|
|
|
|
|
|
|
| 30000 |
24599 |
|
22045 |
C组 |
|
|
|
| 20000 |
|
|
|
|
|
|
|
|
|
|
10000 |
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
图 2 磁盘性能对计算速度的影响
本对比测试中 B 组 TS-439 较 C 组性能计算速度下降 10.4%;A
组 TS-439 较 B 组 TS-439 性能下降
20.6%。B
组 TS-439 与 C 组的性能比较证明使用 TS-439 NAS
带来的性能影响可以接受;A、B 组 TS-439 性能比较证明 TS-439
NAS 在高负荷下的性能表现可以接受。但是另一款 NAS
产品带来的性能下降是无法接受的:低负荷下造成计算