鄧子云 章兢 白樹仁 劉朝華 陳磊 張偉
摘 要:“基于超級計算的CAE集成平臺”可解決工業(yè)領(lǐng)域的產(chǎn)品設(shè)計中的CAE軟件集成問題、計算速度問題及并行計算機使用的問題.為研發(fā)出這個平臺,提出了該平臺的總體構(gòu)成和總體架構(gòu)設(shè)計.該平臺由5層7個子系統(tǒng)構(gòu)成,前端系統(tǒng)采用SSH架構(gòu),ESB總線和中間件系統(tǒng)采用Spring,Hibernate,Tuscany的組合來實現(xiàn),集群端系統(tǒng)則主要是對“天河1號”超級計算機的調(diào)度系統(tǒng)進行改進.根據(jù)總體架構(gòu)設(shè)計研發(fā)出了平臺的第1個原型.
關(guān)鍵詞:超級計算;CAE集成平臺;架構(gòu)設(shè)計;第1個原型
中圖分類號:TP311.52 文獻標識碼:A
Architectural Design of CAE Integration
Platform Based on Super Computation
DENG Ziyun1,2 , ZHANG Jing1,BAI Shuren2,LIU Zhaohua2,CHEN Lei2,ZHANG Wei2
(1.College of Electrical and Information Engineering, Hunan Univ, Changsha, Hunan 410082, China;
2.National Supercomputing Center in Changsha, Changsha, Hunan 410082, China)
Abstract:CAE Integration Platform based on Super Computation can solve some problems in industrial products design, such as CAE software integration, calculation speed and parallel computer using. This paper proposed the overall structure and the overall architecture of the platform for development. The platform consists of 5 layers and 7 subsystems. The front end system adopts SSH architecture, ESB bus and middleware uses Spring, Hibernate and Tuscany combination. Cluster system is mainly on the “Tianhe No.1” super computer scheduling system improvements. According to the overall architecture design, the prototype platform was developed.
Key words: super computation; CAE integration platform; architectural design; first prototype
1 問題提出
企業(yè)在應(yīng)用CAE(Computer Aided Engineering,計算機輔助工程)軟件進行工業(yè)領(lǐng)域產(chǎn)品設(shè)計的過程中普遍發(fā)現(xiàn)存在以下問題:
1)CAE軟件集成問題
CAE軟件的品種有許多種,如CATIA,ABAQUS,ANSYS,LSDYNA,F(xiàn)luent,SINOVATION等,行業(yè)應(yīng)用、軟件功能各有側(cè)重,相互孤立,需要將這些軟件通過接口統(tǒng)一集成起來,從而可以共同工作[1-2],如能以云計算形式供企業(yè)共享使用則更為節(jié)約資源和成本.
2)計算速度問題
一個模型從初始建模、計算到優(yōu)化處理,最終成型,要進行各種環(huán)境條件、材質(zhì)、載荷下的仿真與計算,往往需要反復調(diào)整參數(shù)、計算、評估許多次,而CAE仿真需要進行大量的計算,現(xiàn)有計算機單機性能仍然存在瓶頸[3],需要使用超級計算機來支持大規(guī)模的并行計算來縮短工業(yè)設(shè)計仿真的計算時間.
3)并行計算機使用問題
使用超級計算機的技術(shù)門檻較高,需要操作人員掌握的專業(yè)技術(shù)知識較多,比如Unix或Linux操作系統(tǒng)、應(yīng)用行業(yè)專業(yè)知識、并行計算,甚至系統(tǒng)分析設(shè)計及程序開發(fā)[3].超級計算機的計算資源如能以Web的方式提供給公眾用戶使用則更為便利.
解決這些問題的根本辦法就是研發(fā)出一個“基于超級計算的CAE集成平臺”(以下簡稱“超算CAE平臺”).要研發(fā)出“超算CAE平臺”首先要考慮的問題就是根據(jù)業(yè)務(wù)需求來理清平臺的構(gòu)成,搭建起先進而又穩(wěn)定的平臺總體架構(gòu),再進行下一步的設(shè)計和編碼.
2 研究現(xiàn)狀與趨勢
“超算CAE平臺”是工業(yè)設(shè)計領(lǐng)域的新興發(fā)展趨勢,國內(nèi)國際的研究水平差距較小,但我國在超級計算機系統(tǒng)和CAE軟件的無縫集成技術(shù)方面,尚缺乏研究基礎(chǔ)和工程應(yīng)用經(jīng)驗[4-5].
大型工程和復雜產(chǎn)品,例如盾構(gòu)機、火星著陸器、飛機、輪船等,結(jié)構(gòu)及其仿真都很復雜,依靠PC機、普通工作站無法完成其結(jié)構(gòu)、功能與可靠性一體化的優(yōu)化設(shè)計,這就必須依靠超級計算機技術(shù)來解決問題[6-8].
以第三方軟件為平臺集成CAD(Computer Aided Design,計算機輔助設(shè)計)/CAE軟件是構(gòu)建集成設(shè)計系統(tǒng)平臺的一種趨勢.適應(yīng)于超級并行計算機和機群的高性能CAE求解技術(shù),多種專業(yè)領(lǐng)域的CAE計算分析軟件的集成化及其聯(lián)合仿真,建立多物理場、多場耦合、不確定性的大型工程和復雜產(chǎn)品的計算模型,實現(xiàn)對大型工程和復雜產(chǎn)品的全面仿真分析和優(yōu)化設(shè)計,是解決其多目標優(yōu)化設(shè)計問題的必然途徑[4-5].
3 主要業(yè)務(wù)過程描述
“超算CAE平臺”的主要用戶是工業(yè)設(shè)計中的設(shè)計人員,其目的是利用該平臺實現(xiàn)工業(yè)設(shè)計中各類產(chǎn)品的設(shè)計、分析、計算、仿真和試驗,并且讓用戶可以通過互聯(lián)網(wǎng)環(huán)境使用該平臺.“超算CAE平臺”中的主要業(yè)務(wù)流程有三種:
1)針對各種CAE商業(yè)軟件的求解器應(yīng)用.
這種應(yīng)用的主要過程要經(jīng)歷用戶作業(yè)生成、作業(yè)提交、作業(yè)監(jiān)控、結(jié)果運用4個階段[9].
2)針對各種CAE商業(yè)軟件的前后處理的應(yīng)用.
該流程有前處理和后處理.前處理流程包括CAD模型的導入、相關(guān)參數(shù)的設(shè)置、前處理結(jié)果的導出、網(wǎng)格的劃分、載荷的施加等.在擁有超級計算機的情形下,可將網(wǎng)格劃分較細以得到更加優(yōu)質(zhì)和精確的計算結(jié)果[10].后處理流程包括計算結(jié)果的導入和計算結(jié)果的展示,即將求解的結(jié)果導入到CAE軟件中,查看并進一步分析計算結(jié)果,計算結(jié)果可以圖形化的方式來展現(xiàn).
3)多種CAE軟件的綜合應(yīng)用.
這種應(yīng)用主要是復雜業(yè)務(wù)流程的組合,例如機電液一體化聯(lián)合仿真、流固耦合、CAE參數(shù)的迭代優(yōu)化等復雜過程.
4 平臺總體構(gòu)成
“超算CAE平臺”由5層7個子系統(tǒng)構(gòu)成,如圖1所示.
表現(xiàn)層為“超算CAE平臺”門戶網(wǎng)站;應(yīng)用層為作業(yè)提交與監(jiān)控系統(tǒng)、計算資源管控系統(tǒng);表現(xiàn)層和應(yīng)用層合為平臺的前端系統(tǒng)部分.
ESB(Enterprise Service Bus,企業(yè)服務(wù)總線)層為服務(wù)構(gòu)件裝配與復雜業(yè)務(wù)流程組合系統(tǒng);中間件層為“超算CAE平臺”中間件系統(tǒng);ESB層和中間件層合為平臺的ESB總線與中間件系統(tǒng)部分.
HPC(Hign Performance Computing,高性能計算)層則分別在Linux集群(“天河1號”超級計算機)和Windows集群中駐留研發(fā)的軟件,比如完成作業(yè)調(diào)度的功能、資源監(jiān)控的功能,以供中間件層進一步整合資源,形成共同和相對獨立且機制靈活的任務(wù)調(diào)度;HPC的兩個集群駐留軟件系統(tǒng)合為平臺的集群端系統(tǒng)部分.
安全管控系統(tǒng)貫穿于其它系統(tǒng)之中,但各個系統(tǒng)中有關(guān)安全的部分又能組合形成一個綜合的解決方案.
5 平臺總體架構(gòu)設(shè)計
5.1 平臺總體架構(gòu)
“超算CAE平臺”的總體架構(gòu)設(shè)計如圖2所示.下面針對該平臺的總體架構(gòu)各層分別描述如下.
1)門戶層
可針對不同的用戶類型和用戶對界面進行個性化配置;可對集成的應(yīng)用系統(tǒng),包括作業(yè)提交與監(jiān)控系統(tǒng)、計算資源管控系統(tǒng)進行界面集成、信息集成,形成統(tǒng)一的Portalets;可對不同的用戶類型做出不同的權(quán)限配置;子系統(tǒng)集成可實現(xiàn)單點登錄,用戶登錄時應(yīng)當使用USB Key進行身份認證.
2)應(yīng)用層
應(yīng)用層的系統(tǒng)主要包括作業(yè)提交與監(jiān)控系統(tǒng)和計算資源管控系統(tǒng).用戶在使用作業(yè)提交與監(jiān)控系統(tǒng)時可生成作業(yè)、提交作業(yè)、監(jiān)控作業(yè)、監(jiān)控作業(yè)的執(zhí)行過程、獲取作業(yè)結(jié)果、進行作業(yè)的前處理和后處理,展現(xiàn)計算結(jié)果和查看作業(yè)的計費情況;計算資源管控系統(tǒng)可查看執(zhí)行的作業(yè)的情況,進行能耗管理,生成資源熱圖和資源統(tǒng)計報表,進行必要的賬務(wù)處理,如針對不同的用戶設(shè)置賬戶預留資金、對賬戶進行充值等,可查看平臺生成的各種日志,可查看Linux集群(“天河1號”超級計算機)和Windows集群的網(wǎng)絡(luò)狀況,可對用戶的作業(yè)進行必要的干預,可對用戶的類型、信息、賬戶數(shù)據(jù)進行適當?shù)膶徟驼{(diào)整.
3)ESB總線
ESB總線即服務(wù)構(gòu)件裝配與復雜業(yè)務(wù)流程處理系統(tǒng),利用開源的Tuscany SOA(ServiceOriented Architecture,面向服務(wù)的架構(gòu))軟件對各種服務(wù)構(gòu)件在協(xié)議解藕的基礎(chǔ)上進行統(tǒng)一的封裝,形成與其它系統(tǒng)集成與通信的接口[11-12];在通信上統(tǒng)一采用XML(Extensible Markup Language,可擴展標記語言)報文,支持使用XML Schema進行數(shù)據(jù)校驗;可將XML報文利用路由配置接收來自其它系統(tǒng)的報文,再根據(jù)報文處理的需求和情況發(fā)送到目標系統(tǒng);采用Spring開源軟件對各種構(gòu)件使用AOP(AspectOriented Programming,面向切面的
程序設(shè)計)編程技術(shù)進行前置、后置等增強處理,形成不同業(yè)務(wù)的處理流程,支持復雜業(yè)務(wù)流程的處理.
4)中間件
中間件主要功能是屏蔽Windows集群和Linux集群(“天河1號”超級計算機)之間的差異,根據(jù)目標集群來生成不同的指令或腳本,提交目標集群執(zhí)行,并獲取到中間結(jié)果和最終結(jié)果;可獲取集群的結(jié)點狀態(tài),CPU/GPU、License等資源的分配情況和使用情況;作業(yè)執(zhí)行的情況,以及對作業(yè)可進行干預;支持在一個作業(yè)中執(zhí)行多個任務(wù)或作業(yè)步,從而可在一個作業(yè)中進行協(xié)同作業(yè).
5)HPC層
在Windows集群和Linux集群(“天河1號”超級計算機)中會裝有各種CAE大型商業(yè)行業(yè)應(yīng)用軟件,可執(zhí)行結(jié)構(gòu)力學、流體力學、電磁學等學科的有限元分析與計算,通過集群內(nèi)的調(diào)度軟件來進行大規(guī)模分布式計算作業(yè);改進集群端的調(diào)度軟件,以支持優(yōu)先級調(diào)度、CAE行業(yè)應(yīng)用軟件License管理等功能.
5.2 前端系統(tǒng)架構(gòu)
前端系統(tǒng)主要包括門戶、作業(yè)提交與監(jiān)控系統(tǒng)、計算資源管控系統(tǒng),各層次劃分及功能描述如圖3所示.
1)展示層
展示層負責處理與操作者的交互,收集操作數(shù)據(jù)提供給應(yīng)用服務(wù)者,并根據(jù)應(yīng)用服務(wù)者的反饋將返回的數(shù)據(jù)通過一定的形式在界面上展示.展示層包括客戶端界面邏輯和應(yīng)用服務(wù)端數(shù)據(jù)表示邏輯.
2)業(yè)務(wù)層
業(yè)務(wù)接口層對上層傳遞來的數(shù)據(jù)進行解析并分別送入不同的邏輯處理,向用戶返回底層邏輯處理結(jié)果.
由于數(shù)據(jù)和命令的不同,處理方式也不同.規(guī)則層負責將不同的處理方式歸類,并將接口層傳入的數(shù)據(jù)及命令流入對應(yīng)處理流程.
不同的處理流程分析數(shù)據(jù)和命令產(chǎn)生出對應(yīng)的一個實體,這個實體根據(jù)其本身的屬性和方法以及上層傳入的命令,將數(shù)據(jù)處理為數(shù)據(jù)訪問層需要的接口參數(shù),并向數(shù)據(jù)訪問層提交訪問數(shù)據(jù)庫的請求,最終向業(yè)務(wù)接口層返回訪問結(jié)果.
數(shù)據(jù)訪問層將數(shù)據(jù)轉(zhuǎn)化為數(shù)據(jù)庫可識別的SQL(Structured Query Language,結(jié)構(gòu)化查詢語言)語句,并訪問數(shù)據(jù)庫層,訪問結(jié)果會返回給實體層.
3)數(shù)據(jù)存儲層
處理上層傳入的SQL,讀寫數(shù)據(jù)庫內(nèi)置對象,并根據(jù)其內(nèi)置對象本身的關(guān)系對數(shù)據(jù)做進一步校驗和處理.主要由數(shù)據(jù)庫表及相關(guān)支撐軟件組成,提供對數(shù)據(jù)的存儲、業(yè)務(wù)信息的數(shù)據(jù)庫模式表示以及數(shù)據(jù)存儲邏輯的維護和管理.
前端系統(tǒng)采用開源的SSH(Struts+Spring+Hibernate,Struts、Spring、Hibernate)這3種開源框架技術(shù)的組合架構(gòu)組合形成技術(shù)框架,如圖4所示.
Struts的優(yōu)點在于實現(xiàn)了MVC(ModelViewController,模型-視圖-控制器)模式,將Web系統(tǒng)各組件進行了良好的分工合作;Spring的特性在于IoC(Inversion of Control,控制反轉(zhuǎn))機制;Hibernate的長處在于數(shù)據(jù)持久化.將三者集成應(yīng)用的平臺將具有良好的可擴展架構(gòu).
在前端系統(tǒng)中將Struts中的Action交由Spring容器來管理,將數(shù)據(jù)邏輯層的數(shù)據(jù)操作Bean交由Spring容器來管理,而不必再在Action中聲明業(yè)務(wù)邏輯操作的組件.
5.3 ESB總線架構(gòu)
ESB總線(服務(wù)構(gòu)件裝配與復雜業(yè)務(wù)流程處理系統(tǒng))的技術(shù)架構(gòu)如圖5所示.
中間件系統(tǒng)、作業(yè)提交與監(jiān)控系統(tǒng)、計算資源管控系統(tǒng)、集群端系統(tǒng)都通過系統(tǒng)接口以可插拔的方式掛接在ESB總線上,它們主要通過Web Service進行交互式處理,有同步和異步兩種數(shù)據(jù)交換方式,通信采用XML報文,并支持大尺寸XML報文的傳送.
各種系統(tǒng)接入ESB總線后,在SOA集成層面上,采用開源的Tuscany作為SOA集成系統(tǒng),完成協(xié)議解藕功能,將異種構(gòu)件通過SCA(Service Component Architecture,服務(wù)組件架構(gòu))裝配成統(tǒng)一的Web Service構(gòu)件,再根據(jù)XML報文中指出的目標系統(tǒng)、結(jié)合業(yè)務(wù)的需求將報文分發(fā)到其它系統(tǒng),也可在ESB總線上作出一些業(yè)務(wù)處理,如日志記錄、報文加解密、數(shù)據(jù)檢驗等,在處理完之后再行分發(fā).
ESB總線還具有總線管理模塊,支持對業(yè)務(wù)報文的定義、源和目標系統(tǒng)的配置、處理流程的配置等功能;總線監(jiān)控模塊可監(jiān)控到總線的所有報文處理和構(gòu)件調(diào)用的情況;報表與數(shù)據(jù)查詢可以報表的方式查詢到業(yè)務(wù)處理的情況,為各種作業(yè)、計費、運維管理提供可視化界面.
5.4 中間件系統(tǒng)架構(gòu)
中間件系統(tǒng)的架構(gòu)如圖6所示.中間件系統(tǒng)一方面要對ESB總線提供應(yīng)用系統(tǒng)接口,接口的形成可雙方商定,但通過ESB總線進一步的協(xié)議解藕和封裝均會成為Web Service.
中間件系統(tǒng)對Windows集群和Linux集群(“天河1號”超級計算機)主要是要構(gòu)建兩條傳輸通道,一為指令傳輸通道,將可執(zhí)行的指令傳送,再取回中間和最終結(jié)果;二是文件傳輸通道,文件主要是有限元計算的模型文件、腳本文件、計算結(jié)果文件、批處理腳本文件等,需要構(gòu)建基于FTP的上傳和下載通道,并支持大型文件的處理;傳送指令和文件的任務(wù)是通過Spring構(gòu)造的調(diào)度器在時間片觸發(fā)的基礎(chǔ)上來執(zhí)行任務(wù)的,任務(wù)隊列通過Hibernate持久化在平臺數(shù)據(jù)庫中.
5.5 Linux集群端調(diào)度與資源管理系統(tǒng)
“天河1號”超級計算機使用的調(diào)度軟件是在開源slurm基礎(chǔ)上進行改進的,在“超算CAE平臺”中要做的改進主要是以下2點:
1)針對slurm的改進,比如讓其可以管控到核一級的計算資源,slurm與FLEXlm的集成.
2)構(gòu)建License管理器.根據(jù)各種CAE的接口情況將它們的License集中管理起來.
6 研發(fā)進展與應(yīng)用情況
依據(jù)前文所述的“超算CAE平臺”體系架構(gòu),已經(jīng)成功地基于“天河1號”研發(fā)出了該平臺,形成了第1個整體原型,前端系統(tǒng)的操作界面如圖7所示.運用這個平臺已經(jīng)進行了火星探測氣囊的仿真并行計算,有限元模型如圖8所示.
7 結(jié) 語
“超算CAE平臺”的建立,將有助于整合國內(nèi)外工業(yè)設(shè)計技術(shù)資源,促進設(shè)備及技術(shù)資源開發(fā)共享,提升一些大型企業(yè)在國家重大工程建設(shè)及重大裝備中的自主創(chuàng)新能力.
“超算CAE平臺”的架構(gòu)設(shè)計采用5層架構(gòu),這可在以后的研發(fā)以及二次開發(fā)過程中保持良好的可擴展性和可維護性,用戶以Web方式使用超算中心的各種計算資源,從而支持云計算在工業(yè)領(lǐng)域CAE仿真應(yīng)用.
目前該平臺已研發(fā)出第1個原型,并還將繼續(xù)改進形成更為強大的系列軟件產(chǎn)品.
參考文獻
[1] 李波,周恩衛(wèi),沈斌.分布式計算環(huán)境中的協(xié)同分配任務(wù)調(diào)度仿真系統(tǒng)[J].計算機工程與科學,2012,34(12):82-86.
LI Bo, ZHOU Enwei, SHEN Bin. A simulating system for scheduling coAllocation tasks in distributed computing environments [J]. Computer Simulation,2012,34(12):82-86.(In Chinese)
[2] CHANG Y S, ZOU G J, CHANG C I. RARS: a resource aware replica selection and coallocation schema for mobile grid[J].International Journal of Ad Hoc and Ubiquitous Computing, 2010, 6(2):99-113.
[3] 朱小謙, 孟祥飛, 菅曉東, 等.“天河一號”大規(guī)模并行應(yīng)用程序測試[J].計算機科學,2012,39(3):265-267.
ZHU Xiaoqian, MENG Xiangfei, JIAN Xiaodong,et al. Performance test of massively parallel program on TH1 A [J]. Computer Science,2012,39(3):265-267. (In Chinese)
[4] 田榮.中國CAE軟件發(fā)展的新契機[J].計算機輔助工程,2011,20(1):141-143,147.
TIAN Rong. New opportunity for CAE software development in China [J]. Computer Aided Engineering,2011,20(1):141-143,147. (In Chinese)
[5] SUN Ninghui,KAHANE D,CHEN D. Highperformance computing in China: research and applications[J]. Int J High Performance Computing Applications,2010,24(4): 363-409.
[6] 丁峻宏, 李根國, 金先龍, 等.基于高性能計算的CAE技術(shù)在大型盾構(gòu)施工仿真中的應(yīng)用[J].計算機輔助工程,2011,20(1):163-167.
DING Junhong, LI Genguo, JIN Xianlong,et al. Application of CAE technology based on high performance computing in largescale shield construction process [J]. Computer Aided Engineering,2011,20(1):163-167. (In Chinese)
[7] KASPER T, MESCHKE G. On the influence of face pressure, grouting pressure and TBM design in soft ground tunneling[J].Tunneling & Underground Space Technol,2006,21(2):160-171.
[8] SCHMITT J, FRITSCH M,GATTERMANN J,et al. Numerical investigations to the influence of rearrangement of ground pressure for shield tunneling[C]//Proc ICOSSAR 2005.Rotterdam: Mill Press,2005:1317-1323.
[9]王波 章巧芳 彭偉.基于廣域網(wǎng)的CAE資源共享平臺的開發(fā)及應(yīng)用[J].機械設(shè)計與制造,2010(4):64-66.
WANG Bo, ZHANG Qiaofang, PENG Wei. The development and application of CAE resource sharing platform based on the WAN [J]. Machinery Design & Manufacture,2010(4):64-66.(In Chinese)
[10]劉德仿,李麗英,周臨震,等.基于ANSYS的建模及分析方法研究[J].制造業(yè)自動化,2011,33(10):140-142,149.
LIU Defang, LI Liying, ZHOU Linzhen,et al. Research of modeling and analysis method based on ANSYS[J]. Manufacturing Automation,2011,33(10):140-142,149. (In Chinese)
[11]鄧子云, 楊曉峰, 黃婧.基于ESB的SOABPM系統(tǒng)集成平臺關(guān)鍵技術(shù)研究與實現(xiàn)[J].科學技術(shù)與工程,2010,10(3):798-802.
DENG Ziyun, YANG Xiaofeng, HUANG Jing. The key technology research and implementation of SOABPM system integration platform bBased on ESB[J]. Science Technology and Engineering, 2010,10(3):798-802. (In Chinese)
[12]王輝, 邵貝恩.用SOA和BPM組合架構(gòu)實時企業(yè)[J].計算機應(yīng)用研究,2007,24(6):220-223.
WANG Hui, SHAO Beien. Using SOABPM combination framework to build realime enterprise[J]. Application Research of Computers,2007,24(6):220-223. (In Chinese)