基于高性能计算的仿真平台建设运维策略探讨

2021-11-16 08:25谢兴勇谭飞黄启益
数字技术与应用 2021年9期
关键词:集群软件资源

谢兴勇 谭飞 黄启益

(攀钢集团攀枝花研究院有限公司,四川攀枝花 617000)

1 数值仿真计算平台发展趋势

数值仿真平台作为企业重要技术研发平台,是实现企业数字化设计的重要组成部分,能够让科研人员在理论分析的基础上,直观的认识和了解系统情况,快速模拟和分析系统变化,实现“仿真指导试验,试验确认仿真”,是促进科技创新模式变革与效率提升的重要手段。

随着智能制造、工业4.0和工业互联网等新一轮工业革命的兴起,虚拟现实、大数据、云计算、人工智能等新技术逐渐进入仿真领域,仿真软件对工业元素描述更精确、更细致,仿真模型得到持续动态优化,仿真软件与工业实际应用结合更紧密,仿真软件技术与计算性能不断演进提升,仿真计算平台作为承载仿真软件应用的载体,也随之迅速发展,主要体现在:

仿真软件计算服务云化[1]。利用高性能计算或者超算平台,使得仿真计算求解服务化,用户通过交互界面,选择相应的硬件资源就可以进行计算,进行前后处理和分析。仿真任务可以按照占用的计算资源和许可进行计费,实现硬件资源、软件许可证等资源的共享利用,能够使企业降低成本、提高资源利用率,提高操作的便捷性。

仿真软件与企业管理信息系统一体化。通过建立仿真数据与项目管理系统的联系,实现项目内部的协同仿真,实现企业研发设计数据共享,能够加速企业内部连接协作,实现数据共享、数据同步和工作协同。

仿真数据利用进一步深化。通过云端仿真服务积累的大量数据,结合材料基因工程等数据库,通过大数据手段,有助于实现仿真数据在工艺开发、产品设计中的深入应用[2]。

2 数值仿真计算平台需求分析

先进性和可扩展性要求。计算平台应立足当前,满足企业研发方向一定时间范围内的仿真软件计算需求,并且随着用户数量和仿真应用的不断增加,平台应具有动态、平滑的可扩展能力,在不影响现有计算任务的情况下,能够实现资源的动态扩充,保障平台有足够的计算力。

高易用性、高可用性、高效率。仿真平台应采用图形界面、网络访问等用户友好的交互方式[3],进行三维设计和作业提交,在任何时间、任何地点、任何终端都可以提交和管理作业,平台稳定可靠,故障和延时低。在计算时间方面,能够在正常的计算资源和许可投入情况下,在可接受范围内完成计算任务。

节能环保要求。对于大型数据中心或者计算平台,在碳排放、资源利用率、废弃资源方面,应考虑绿色环保要求。应可通过不同软件、不同用户在不同时间段分时复用,共享计算资源、存储资源、许可证等设备和信息,提高设备和应用软件使用效率,有效降低仿真计算基础设施投入,达到节能环保的目的。

易管理维护。由于仿真平台一般规模较大,涉及设备种类多、配置繁琐,应用软件来自不同厂家,许可认证使用方式不一,整个平台复杂度高,应具有统一的资源管理、监控、报警功能[4],便于管理员有效定位故障、快速部署应用软件。

数据安全性要求。仿真数据作为企业核心设计数据,数据安全极其重要,主要包括设备故障或者不可抗力因素造成的数据丢失、网络攻击或者其他方式造成的数据被窃取或者破坏等,应采用相关硬件设备、安全认证、核心数据加密、数据异地备份等措施进行保护。

3 数值仿真计算平台设计需要考虑的问题

计算平台主要由硬件和系统软件组成,其中硬件主要指计算资源、设计资源、存储资源和网络资源以及实现调度、管理所需的设备;系统软件主要指调度程序、应用门户和平台管理功能程序、用户管理配置工具、并行计算工具等[5]。在进行平台设计时,应根据运行的仿真应用软件和计算时间要求、经济性以及企业其他需求,确定平台软硬件配置规模,搭配合理的计算环境[6]。平台系统结构示意图如图1所示,主要包括以下八个方面。

图1 仿真计算平台系统结构示意图Fig.1 System structure diagram of simulation platform

3.1 计算资源方面

根据仿真软件对计算资源消耗种类划分,主要分为CPU资源型、内存资源型、GPU资源型等。对于Ansys、Procast、Fluent等CPU资源消耗型,可以支持跨物理节点且支持并行计算的软件,应该考虑以大量CPU资源的刀片机或者高密度服务器作为计算资源,这里称为CPU节点,通过仿真软件支持的并行计算软件,来提高软件计算效率;对于内存资源消耗型或者不支持跨物理节点的软件,如Gaussian、Abaqus、Marc等软件,可以通过胖节点的携带的较强CPU资源和大量内存来满足这类软件的计算需求;对于Barracuda等在GPU资源下能够得到更快计算速度的情况,可以采用专用的GPU节点来进行计算。对于部分资源独占性软件,如Meltflow等,软件启动后会占用单台服务器全部资源,无法进行资源共享,对于这种软件,应单独划分一台或者多台服务器专门供其使用。

目前超算集群操作系统均以Linux为主,世界超算500强中,采用Windows的作为集群系统的几乎没有。但仿真应用软件安装环境却大相径庭,对操作系统的支持差异明显,可以分为Linux支持、Windows支持、同时支持等。建议根据企业准备部署的仿真应用软件情况,考虑服务器操作系统,建议以Linux集群为主,将部分节点操作系统转化为Windows,建立基于Linux和Windows的混合集群,实现对企业不同仿真应用软件计算需求。

在平台建设前期,需要调研企业现有及计划购置的仿真应用软件类型和数量,结合平台使用人数、作业计算时间要求、预留扩展等因素,分析平台需要部署的计算节点类型、操作系统等,得出平台服务器的资源规模,为管理、调度、前后处理、存储、网络等设备选择提供依据。

3.2 网络和存储资源方面

通常从性能和可靠两个原则出发,在设计基于高性能计算集群的仿真计算平台网络时,一般采用3套网络的实现方式,包括高速计算网络、内部管理网络和外部访问网络。高速计算网络方面,由于支持并行计算的仿真软件,在多节点运行时有频繁大量的网络数据通信,计算网络的性能对并行程序的计算效能、并行加速比以及可扩展性有决定性的影响[7]。如果并行计算程序的数据通信以小数据包为主,且数据交换非常频繁,这一类并行程序对计算网络的延迟性能非常敏感,计算网络的延迟越低,程序的并行性能越好;如果并行计算程序数据通信大数据包较多,则对计算网络的带宽性能敏感,计算网络的带宽越高,程序的并行性能越好。实际情况中,大部分并行应用程序对计算网络的带宽和延迟性能都非常依赖,低延迟、高带宽的计算网络是大规模并行计算必不可少的要素。因此,计算网络目前主要采用200Gb/s的Infiniband网络,用来连接主要计算资源和存储资源;管理网络主要用于集群内部日常管理,所有服务器之间必须实现网络互通,通过这套网络实现集群互相登录、信息采集收集等,虽然对网络的性能要求不高,但对稳定性要求较高,一般采用千兆或者万兆网络,主要用于服务器管理控制信息的传递;对于外部访问网络,一般通过防火墙与集群内部网络进行隔离,往往指的是办公网络接入,目前带宽一般采用千兆网络,用户可以通过办公计算机,访问仿真计算平台,传输相关的数据文件,提交作业,进行前后处理工作。

高性能计算集群在多个节点进行大规模并行计算时,需要进行大量文件及数据访问,不止对计算网络性能要求高,对于系统的存储性能也非常高的要求,主要体现为全局唯一映像、高吞吐量、大容量、高可靠性、高数据一致性等方面,一般采用并行文件系统来实现[8]。存储作为全局共享的数据载体,一旦出现故障,会导致平台无法正常运行,因此,存储需要采用冗余电源、磁盘冗余类型、热备等多种方式。目前主要利用多个索引服务器、多个存储服务器等方式来提高可靠性,采用多副本、纠删码等数据保护技术,支持单一存储命名空间、支持容量海量扩展等,来满足高性能计算中心海量文件并发读写需求。

3.3 集群管理服务方面

管理服务主要包括集群监控管理、Infiniband子网管理服务、作业调度服务、时间同步服务等集群系统服务[9],还包括集群并行环境、编译调试环境,集群账号计费管理等辅助功能。这些关键系统服务均应配置为互备冗余模式,保障整个集群系统的高可用性。集群管理服务功能往往由在高性能计算平台集成供应商提供,另外也有第三方平台提供类似服务。一般来说,平台集成供应商提供的调度软件,往往侧重于平台服务器、硬件资源的管理、异常报警,在资源调度、Portal集成、作业统计等方面功能不够丰富,而第三方平台往往能够弥补这些缺点,但同时,对于系统设备信息和数据这些信息又不能够全面集成,导致集群管理服务往往需要两个平台的综合才能完成。

3.4 登录和应用服务方面

登录服务,主要包括用户管理、统一身份认证和提供应用门户。登录服务器往往采用基于AD(Active Directory,活动目录)的方式提供用户登录,后续在访问高性能应用不用再输入用户名和口令。登录服务还提供用户信息管理服务,支持对平台用户数据库用户和各类操作系统用户的统一管理,支持用户的创建、修改、删除、冻结和激活操作。仿真应用服务,主要提供仿真软件应用门户,包括作业提交Web门户,整合文件管理、作业管理、集群管理、三维设计等用户交互,实现仿真和设计在用户使用和操作上一体化,只需通过浏览器,登录门户就能完成所有设计、仿真工作。此外,对于系统管理或者运维审计人员,还可以通过门户的数据进行统计分析,分析集群资源使用情况、作业运行和等待时间、许可应用情况等。

3.5 许可服务方面

仿真计算软件常采用浮动授权、物理机设备信息绑定、加密狗加密等其中一种或者多种相结合方式进行授权。通过安装在许可服务器上的许可管理程序来管理各种软件的许可,一般采用浮动的许可管理机制,在用户提出使用需求时,根据可用的许可数量,判断作业是否可以正常提交还是加入等待队列。许可服务还可以管理和查看许可使用实时信息,监控相关作业运行情况,及时回收许可,保证设计研发工具合理充分地使用许可。也有少数软件不支持多用户同时使用,或者不支持远程方式访问计算服务器,这类软件在需求调研时应予以明确,在购置时应尽量避开,如果已经购置,应该避免部署到高性能计算平台上。

3.6 三维设计服务方面

研究人员在工作计算机上进行三维设计,对图形显示要求往往较高,设计模型文件庞大,常出现打开模型慢、操作响应慢和计算时间长等问题。同时,设计研发的过程数据分散保存在普通计算机中,容易发生丢失和混乱,不利于公司核心资产安全,也不利于内部协同。因此,在高性能仿真计算平台中应提供远程三维设计能力,统一管理图形显示资源,为研发工程师提供高性能图形设计能力,既满足研发需要,又实现资源灵活调配、充分利用,也容易满足数据统一管理和安全的需求[10]。三维设计功能通常包括网格划分、前后处理等功能。该功能通过应用门户进行提供,调度系统根据用户需求,访问平台图形服务器资源,分析和调度用户使用合适的图形服务器资源进行远程设计任务,用户就可以在自己的桌面端通过远程设计的方式进行CAD三维设计和CAE前处理操作。然后用户通过可视化的作业提交界面,利用Portal将作业提交给仿真应用进行计算或者通过交互式模式直接打开应用进行计算。通过交互式模式,用户可以根据自定义的计算步骤,动态的干预和管理计算过程,而普通的Portal方式,无法在计算过程中进行干预,只能得到计算结果。计算完成后,用户在作业目录可以看到计算结果文件,可以通过远程方式在打开相关应用,对数据进行分析;也可以应用后处理方法,利用其他工具对计算结果进行二次处理。通过在平台中增加三维设计服务,实现了设计建模、前处理、仿真求解、后处理全过程的有效流转和数据传递,实现仿真设计一体化。

3.7 仿真数据采集方面

仿真数据是企业设计过程中的关键数据,主要包括用户提交仿真软件计算的输入数据、计算输出的结果、计算相关作业信息等。采集仿真数据的目的是进行数据共享和存档,通过在仿真平台上,用户可以选择将计算数据与项目其他参加人员进行共享,以便进行协同研发。在某些情况下,科研人员也可能对将历史仿真数据进行分析和二次利用,也需要将这些重要的设计过程数据进行收集和存档。

采集的主要方式是仿真平台主动推送,用户在进行计算时,需要选择跟计算相关研发项目名称,进行设计和计算,完成后,仿真平台就可以根据项目信息,将计算作业的输入输出数据、作业信息等,通过数据接口,将相关数据推送到企业的项目管理系统,避免数据被删除或者篡改。通过对仿真数据进行采集,有利于设计过程仿真数据在项目内部共享和后续利用,作为企业知识的重要来源。

3.8 数据安全方面

鉴于仿真数据的重要性,通常在数据物理安全、网络安全、访问控制[11]等多方面都应给予考虑。在网络安全方面,计算平台内部网络一般通过防火墙与用户网络连接,并设置相关规则,计算平台系统采用三员分离原则进行管理;在数据物理安全方面,采用设备和软件冗余方式,如双电源、多路径、多存储等,提高设备可用性。在防灾容灾上面,多采用异地备份存放数据方式建立多副本,降低不可抗力因素产生的损失。在访问控制方面,计算平台用户间的数据是互相独立,根据用户在项目中的权限,有限制的对仿真数据进行访问,在没有参加项目或者没有权限的情况下,无法访问其他用户的数据。只有在项目协作情况下,由用户主动共享相关会话或者数据,才能让其他用户访问,并且这种共享应予以审批和记录。

4 数值仿真计算平台的运维管理策略

建立健全相关运维管理制度[12]。主要包括仿真软件纳入平台管理机制、资源调度管理、设备巡检和故障处理机制、平台使用机制、平台升级管理、网络安全管理、用户管理等。资源的限制与有效利用是一对矛盾,限制用户资源会导致单个用户资源受到影响,可能导致平台资源利用率下降;如果不限制用户资源,可能导致单个用户占用大量资源,让其他用户无资源可用。如何有效利用平台资源,又适当对用户进行限制,需要根据企业自身情况进行调节,并在运维制度中进行体现。设备巡检、故障处理等现场处理情况,应建立日志记录,包括故障现象、处理过程和处理结果。加强平台资产管理。常见的调度系统软件附带了对平台资产的管理软件,但功能可能不够全面,应对平台软件、许可、软件承载的相关硬件进行清理整顿,明细其相关性,这对提高平台管理水平,缩短故障管理时间有重要作用。平台资产管理主要包含平台硬件信息、平台系统软件信息、平台应用软件信息等。应对平台系统相关软硬件用户手册、配置信息进行归档;对软件安装程序、软件使用说明书、软件运行维护手册、软件许可证、软件配置文档等进行归档。

定期对平台进行检测评估和审计。邀请第三方对平台进行定期分析检测,查找平台存在的问题及存在的风险,提出对应的解决办法,优化平台软硬件配置,提高平台可用性、稳定性。

建立合理的仿真人才的管理制度[13]。设计合理的绩效制度,为仿真人才加入项目团队参与研发创造条件,通过内部培训、外部培训、项目实操、导师带徒等多种方式,提高现有人员仿真软件使用能力;在人才引进方面,优先考虑能够熟练使用相关研发领域仿真软件的人员。在仿真平台管理方面,引入熟悉数值仿真平台的专业人员,提高平台运维和管理能力,提高相关人员薪资水平。

5 结论

随着数字化转型走向深入,仿真计算平台将得到越来越广泛的应用,平台规模将越加庞大,如何建设经济、适用、绿色、高效的计算平台,决定了仿真计算资源和软件是否能够得到充分利用。本文根据本企业建设和运维数值仿真平台的实践经验,希望能为企事业单位构建类似平台提供参考,发挥平台应有的价值。

猜你喜欢
集群软件资源
基础教育资源展示
禅宗软件
一样的资源,不一样的收获
海上小型无人机集群的反制装备需求与应对之策研究
软件对对碰
资源回收
一种无人机集群发射回收装置的控制系统设计
Python与Spark集群在收费数据分析中的应用
资源再生 欢迎订阅
谈软件的破解与保护