徐 瑞,楊 永,胡春馨,郭文彬
(航空工業(yè)西安航空計(jì)算技術(shù)研究所,陜西 西安 710065)
當(dāng)前全球的數(shù)字化轉(zhuǎn)型浪潮方興未艾,而在以航空制造業(yè)為典型的工業(yè)領(lǐng)域中伴隨著工業(yè)技術(shù)與信息技術(shù)的融合,工業(yè)軟件的應(yīng)用成為推動(dòng)工業(yè)研發(fā)體系數(shù)字化轉(zhuǎn)型升級(jí)發(fā)展的重點(diǎn)。工業(yè)軟件作為面向特定行業(yè)、特定設(shè)備和特定場景的定制化仿真軟件,是領(lǐng)域機(jī)理、仿真知識(shí)、和工程經(jīng)驗(yàn)的集成,通過知識(shí)的復(fù)用,提升工業(yè)研發(fā)能力,打造數(shù)字化工業(yè)研發(fā)體系。工業(yè)軟件的一種定義是以工業(yè)知識(shí)為核心,以CPS(賽博物理系統(tǒng))形式運(yùn)行,為工業(yè)品帶來高附加值的,用以工業(yè)控制的一類軟件[1]。工業(yè)軟件主要包括兩類軟件。一類是產(chǎn)品或者工業(yè)設(shè)備內(nèi)的嵌入式軟件,通過軟件的計(jì)算數(shù)據(jù)輸出給設(shè)備控制器的方式來輔助機(jī)器進(jìn)行精準(zhǔn)操作。另一類是通過軟件構(gòu)造數(shù)字化模型,數(shù)字化仿真場景等,形成計(jì)算機(jī)輔助技術(shù)(CAX)等研發(fā)和管理軟件,包括CAD、CAE、CAM等軟件,進(jìn)而為產(chǎn)品研發(fā)和管理數(shù)字化升級(jí)打下基礎(chǔ)[2]。從內(nèi)容出發(fā),工業(yè)軟件作為工業(yè)知識(shí)的承載容器,工業(yè)知識(shí)是工業(yè)軟件的核心內(nèi)容,因此工業(yè)軟件的范疇不僅僅是傳統(tǒng)的IT架構(gòu)層軟件,而是包含工業(yè)技術(shù)和工業(yè)知識(shí)積累的軟件。
在研發(fā)設(shè)計(jì)領(lǐng)域,CAE類工業(yè)軟件的應(yīng)用提升了航空工業(yè)向研發(fā)創(chuàng)新、技術(shù)創(chuàng)新的升級(jí)轉(zhuǎn)型。仿真計(jì)算依托于工業(yè)軟件的實(shí)施而存在,主要應(yīng)用在工業(yè)生產(chǎn)中覆蓋生產(chǎn)設(shè)計(jì)和生產(chǎn)制造[3]。CFD技術(shù)作為研究和解決空氣動(dòng)力學(xué)問題的重要技術(shù)手段之一,在氣動(dòng)布局研究、氣動(dòng)新技術(shù)研究、新概念武器探索,具有不可替代的作用,CFD技術(shù)對提高飛行器設(shè)計(jì)質(zhì)量、縮短研制周期、降低研制成本、減少研制風(fēng)險(xiǎn)具有重要意義。CFD等典型仿真計(jì)算軟件的應(yīng)用成為航空輔助工程領(lǐng)域設(shè)計(jì)的重要工具,起到簡化仿真操作、降低仿真難度的作用。傳統(tǒng)的CFD軟件面向高性能計(jì)算環(huán)境,部署在大型計(jì)算中心的服務(wù)器上,通過計(jì)算得出可視化的最優(yōu)結(jié)果,從而輔助工程人員設(shè)計(jì)驗(yàn)證。CFD軟件需要計(jì)算資源的大量支持,過去技術(shù)人員主要把精力放在優(yōu)化模型,網(wǎng)格之上,通過模型和網(wǎng)格的優(yōu)化節(jié)省計(jì)算資源。而云計(jì)算作為新一代服務(wù)提供方式,提供了計(jì)算資源的按需訪問。大部分的CFD軟件作為商業(yè)軟件,需要商業(yè)授權(quán)訪問,軟件的授權(quán)訪問價(jià)格昂貴,導(dǎo)致研發(fā)設(shè)計(jì)部門不能足額配置所需軟件。而云計(jì)算作為一種新的服務(wù)提供方式,提供軟件資源的按需訪問。因此工業(yè)軟件云計(jì)算技術(shù)應(yīng)用是需求驅(qū)動(dòng)、技術(shù)進(jìn)步和商業(yè)模式轉(zhuǎn)變共同促進(jìn)的結(jié)果。計(jì)算資源通過云的方式加速聯(lián)結(jié),在工業(yè)軟件領(lǐng)域提供可以彈性擴(kuò)展的計(jì)算服務(wù),并且可以進(jìn)一步提供創(chuàng)新型服務(wù)。本文即針對工業(yè)軟件云化技術(shù)這一課題進(jìn)行研究探討。
虛擬化技術(shù)是云計(jì)算的關(guān)鍵基礎(chǔ)技術(shù),也是云計(jì)算研究的基礎(chǔ)。虛擬化技術(shù)通過對一組類似資源提供一個(gè)通用的抽象接口集,從而隱藏屬性和操作之間的差異,并允許通過一種通用的方式來查看并維護(hù)資源。虛擬化技術(shù)為IT基礎(chǔ)架構(gòu)提供了彈性化運(yùn)營能力,但是應(yīng)用軟件多樣性、許可證機(jī)制復(fù)雜性以及應(yīng)用業(yè)務(wù)系統(tǒng)自身的邏輯獨(dú)立性,往往導(dǎo)致單一型虛擬化技術(shù)難以全面整合企業(yè)計(jì)算資源。因此在工業(yè)軟件云化技術(shù)應(yīng)用方面,需要囊括多種類型的虛擬化基礎(chǔ)架構(gòu),以多樣化的企業(yè)計(jì)算資源利用為目標(biāo),實(shí)現(xiàn)更廣泛的平臺(tái)兼容性,重點(diǎn)打造基于超算中心的虛擬化技術(shù)。
集群計(jì)算通過將一定數(shù)量的計(jì)算機(jī)個(gè)體進(jìn)行網(wǎng)絡(luò)互聯(lián)并且共同工作,統(tǒng)一納管CPU、GPU、FPGA、ASIC類計(jì)算資源,形成統(tǒng)一、完整的計(jì)算資源池,進(jìn)而實(shí)現(xiàn)大規(guī)模的并行計(jì)算、數(shù)據(jù)分析,并通過負(fù)載均衡配置操作實(shí)現(xiàn)高可用性。集群計(jì)算技術(shù)的導(dǎo)入,可以幫助企業(yè)從計(jì)算性能、應(yīng)用規(guī)模層面提升計(jì)算資源核心能力。集群計(jì)算技術(shù)為企業(yè)IT 基礎(chǔ)架構(gòu)提升了數(shù)字化高效生產(chǎn)能力,可以針對工業(yè)軟件并行計(jì)算、數(shù)據(jù)分析、深度學(xué)習(xí)類的計(jì)算應(yīng)用提供廣泛兼容性。整個(gè)計(jì)算資源平臺(tái)虛擬化架構(gòu)設(shè)計(jì)如圖1所示。
圖1 計(jì)算資源虛擬化平臺(tái)架構(gòu)設(shè)計(jì)
工業(yè)軟件除了在計(jì)算資源方面需要虛擬化技術(shù)的支持,在存儲(chǔ)資源方面,同樣需要虛擬化技術(shù)的支撐。工業(yè)軟件在應(yīng)用過程中,同時(shí)產(chǎn)生并存儲(chǔ)大量的結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)。這些數(shù)據(jù)作為企業(yè)的核心資產(chǎn),關(guān)聯(lián)的存儲(chǔ)設(shè)備及管理系統(tǒng)是企業(yè)計(jì)算資源中不可或缺的重要組成部分,承擔(dān)著企業(yè)核心級(jí)非結(jié)構(gòu)化數(shù)據(jù)的創(chuàng)建、修改、復(fù)制、分發(fā)、存檔、重用、保護(hù)、恢復(fù)、刪除等管理職能。不同類型的軟件需要不同性能的存儲(chǔ)設(shè)備提供后臺(tái)支持,而不同類型、不同廠家的存儲(chǔ)設(shè)備具備差異較大的文件系統(tǒng)以及管理機(jī)制,存儲(chǔ)管理工作的碎片化傾向愈發(fā)嚴(yán)重。存儲(chǔ)資源虛擬化技術(shù)面向多樣化存儲(chǔ)基礎(chǔ)架構(gòu),抽象提煉數(shù)據(jù)基本管理接口,面向不同模型,不同應(yīng)用數(shù)據(jù)管理需求,提供統(tǒng)一的存儲(chǔ)資源管控能力,進(jìn)而實(shí)現(xiàn)不同學(xué)科應(yīng)用統(tǒng)一數(shù)據(jù)模型處理能力,同一數(shù)據(jù)模型計(jì)算流程之間數(shù)據(jù)交互能力。
航空計(jì)算仿真技術(shù)依托于工業(yè)軟件而存在。CFD類計(jì)算求解器軟件在執(zhí)行仿真計(jì)算過程中,需要輸入網(wǎng)格文件,參數(shù)模板文件,中間數(shù)據(jù)交換文件,最后再以數(shù)據(jù)輸出文件的方式將仿真計(jì)算結(jié)果向用戶進(jìn)行展示。傳統(tǒng)的軟件使用過程中,在大型計(jì)算中心部署腳本文件調(diào)用CFD求解器軟件,并且在相應(yīng)的計(jì)算流程節(jié)點(diǎn)通過調(diào)用相應(yīng)的輸入?yún)?shù)和輸入文件,完成仿真計(jì)算過程。這種傳統(tǒng)的CFD軟件架構(gòu)基于緊耦合單體式軟件架構(gòu)技術(shù),而隨著數(shù)字化業(yè)務(wù)的發(fā)展,未來的CFD軟件架構(gòu)需要考慮多學(xué)科聯(lián)合求解架構(gòu),涉及多學(xué)科聯(lián)合仿真計(jì)算。因此需要建立起一套面向多學(xué)科應(yīng)用的軟件架構(gòu)體系,而軟件服務(wù)化APP作為封裝了不同業(yè)務(wù)領(lǐng)域知識(shí)的新型軟件架構(gòu),通過軟件復(fù)用和知識(shí)封裝技術(shù),以服務(wù)的方式完成特定功能的求解。整個(gè)軟件的服務(wù)架構(gòu)如圖2所示。
圖2 云化軟件服務(wù)架構(gòu)
通過這種基于云計(jì)算服務(wù)化的軟件仿真計(jì)算,在統(tǒng)一的云平臺(tái)系統(tǒng)中,應(yīng)用人員針對不同學(xué)科的計(jì)算數(shù)據(jù)都被保存在同一套工業(yè)軟件平臺(tái)系統(tǒng)中,系統(tǒng)也自然而然的獲得了基于多學(xué)科應(yīng)用的數(shù)據(jù)挖掘能力和服務(wù)調(diào)用行為分析的潛在能力。一方面系統(tǒng)通過對不同學(xué)科應(yīng)用的數(shù)據(jù)進(jìn)行挖掘分析,提取知識(shí),建立基于數(shù)據(jù)的智能設(shè)計(jì)。另一方面系統(tǒng)針對企業(yè)核心計(jì)算資源的利用行為相關(guān)數(shù)據(jù)進(jìn)行記錄、存儲(chǔ)、整理、分析以及挖掘,全面評估資源利用率、資源緊張度、節(jié)點(diǎn)計(jì)算生產(chǎn)效率,為計(jì)算資源生產(chǎn)績效提供參考依據(jù),進(jìn)一步提升數(shù)字化云平臺(tái)的效率。
工業(yè)軟件作為運(yùn)行于工業(yè)計(jì)算領(lǐng)域的軟件,需要強(qiáng)大的計(jì)算能力,因?yàn)檫\(yùn)行于云端,而容器技術(shù)作為云端服務(wù)提供的載體,通過與工業(yè)軟件組件的結(jié)合,對外提供服務(wù)。在云端,通過將工業(yè)軟件的不同組件進(jìn)行服務(wù)化拆分,以服務(wù)運(yùn)行的方式對外提供功能,因此用戶對組件的服務(wù)調(diào)用,組件之間的服務(wù)調(diào)用導(dǎo)致整個(gè)軟件的復(fù)雜度呈指數(shù)級(jí)上升。而容器技術(shù)作為服務(wù)提供的載體,具備自動(dòng)管理擴(kuò)展多個(gè)應(yīng)用服務(wù)的能力,并且可以根據(jù)計(jì)算過程中,對計(jì)算資源的監(jiān)控,自動(dòng)彈性擴(kuò)充容器數(shù)量,滿足計(jì)算需求。工業(yè)軟件存在功能升級(jí)、遠(yuǎn)程監(jiān)控的需要,軟件服務(wù)的提供方式也從以往需求分析、設(shè)計(jì)編碼、測試上線的瀑布模型轉(zhuǎn)變?yōu)榭焖夙憫?yīng)、持續(xù)交付的敏捷開發(fā)模式,因此需要以高度自動(dòng)化的方式來運(yùn)行提供服務(wù)。在容器集群規(guī)劃中,將承載微服務(wù)的Docker容器部署于Kubernetes集群體系中,利用其Master組件(Apis、Scheduler、Etcd)和多個(gè)Node節(jié)點(diǎn)組件(Kubelet、Kube-Proxy)及分布式存儲(chǔ)系統(tǒng)保障容器群集的高效、穩(wěn)定服務(wù)。將整個(gè)系統(tǒng)模塊分為運(yùn)行在Node節(jié)點(diǎn)上的容器服務(wù)和運(yùn)行在Master節(jié)點(diǎn)上的用于組成集群級(jí)別的控制管理服務(wù)。整個(gè)容器調(diào)度體系架構(gòu)如圖3所示。
圖3 容器調(diào)度技術(shù)框架
CFD類工業(yè)軟件在云端服務(wù)運(yùn)行過程中,不僅需要開發(fā)匹配超算的軟件容器化和軟件編排能力,還需要兼容各種類型的超算編程應(yīng)用。因此還需要進(jìn)一步研究不同種類容器之間的轉(zhuǎn)換技術(shù),通信技術(shù)。容器應(yīng)用與各類容器編排工具Kubernetes、Kubeflow、Argo的對接能力,實(shí)現(xiàn)大的超算資源的自動(dòng)編排,從而支持通過編排調(diào)度工具部署超算平臺(tái)的多節(jié)點(diǎn)MPI任務(wù),面向科學(xué)計(jì)算的MPI應(yīng)用開發(fā),最后達(dá)到面向智能計(jì)算的典型分布式深度學(xué)習(xí)的模型開發(fā)能力,和基于服務(wù)的面向云計(jì)算的應(yīng)用編排能力。
通過對航空計(jì)算工業(yè)軟件云化研究,為工業(yè)云平臺(tái)的設(shè)計(jì)規(guī)劃做出了積極的方向探索。工業(yè)軟件的云化設(shè)計(jì)面向工業(yè)研發(fā)應(yīng)用需求,提供了虛擬應(yīng)用、高性能計(jì)算、工程數(shù)據(jù)管理和行業(yè)解決方案等多種服務(wù)能力,通過服務(wù)方式提供工程應(yīng)用,用戶無需安裝任何應(yīng)用軟件,僅需通過Web平臺(tái)頁面方式即可啟用設(shè)計(jì)軟件,操作體驗(yàn)與本地應(yīng)用保持高度一致。高性能計(jì)算方面,用戶在平臺(tái)頁面填寫參數(shù)并上傳模型文件,系統(tǒng)解析后自動(dòng)生成作業(yè)提交腳本文件,并提交至集群調(diào)度系統(tǒng),即可進(jìn)行大規(guī)模求解計(jì)算。工程數(shù)據(jù)管理方面,用戶可在線管理產(chǎn)品設(shè)計(jì)及仿真數(shù)據(jù),企業(yè)用戶組可建立共享目錄,組內(nèi)員工可分級(jí)共享,幫助企業(yè)用戶組實(shí)現(xiàn)在線協(xié)同設(shè)計(jì)及仿真。通過集成多學(xué)科求解器軟件提供應(yīng)用服務(wù),實(shí)現(xiàn)平臺(tái)自動(dòng)生成計(jì)算腳本、準(zhǔn)備計(jì)算模型并進(jìn)行快速求解計(jì)算,用戶方便直接獲取計(jì)算報(bào)告或仿真效果圖。
工業(yè)軟件云化技術(shù)研究還可以實(shí)現(xiàn)技術(shù)創(chuàng)新及運(yùn)營模式創(chuàng)新。通過整合超大規(guī)模計(jì)算資源,可以提供強(qiáng)大的工業(yè)研發(fā)計(jì)算能力,覆蓋CAD二維及三維設(shè)計(jì)、CAE 前后處理及求解計(jì)算等主流應(yīng)用,為用戶提供了高彈性、按需收費(fèi)的在線研發(fā)應(yīng)用服務(wù)。通過設(shè)計(jì)可定制化CAE 仿真應(yīng)用模板,降低高端研發(fā)軟件應(yīng)用門檻,改變傳統(tǒng)的計(jì)算資源服務(wù)形式,升級(jí)為在線化研發(fā)設(shè)計(jì)知識(shí)服務(wù),幫助用戶轉(zhuǎn)型升級(jí)資源服務(wù)擴(kuò)展升級(jí)為知識(shí)服務(wù)。改變了傳統(tǒng)工業(yè)研發(fā)的數(shù)據(jù)生產(chǎn)方式,工程技術(shù)人員不再受限于客戶端的軟件種類以及計(jì)算能力,可以在任何地點(diǎn)打開任意研發(fā)軟件,自主獲取云端設(shè)計(jì)數(shù)據(jù),隨時(shí)開展研發(fā)、設(shè)計(jì)、分享以及相關(guān)討論,打造智慧研發(fā)模式。