王晓凤
(航空工业第一飞机设计研究院 陕西省西安市 710029)
飞机是获得制空权的武器之一,是国家安全的重要根基,缩短开发周期、降低生产成本、提高创新能力,从一定程度上能够提升国家的军事实力,能够在大国博弈中占据更有利的位置。用于科学计算和仿真设计的高性能计算平台,已经广泛的应用于飞机研发设计的各个阶段。飞机初步设计阶段,高性能计算平台用于支撑多方案设计和快速选型;飞机详细设计阶段,需要在高性能计算平台上开展大量的CAD 设计与CAE 计算分析任务,进行流体、结构、电磁等多目标、多学科的迭代优化设计;飞机试飞使用阶段,高性能计算用于支撑故障高效诊断分析[1]及飞行仿真等。随着技术的发展和先进飞机研发需求的增长,一方面要淘汰部分低效能设备,另一方面要不断扩充新的计算能力,同时还要符合相关政策要求,因此,需要构建一套用于先进飞机研发的可持续性高性能计算架构并应用实践。
如图1 所示,根据我院多年高性能计算建设和使用的需求,结合人工智能等最新的ICT 技术,围绕一个核心,两种能力,五个原则的建设目标,提出了一套面向飞机研发企业的企业级高性能计算平台整体架构,如图2。
图2: 面向飞机研发企业的企业级高性能计算平台整体架构
基础设施层主要用于构建能够满足高性能计算平台运行的环境,主要包括制冷系统、电力系统、机柜系统,基础设施层从一定程度决定了整个高性能计算平台的能效,实现整体架构设计的经济型。
硬件层是构建高性能计算平台,提供算力的核心设备,主要包括服务器、网络、存储。服务器提供核心算力,如计算密集型、内存密集型、显卡密集型、GPU 密级型。网络设备用于构建并行计算所需要的高速数据交换网络以及管理监控网络。存储设备构建服务器并行计算所需要的共享存储空间征。KVM 设备主要用于管理员设备维护。硬件层实现了整体架构设计的经济性和先进性。
通过软件构建四个支撑整个高性能计算集群高效安全运行的统一平台。统一资源管理与调度平台:通过不同类型的计算任务、CPU/GPU 异构资源统一管理和调度,实现了整体架构设计的经济型。统一门户登录平台:所有操作均通过Web 浏览器进行,实现整体架构设计的易用性。统一协同桌面平台:能够进行远程二维、三维图形展示,提供远程协同设计,实现飞机研发“仿真设计云”,实现整体架构设计的先进性。统一文件管理平台:仿真计算数据和设计数据统一管理,统一访问,单一数据源,一体化使用,实现以数据为核心的驱动工作模式。
通过软硬件平台的建设,为最终的业务用户提供传统的科学计算服务、工程计算服务、智能计算服务、大数据存储服务。科学计算服务主要针对传统的CPU 并行的流体类、结构强度力学类、电磁仿真类计算;工程计算服务主要针对有图形处理需求的用于飞机建模和前后置处理的CAD 建模、CAE 有限元网格处理;智能计算服务针对可进行GPU 计算的部分仿真计算以及用于模型训练的人工智能计算;大数据存储服务,则面向院内大数据平台提供数据存储空间。服务层实现了整体架构目标中的两种能力,即远程仿真计算能力和远程协同设计能力。
作为承载飞机核心设计数据的平台,构建一体化安全防护体系[2]是高性能计算平台运行的根本保障。通过三员管理实现对平台管理的操作审计,通过统一身份认证、权限控制等实现业务用户的精准访问控制,全面实现整体架构设计的安全性。
运维管理主要包括四个核心模块,资产管理、资源监控、统计分析、计费中心,实现整体架构设计的可分析性。
对于扩充升级项目来说,基础设施层是整个高性能计算平台高效稳定运行的关键,因此,在基础设施层需要重点考虑机柜系统、电力系统、制冷系统的以下问题:
(1)对于制冷系统,在现有机房内放置所有高性能计算机器,还是建设微模块化机房。如果使用现有机房,那么需要测算制冷量是否满足新增设备的需求;如果使用微模块化机柜,一般有封闭冷通道和封闭热通道两种形式,封闭冷通道的微模块会对外部环境产生大量热量,封闭热通道的微模块则不会对外部环境产生大的影响,同时需考虑摆放位置和环境改造。
(2)现有的UPS(不间断电源)在不改造的前提下能够提供的最大功率是多少,这个最大功率决定了所有硬件设备的总功率上限。如果功率不是很富余,那么优先选择高密度或者刀片服务器来满足算力要求。
(3)现有的机房是否支持液冷服务器的运行,是否需要额外的改造,如果不满足条件或者改造成本较大,那么只能优先选择普通的风冷服务器。
根据我单位现有的机房条件、实施周期、政策约束,不能使用微模块化机柜和液冷服务器,因此统筹考虑,使用“大功率精密空调制冷+主动送风地板”的模式解决制冷问题,改造“配电柜+机柜+机柜PDU”解决电力供应和安放位置问题,最终在有限的空间内放置了原有计算能力6 倍的硬件设备。
根据服务层提供的不同服务,配置相应的计算服务器。
对于科学计算服务使用的CAE 软件来说,隐式有限元算法的特点是内存占用多[3]、内存带宽要求高;显式有限元算法和CFD 类软件对内存的要求要低一些,对于CPU 的主频、通信延迟的要求较高。采用的软件并行技术上,主要是基于共享内存方式的OpenMP或Pthreads 方式和基于消息传递的MPI 方式。采用OpenMP 方式的优点是实现容易,性能较高,但只能运行在SMP 架构的服务器上。采用MPI 方式实现,并行效果好,对内存的需求相对较低。综合权衡飞机设计CAE 应用软件的资源特征和并行方式,主要配置两大类计算资源,一类是普通计算资源;另一类是大内存的SMP 架构的计算资源。对于工程计算服务来说,结合CAD 软件的应用特征,配置带有中高端显卡的服务器,解决在本地工作站上不能进行的前后处理和建模,使用物理显卡透传独占模式,提供给有需求的业务用户。对于智能计算服务来说,配置带GPU 卡的计算服务器,面向CAE仿真计算软件的特定模块以及模型训练使用。
高性能计算平台中的网络一般分为三类,主要包含计算网络、业务管理网络、硬件管理网络。计算网络主要用于多节点数据通信。大部分并行应用程序对计算网络的带宽和延迟性能都非常依赖,低延迟、高带宽的计算网络是大规模并行计算必不可少的要素。同时,大规模集群对并行存储系统的存储网络性能也要求具有低延迟、高带宽的特性。Infiniband 高速专用网络比万兆以太网具有更高的性能、效率和灵活性。目前Infiniband交换机的速度已经达到200Gbps,但是根据实际需求,100Gbps 的Infiniband 交换机已经能够充分满足使用需求。业务管理网络主要用于集群内部管理,选用万兆网络和千兆网络均可。硬件管理网络主要用于服务器硬件带外管理使用,一般情况下使用千兆网络即可满足需求。
3.3.1 作业调度系统
作业调度系统用于集中管理所有计算资源,根据业务用户作业的资源需求和配额情况,计算资源负载情况,结合配置的调度策略,将作业分配到合适的计算资源上运行,并监控计算作业的资源使用和运行状态。作业调度系统可以有效地提升计算资源的利用率,最大化计算任务的运行效率,且能从一定程度降低系统能耗,降低成本开销,保证高性能计算平台的经济性。作业调度系统具备的关键功能有:
(1)一个高性能计算平台中只包含一个调度系统,能够统一调度所有异构资源,如CPU、GPU、存储、应用软件许可证。
(2)灵活高效的调度策略,调度策略不要求多,但是一定要灵活,可以根据、调度颗粒(CPU 核、节点等)、用户和资源优先级、应用软件资源使用特征、业务用户的作业紧急程度等进行作业调度,并且可以根据功耗进行绿色调度。
(3)可以进行命令行下批量作业提交和图形界面作业提交,尽可能符合高级用户的作业提交习惯,同时便利普通用户使用。
3.3.2 集群基础环境配置技术
高性能计算平台基础软件环境比较复杂,如果要编译一个软件,需要配置相关的编译器、数学库、MPI 等环境变量参数,不同的参数组合会导致不同的最终版本软件,用户使用时,也需要加载相应版本的环境模块,手动维护环境模块文件难以保证正确性[4],因此对于扩充升级到规模较大的高性能计算集群,需要安装软件环境包管理器,如module、Conda、Spack、Singularity 等。
3.3.3 安全防护
高性能计算平台上存储着飞机研发设计过程中的各种模型和计算数据,属于核心资产,因此需要一体化的安全防护策略来保证平台的安全可靠。系统通过三员管理,分离权限,规避一个超级系统管理员带来的数据破坏和泄露风险。权限控制则针对管理员、用户、计算资源、应用软件,配置细粒度的精准访问控制策略。
3.3.4 运维管理
作为企业私有高性能计算平台,运维管理人员较少,要保证高性能计算平台提供持续稳定高效的服务,好的运维管理体系必不可少。在高性能计算平台的运维管理体系中,配置基本的四大模块,重点关注资源监控和统计分析模块。资源监控用于监控所有软硬件资源的重点指标,同时在业务层展示一个真实设备的“数字镜像”视图,设备运行状态一目了然,一键登录可进行设备查看和问题处理,能够极大的方便运维管理。统计分析模块,能够进行各个维度的统计报表展示,为管理决策提供数据支持,同时通过资源使用信息进行挖掘,发现软件运行特征,可更好的指导业务用户使用高性能计算平台。
系统测试一般在系统所有硬件调试完毕后进行,一般包含对计算能力、内存带宽、存储性能、网络性能的测试,主要目的在于验证整个系统的建设是否达到预定的技术目标,同时测试整个系统在压力峰值下的稳定性、健壮性和以及对基础设施层的适应性。
对于SMP 架构的服务器来说,通过内存带宽测试,可以及时发现有潜在问题的内存;对于多台交换机构成的网络,通过测试网络带宽和延迟,可以验证网络连接的正确性、带宽、延迟;对于存储系统的测试,可以选用IOZONE、VDbench、IOR 等文件系统测试工具,以验证存储的性能峰值是否能满足计算能力峰值的需求。
系统调优贯穿整个高性能计算平台实施运行期。在实施期间,参考系统测试结果,可以对硬件设置、操作系统配置和基础设施进行调优。在软件层面,对所有部署的仿真计算、设计软件,分别进行单节点和跨节点的计算测试,在验证软件是否正常运行的同时,还可以找出应用软件的运行特征,能够指导业务用户更高效率的使用计算资源。对于自研软件,除进行计算测试外,还可以进行源代码编译以及运行级别的调优,对于不同时期不同配置的机器,通过调优,找到最优运行配置和参数,最大限度的提升软件运行效率。在调度策略配置上,系统管理员根据系统的整体运行情况、业务用户需求、系统管理要求,对调度策略进行不断优化,保证整个系统处于最佳运行状态。
系统验收标志着整个项目即将进入正常上线运行阶段,在此之前,还需要完成以下重点工作:
(1)由于企业可能会受到检修停电的影响,因此系统验收前至少要做一次应急演练,模拟启停流程,确保系统所有软件服务和硬件配置的正确性和完整性;
(2)整理所有安装部署用的操作系统、驱动程序、固件、软件程序等,归档备用,同时制定系统备份策略,做好日常数据的备份;
(3)编写汇总项目实施相关文档,对于内网运行的高性能计算平台,这些文档对于后期的维护相当重要。
本文分析了飞机研发过程中科学计算和仿真设计对高性能计算的需求,围绕一个核心,两种能力,五个原则的建设目标,构建了一套面向飞机研发企业的企业级高性能计算平台整体架构,总结了高性能计算平台扩充升级建设中应该关注的重点和难点,为设计制造类企业构建或扩充升级内部高性能计算平台提供了一种方案。