APP下载

航空计算技术工业软件云化研究

2024-03-05胡春馨郭文彬

山西电子技术 2024年1期
关键词:计算资源虚拟化容器

徐 瑞,杨 永,胡春馨,郭文彬

(航空工业西安航空计算技术研究所,陕西 西安 710065)

0 引言

当前全球的数字化转型浪潮方兴未艾,而在以航空制造业为典型的工业领域中伴随着工业技术与信息技术的融合,工业软件的应用成为推动工业研发体系数字化转型升级发展的重点。工业软件作为面向特定行业、特定设备和特定场景的定制化仿真软件,是领域机理、仿真知识、和工程经验的集成,通过知识的复用,提升工业研发能力,打造数字化工业研发体系。工业软件的一种定义是以工业知识为核心,以CPS(赛博物理系统)形式运行,为工业品带来高附加值的,用以工业控制的一类软件[1]。工业软件主要包括两类软件。一类是产品或者工业设备内的嵌入式软件,通过软件的计算数据输出给设备控制器的方式来辅助机器进行精准操作。另一类是通过软件构造数字化模型,数字化仿真场景等,形成计算机辅助技术(CAX)等研发和管理软件,包括CAD、CAE、CAM等软件,进而为产品研发和管理数字化升级打下基础[2]。从内容出发,工业软件作为工业知识的承载容器,工业知识是工业软件的核心内容,因此工业软件的范畴不仅仅是传统的IT架构层软件,而是包含工业技术和工业知识积累的软件。

在研发设计领域,CAE类工业软件的应用提升了航空工业向研发创新、技术创新的升级转型。仿真计算依托于工业软件的实施而存在,主要应用在工业生产中覆盖生产设计和生产制造[3]。CFD技术作为研究和解决空气动力学问题的重要技术手段之一,在气动布局研究、气动新技术研究、新概念武器探索,具有不可替代的作用,CFD技术对提高飞行器设计质量、缩短研制周期、降低研制成本、减少研制风险具有重要意义。CFD等典型仿真计算软件的应用成为航空辅助工程领域设计的重要工具,起到简化仿真操作、降低仿真难度的作用。传统的CFD软件面向高性能计算环境,部署在大型计算中心的服务器上,通过计算得出可视化的最优结果,从而辅助工程人员设计验证。CFD软件需要计算资源的大量支持,过去技术人员主要把精力放在优化模型,网格之上,通过模型和网格的优化节省计算资源。而云计算作为新一代服务提供方式,提供了计算资源的按需访问。大部分的CFD软件作为商业软件,需要商业授权访问,软件的授权访问价格昂贵,导致研发设计部门不能足额配置所需软件。而云计算作为一种新的服务提供方式,提供软件资源的按需访问。因此工业软件云计算技术应用是需求驱动、技术进步和商业模式转变共同促进的结果。计算资源通过云的方式加速联结,在工业软件领域提供可以弹性扩展的计算服务,并且可以进一步提供创新型服务。本文即针对工业软件云化技术这一课题进行研究探讨。

1 基础架构虚拟化技术

虚拟化技术是云计算的关键基础技术,也是云计算研究的基础。虚拟化技术通过对一组类似资源提供一个通用的抽象接口集,从而隐藏属性和操作之间的差异,并允许通过一种通用的方式来查看并维护资源。虚拟化技术为IT基础架构提供了弹性化运营能力,但是应用软件多样性、许可证机制复杂性以及应用业务系统自身的逻辑独立性,往往导致单一型虚拟化技术难以全面整合企业计算资源。因此在工业软件云化技术应用方面,需要囊括多种类型的虚拟化基础架构,以多样化的企业计算资源利用为目标,实现更广泛的平台兼容性,重点打造基于超算中心的虚拟化技术。

集群计算通过将一定数量的计算机个体进行网络互联并且共同工作,统一纳管CPU、GPU、FPGA、ASIC类计算资源,形成统一、完整的计算资源池,进而实现大规模的并行计算、数据分析,并通过负载均衡配置操作实现高可用性。集群计算技术的导入,可以帮助企业从计算性能、应用规模层面提升计算资源核心能力。集群计算技术为企业IT 基础架构提升了数字化高效生产能力,可以针对工业软件并行计算、数据分析、深度学习类的计算应用提供广泛兼容性。整个计算资源平台虚拟化架构设计如图1所示。

图1 计算资源虚拟化平台架构设计

工业软件除了在计算资源方面需要虚拟化技术的支持,在存储资源方面,同样需要虚拟化技术的支撑。工业软件在应用过程中,同时产生并存储大量的结构化和非结构化数据。这些数据作为企业的核心资产,关联的存储设备及管理系统是企业计算资源中不可或缺的重要组成部分,承担着企业核心级非结构化数据的创建、修改、复制、分发、存档、重用、保护、恢复、删除等管理职能。不同类型的软件需要不同性能的存储设备提供后台支持,而不同类型、不同厂家的存储设备具备差异较大的文件系统以及管理机制,存储管理工作的碎片化倾向愈发严重。存储资源虚拟化技术面向多样化存储基础架构,抽象提炼数据基本管理接口,面向不同模型,不同应用数据管理需求,提供统一的存储资源管控能力,进而实现不同学科应用统一数据模型处理能力,同一数据模型计算流程之间数据交互能力。

2 服务化技术

航空计算仿真技术依托于工业软件而存在。CFD类计算求解器软件在执行仿真计算过程中,需要输入网格文件,参数模板文件,中间数据交换文件,最后再以数据输出文件的方式将仿真计算结果向用户进行展示。传统的软件使用过程中,在大型计算中心部署脚本文件调用CFD求解器软件,并且在相应的计算流程节点通过调用相应的输入参数和输入文件,完成仿真计算过程。这种传统的CFD软件架构基于紧耦合单体式软件架构技术,而随着数字化业务的发展,未来的CFD软件架构需要考虑多学科联合求解架构,涉及多学科联合仿真计算。因此需要建立起一套面向多学科应用的软件架构体系,而软件服务化APP作为封装了不同业务领域知识的新型软件架构,通过软件复用和知识封装技术,以服务的方式完成特定功能的求解。整个软件的服务架构如图2所示。

图2 云化软件服务架构

通过这种基于云计算服务化的软件仿真计算,在统一的云平台系统中,应用人员针对不同学科的计算数据都被保存在同一套工业软件平台系统中,系统也自然而然的获得了基于多学科应用的数据挖掘能力和服务调用行为分析的潜在能力。一方面系统通过对不同学科应用的数据进行挖掘分析,提取知识,建立基于数据的智能设计。另一方面系统针对企业核心计算资源的利用行为相关数据进行记录、存储、整理、分析以及挖掘,全面评估资源利用率、资源紧张度、节点计算生产效率,为计算资源生产绩效提供参考依据,进一步提升数字化云平台的效率。

3 容器调度技术

工业软件作为运行于工业计算领域的软件,需要强大的计算能力,因为运行于云端,而容器技术作为云端服务提供的载体,通过与工业软件组件的结合,对外提供服务。在云端,通过将工业软件的不同组件进行服务化拆分,以服务运行的方式对外提供功能,因此用户对组件的服务调用,组件之间的服务调用导致整个软件的复杂度呈指数级上升。而容器技术作为服务提供的载体,具备自动管理扩展多个应用服务的能力,并且可以根据计算过程中,对计算资源的监控,自动弹性扩充容器数量,满足计算需求。工业软件存在功能升级、远程监控的需要,软件服务的提供方式也从以往需求分析、设计编码、测试上线的瀑布模型转变为快速响应、持续交付的敏捷开发模式,因此需要以高度自动化的方式来运行提供服务。在容器集群规划中,将承载微服务的Docker容器部署于Kubernetes集群体系中,利用其Master组件(Apis、Scheduler、Etcd)和多个Node节点组件(Kubelet、Kube-Proxy)及分布式存储系统保障容器群集的高效、稳定服务。将整个系统模块分为运行在Node节点上的容器服务和运行在Master节点上的用于组成集群级别的控制管理服务。整个容器调度体系架构如图3所示。

图3 容器调度技术框架

CFD类工业软件在云端服务运行过程中,不仅需要开发匹配超算的软件容器化和软件编排能力,还需要兼容各种类型的超算编程应用。因此还需要进一步研究不同种类容器之间的转换技术,通信技术。容器应用与各类容器编排工具Kubernetes、Kubeflow、Argo的对接能力,实现大的超算资源的自动编排,从而支持通过编排调度工具部署超算平台的多节点MPI任务,面向科学计算的MPI应用开发,最后达到面向智能计算的典型分布式深度学习的模型开发能力,和基于服务的面向云计算的应用编排能力。

4 结论

通过对航空计算工业软件云化研究,为工业云平台的设计规划做出了积极的方向探索。工业软件的云化设计面向工业研发应用需求,提供了虚拟应用、高性能计算、工程数据管理和行业解决方案等多种服务能力,通过服务方式提供工程应用,用户无需安装任何应用软件,仅需通过Web平台页面方式即可启用设计软件,操作体验与本地应用保持高度一致。高性能计算方面,用户在平台页面填写参数并上传模型文件,系统解析后自动生成作业提交脚本文件,并提交至集群调度系统,即可进行大规模求解计算。工程数据管理方面,用户可在线管理产品设计及仿真数据,企业用户组可建立共享目录,组内员工可分级共享,帮助企业用户组实现在线协同设计及仿真。通过集成多学科求解器软件提供应用服务,实现平台自动生成计算脚本、准备计算模型并进行快速求解计算,用户方便直接获取计算报告或仿真效果图。

工业软件云化技术研究还可以实现技术创新及运营模式创新。通过整合超大规模计算资源,可以提供强大的工业研发计算能力,覆盖CAD二维及三维设计、CAE 前后处理及求解计算等主流应用,为用户提供了高弹性、按需收费的在线研发应用服务。通过设计可定制化CAE 仿真应用模板,降低高端研发软件应用门槛,改变传统的计算资源服务形式,升级为在线化研发设计知识服务,帮助用户转型升级资源服务扩展升级为知识服务。改变了传统工业研发的数据生产方式,工程技术人员不再受限于客户端的软件种类以及计算能力,可以在任何地点打开任意研发软件,自主获取云端设计数据,随时开展研发、设计、分享以及相关讨论,打造智慧研发模式。

猜你喜欢

计算资源虚拟化容器
Different Containers不同的容器
基于模糊规划理论的云计算资源调度研究
难以置信的事情
改进快速稀疏算法的云计算资源负载均衡
基于OpenStack虚拟化网络管理平台的设计与实现
对基于Docker的虚拟化技术的几点探讨
基于Wi-Fi与Web的云计算资源调度算法研究
耦合分布式系统多任务动态调度算法
虚拟化技术在计算机技术创造中的应用
存储虚拟化还有优势吗?