張士存 王騰飛
(南車青島四方機車車輛股份有限公司信息技術部,山東 青島266111)
隨著科學技術的不斷發展,制造類、研究類企業對計算機數值計算的需求逐漸增加,越來越多的企業開始建立自己的企業級仿真計算中心。一般的企業在討論提高仿真計算中心的計算效率時,都會首先考慮通過擴展硬件和軟件種類來實現,經常會忽略對現有資源的優化,常常導致經過一段時間的擴展后,仿真計算中心的管理變得十分復雜,出現問題的頻率也日漸增加。對企業現有仿真計算中心的資源進行優化,不僅可以免除軟硬件資源擴展的龐大投入,還可以提高仿真計算效率,提升企業的核心競爭力。
下面將以某企業的仿真計算中心為例,介紹企業級仿真計算中心的主要優化方向和優化方法。
某公司于2009年采購了刀片計算集群,初步建成仿真計算中心。該中心共有32個計算節點,單節點8核CPU、24G內存,在仿真軟件并行計算許可不受限的前提下,可最多實現256核CPU的并行計算。為增強計算中心求解計算能力,該公司于2012年增購了刀片計算集群,新增8個計算節點,單節點16核CPU、64G內存,主要為流體仿真計算、碰撞仿真計算提供計算資源。
該公司現擁有 ANSYS、ABAQUS、HyperWorks、STARCCM+、LS-DYNA、VAONE、SYSWELD、Ansoft等主流仿真分析軟件,涵蓋了強度、動力學、流體、碰撞、噪聲、焊接、電磁等機車行業主要相關學科。其中部分仿真軟件由于需求量大已多次購買,具有多個不同版本的軟件許可證。
優化計算中心存儲設備的文件系統,提高計算中心的數據存儲效率;將先后采購的不同型號HP刀片計算集群進行整合,實現計算中心所有刀片集群的數據互通和資源融合。
基于現有資源調度系統進行功能擴展,增加作業調度系統管理的硬件數量和軟件種類,并保證對未來采購的仿真軟硬件資源進行擴展性管理。實現按角色、任務規模、仿真類型、等待時間等多種規則對仿真任務進行優先級排序,解決仿真資源搶占沖突問題;通過調度系統自動為計算任務分配求解計算節點,保證計算中心的負載均衡,避免單一節點的計算壓力過大。
對仿真軟件許可證、仿真計算節點的使用情況進行實時監控和圖形展現,能夠實時查看仿真軟硬件資源使用情況;根據各計算節點的硬件使用率對計算任務進行合理分配,減少計算節點的空閑數量和閑置時間,提高硬件使用效率和計算速度,縮短仿真計算周期。
實現仿真求解過程的遠程實時查看,可通過遠程控制計算節點等方式對求解過程進行實時干預,啟動、暫停、修改、恢復、結束仿真計算任務;借助虛擬化技術,使用日常辦公計算機遠程操控計算中心的幾何模型和仿真數據,對幾何模型進行簡化、網格劃分等前處理,對計算結果進行數據修正、仿真動畫編輯等后處理,提供高質量的遠程操作顯示畫面,減少數據上傳、下載的次數和時間;通過使用專用客戶端、文件服務器等方式實現幾何模型和仿真數據的上傳、下載,突破大文件上傳、下載瓶頸。
借鑒云計算技術提供遠程用戶服務的理念,整合當前的仿真計算基礎架構,利用Citrix虛擬桌面云技術提供仿真前、后處理服務,通過定制開發增加調度管理、統計分析等核心功能,形成一個功能完整的面向數值仿真應用的企業級仿真計算中心。
3.1.1 并行文件系統
并行文件系統是應用于多機環境的網絡文件系統,單個文件的數據采用分條等形式存放于不同的I/O節點之上,支持多機多個進程的并發存取,同時支持元數據和數據的分布存放,并提供統一的目錄空間。在并行文件系統環境下,所有客戶端可以在同一時間并發讀寫同一個文件。
利用并行文件系統,提供高性能仿真數據存儲服務,實現Linux計算環境、Windows計算環境、三維虛擬桌面云等不同平臺間文件系統命名的統一和存儲空間的共用。
3.1.2 計算云
原仿真計算中心共有31個計算節點、1個管理節點、1臺I/O服務器,新增計算中心設備共有8個高性能計算節點、1臺管理服務器、2臺I/O服務器。針對現有的計算硬件資源,采用以下方案進行整合:
(1)搭建Windows/Linux混合架構計算集群,基本覆蓋現有的所有CAE計算軟件。原計算中心一個刀片機箱的16個計算節點由Linux系統變更為 Windows系統,提供Windows環境的并行計算。原計算中心I/O服務器作為Windows計算集群的管理節點。
(2)原計算中心另一個刀片機箱的16個刀片服務器全部使用Linux系統,與新增的8個高性能計算節點連通,組成Linux計算集群,提供Linux環境的并行計算。新增計算中心設備中的管理服務器更改為Linux計算集群的管理節點。
(3)新增計算中心設備中的2臺I/O服務器部署并行文件系統,互為冗余備份,所有計算節點安裝部署并行文件系統的客戶端。
(4)制定計算中心硬件擴展集成規范,后期計算中心新增硬件設備的安裝部署,均按該規范與既有計算中心設備進行集成。
3.1.3 存儲云
現有的仿真計算中心數據存儲系統為32T光纖磁盤陣列存儲。通過在I/O服務器上部署并行文件系統,可以將現有的光纖磁盤陣列升級為存儲云,為刀片服務器、三維虛擬桌面云同時提供數據存儲服務,在提高數據交互速率的同時,實現計算云和應用云的仿真數據共享。
3.2.1 仿真許可證調度
利用仿真資源調度系統的許可證狀態解析技術,結合現有仿真許可證服務器分布情況,研究仿真資源調度系統的功能擴展,從而實現數值仿真求解過程與軟件許可證資源密切聯動,保障計算平臺服務的穩定性。提供在線應用集成功能,方便管理員快速簡便地集成仿真計算軟件,應用集成支持FlexLM、LMX、LSTC等主流License管理器。
3.2.2 仿真硬件資源調度
利用仿真資源調度系統的硬件資源調度分配技術,對現有仿真硬件資源進行集中調度分配,實現仿真硬件資源與仿真許可證資源的捆綁式調度,并根據仿真硬件資源剩余情況調整仿真任務排隊優先級,計算中心能滿足軟硬件資源請求的仿真任務將優先進行計算,以保證仿真硬件資源的充分利用。
3.2.3 仿真處理命令封裝
將各個仿真軟件的常用求解命令集成封裝于服務式門戶平臺,用戶僅操作鼠標即可發起、控制仿真求解任務,仿真計算底層技術將實現透明化,降低Linux仿真計算環境的使用門檻,大幅提升計算平臺應用便捷性。
提供多種方式配置軟件計算命令行參數,包括輸入文件、核數、求解選項、下拉選擇框等等,管理員可根據軟件計算命令行參數要求進行配置,系統用戶在提交頁面進行作業參數的設定,系統根據用戶設定和軟件配置,自動提交作業并進行調度。用戶無需關注繁瑣的求解計算命令,而管理員無需關注復雜的Shell腳本代碼。
3.3.1 基于Citrix虛擬桌面云的仿真前、后處理可視化
利用Citrix虛擬桌面云技術,在具有高性能圖卡的服務器上搭建若干具有較高圖形處理能力的 Win7/Win2008虛擬桌面,作為應用云的主要組成部分,在虛擬桌面部署仿真許可證,提供仿真前、后處理服務。仿真工程師只需在PC客戶端使用IE瀏覽器,就可以方便地遠程連接仿真應用云進行仿真先、后處理,本地無需安裝任何仿真分析軟件。
3.3.2 計算求解過程遠程可視化
利用VNC的遠程控制技術,結合Linux的遠程連接特點,在Linux系統上安裝部署VNC遠程控制軟件,實現用戶遠程查看和控制仿真計算過程的功能。對仿真任務的求解過程進行實時干預,可啟動、暫停、修改、恢復、結束仿真計算任務。同時,禁止用戶對Linux系統進行有潛在安全風險的操作,保證Linux計算環境的安全穩定。
為保證仿真計算中心的高度可用性,盡早發現和避免硬件故障、軟件錯誤、調度失效等潛在風險,計算中心應具備集中監控所有計算資源的功能。主要監控功能分為以下幾部分:
(1)計算節點的CPU、內存、網絡I/O實時監控。通過Web瀏覽器就可實時監控計算中心各個計算節點運行狀態,如:計算節點狀態(脫機、聯機、不可到達)、CPU核數、CPU主頻、CPU利用率、內存、可用內存、當前運行的軟件。提供計算節點在線維護模塊,管理員可在Web瀏覽器上進行計算節點的上線/下線操作。
(2)數值仿真求解應用的運行、排隊等隊列實時監控。對已提交仿真任務的狀態進行實時監控,可查看處于運行、排隊、停止等狀態的仿真計算任務。
(3)虛擬桌面云的CPU、內存、網絡I/O實時監控。通過Web瀏覽器就可實時監控各虛擬桌面的運行狀態,如:CPU核數、CPU主頻、CPU利用率、內存、可用內存、使用用戶信息。
(4)存儲云的磁盤占用情況實時監控。利用并行文件系統,對存儲云的磁盤使用情況進行實時監控,以圖形、報表等形式顯示磁盤的運行狀態和空間占用情況。
(5)軟件許可證占用情況實時監控。在應用云上部署軟件許可證監控應用,對所有仿真軟件許可證的使用情況進行實時監控,并以列表形式加以展示,包括許可證名稱、總數量、已用數量等;針對正在使用的許可證,可以查看該許可證所對應的仿真任務名稱、用戶名稱、開始時間等。
隨著高性能計算相關技術的發展,仿真計算中心的優化、擴展與升級逐漸呈現出多樣化、復雜化的趨勢。只有針對企業級仿真計算中心的特點,定期總結仿真計算中心使用經驗,不斷對現有計算資源進行調優,才能使仿真計算中心發揮出最佳性能。
[1]顧冠群,陶軍,吳家皋.高性能計算機網絡研究進展[M].南京:東南大學出版社,2006
[2]Kai Hwang,Geoffrey C.Fox,Jack J.Dongarra.云計算與分布式系統:從并行處理到物聯網[M].武永衛,秦中元,李振宇,等,譯.北京:機械工業出版社,2013
[3]徐享忠,于永濤,劉永紅.系統仿真[M].第2版.北京:國防工業出版社,2012
[4]王鵬,呂爽,聶治,等.并行計算應用及實戰[M].北京:機械工業出版社,2009