引言
隨著網絡技術和分布式仿真技術發展和應用的普及,仿真平臺的構建和服務模式發生了巨大變革,并向以用戶為中心的方向傾斜。傳統的仿真平臺以計算機或網絡為中心,使得仿真系統的相關部署耗費了仿真人員很多精力,也不能按照仿真需求服務;“云計算”理念構建的云仿真平臺以用戶為中心,從用戶的仿真需求出發,關注如何滿足仿真任務所需的仿真服務,快捷地聚合網絡環境中已有的各類仿真資源,實現個性化需求驅動的仿真應用系統快速開發。
云仿真運行環境動態構建技術是實現云仿真平臺的關鍵技術之一,它能夠使仿真人員從繁雜的系統搭建工作中解脫出來,把更多精力放在與仿真業務本身相關的工作中,不僅能夠提高仿真系統搭建效率,減少仿真人員工作,還由于以仿真任務需求為依據而能夠保證仿真任務的高效穩定運行。
虛擬化技術的快速發展以及其對計算資源的細粒度劃分和動態分配特性,為研究云仿真運行環境動態構建技術提供了新的思路。目前,虛擬化技術在仿真系統的構建中得到初步應用,文獻中CERN的ATLAS實驗中基于VMware ESX構建的粒子探測器仿真系統便是利用虛擬化技術解決仿真實驗環境的構建問題;文獻介紹了基于虛擬化技術搭建用于僵尸網絡研究的綜合試驗臺仿真系統。但在這些應用中還是采用手動的方式構建出需要的虛擬計算環境,與仿真平臺的集成不夠緊密,沒有實現以計算需求為依據的自動化、動態的仿真環境構建過程。
1 云仿真運行環境的構建內容
如圖1所示,在云仿真平臺中,虛擬化技術解除了仿真模型、軟件和計算節點的禍合關系,虛擬機作為虛擬的計算資源取代原來的物理計算節點,仿真系統部署在虛擬計算環境中。虛擬計算節點上的仿真元素服務通過簡單對象訪問協議協議(simple object access protocol, SOAP)從邏輯上被組織成為一個仿真成員,與仿真相關數據通過運行時支撐環境(run time infrastructure, RTI)傳輸?梢,這些包含仿真軟件,仿真元素服務(調用RTI的仿真服務)和仿真模型的虛擬機就是云仿真平臺中仿真系統的運行環境。
圖1云仿真平臺中仿真系統的運行環境
可見,云仿真運行環境動態構建是仿真環境下不同類型仿真資源根據相互的依賴關系進行動態組合的過程.具體來說,就是將計算資源、軟件資源、平臺資源和模型資源根據仿真任務需求進行動態組合,提供給仿真系統一個具備可直接調用狀態的仿真模型的過程。
2 云仿真運行環境的動態構建模型
云仿真運行環境動態構建技術是以云仿真資源的統一描述規范和仿真資源的虛擬化封裝為基礎的,筆者基于文獻的研究成果將仿真資源部署到云仿真平臺中。并通過云仿真平臺統一管理和調度,在此基礎上給出云仿真運行環境的動態構建模型,如圖2所示。
圖2云仿真運行環境的動態構建模型
云仿真運行環境的動態構建模型,以虛擬化技術為基礎,核心組件為仿真資源注冊庫,仿真知識庫,仿真服務中心和虛擬機管理中心。其中,仿真資源注冊庫提供云仿真平臺中各類仿真資源的統一注冊中心,通過提供一個規范的注冊機制,支持云仿真資源基于語義的互操作,在元數據層次屏蔽資源之間信息交互的二義性;仿真知識庫存儲了以往仿真任務執行的動態構建配置信息和仿真模型的評價信息;仿真服務中心從仿真任務解析出仿真任務對相關仿真的需求,并根據需求信息在仿真資源注冊庫中查詢和匹配合適的仿真模型,形成構建方案;虛擬機管理中心依據仿真服務中心的調度請求構建虛擬計算環境(如基于Xen的計算節點),并盡可能保證多用戶請求的仿真運行環境的高效和穩定運行。
3 云仿真運行環境的動態構建方法
圖3說明了基于虛擬化技術實現的云仿真運行環境動態構建方法,所有的仿真資源(包括計算資源、軟件資源、平臺資源、模型資源)都被預先部署好并注冊到仿真資源注冊庫中,以往的仿真任務案例和各類資源使用的評價信息被存儲在仿真知識庫中。仿真服務中心在仿真資源注冊庫和仿真知識庫的支持下,自動解析用戶通過訪問設備提交的仿真任務.并將仿真任務分解為對計算資源、軟件資源、平臺資源和模型資源的需求。根據這些資源的需求信息,仿真服務中心能夠在仿真資源注冊庫中查找匹配到相應的仿真資源。其中計算資源、軟件資源和平臺資源由虛擬機管理中心根據具體需求進行動態配置和組合,形成符合需求的虛擬計算環境(其中包含了軟件資源和平臺資源);模型資源直接由仿真服務中心將模型實體動態部署到虛擬計算環境中。最后,仿真服務中心根據仿真任務中仿真模型的靜態和動態關系組合仿真模型并建立仿真模型與相關服務的連接。仿真運行過程中,系統評測采集計算節點狀態信息,并將評測信息人庫,提供對仿真模型需求的評價依據,同時在該虛擬節點的仿真解算結果實時返回到門戶中?梢姡品抡孢\行環境的動態構建是從仿真任務的實際需求出發,通過構建一個完整的虛擬的仿真運行環境,實現仿真任務的高效穩定運行。
4 云仿真運行環境的構建算法
物理計算節點的性能直接影響運行其上的虛擬機性能和模型運行性能,因此,如何確定物理計算節點、虛擬機和模型間的部署關系,成為研究云仿真運行環境動態構建技術的關鍵問題之一;谔摂M化技術的云仿真運行環境動態構建方法如圖3所示。
仿真運行環境的構建類似于以往仿真網格中的靜態任務調度,但又是有本質區別的。在云仿真平臺中,仿真運行環境的構建實際上是一個三層映射的過程,較仿真網格的資源調度問題更加復雜,如圖4所示。
圖3 基于虛擬化技術的云仿真運行環境動態構建方法
圖4 仿真運行環境構建的三層映射
另外,云仿真平臺是面向多用戶服務的,在仿真運行環境構建過程中必須考慮多用戶的問題,即當前用戶仿真運行環境的構建不能影響前面仿真用戶提交的仿真任務的執行,也不能將性能好的物理節點全部占用,要為其他仿真用戶提交的仿真任務預留計算資源。
在仿真運行環境構建的三層映射中,仿真模型部署到虛擬機中后,虛擬機本身具有了本身的靜態特性和仿真模型的動態特性,這樣在虛擬機部署到物理機的過程就可以看為一個更完整的仿真模型運行在物理機上,從而下一層的映射不需考慮上一層的映射。因此,可以分兩步來研究仿真運行環境的構建算法:仿真模型與虛擬機間的映射算法和虛擬機與物理機間的映射算法。
本文在算法實現中考慮多用戶的因素,為保證仿真任務執行環境的隔離性和數據安全性,假設仿真任務之間的虛擬機不重疊。
4. 1仿真模型與虛擬機間的映射算法
由于仿真模型間的同步性和協同性,必須保證提供的運行環境能夠滿足仿真模型的解算和通訊需求。仿真模型與虛擬機間的映射算法就是研究如何將仿真任務相關的仿真模型部署到不等數量的虛擬機中,并使得仿真任務的執行效率是最優的。
仿真模型在仿真運行中每推進一步,就進行一次完整的仿真解算和數據交互,這樣可以將研究范圍限定在一個仿真周期內。仿真模型在一個仿真周期內,影響仿真解算時間的因素主要為所在計算節點的GPU能力和內存大小,影響接收數據時間的因素主要為與交互仿真模型間的網絡帶寬和延遲時間。本文采用CPU、內存、網絡帶寬和延遲4個因素考慮仿真模型與虛擬機的映射關系和算法實現。
資源效用約束圖是研究資源映射關系的常用方法,本文基于資源效用約束圖來建立仿真模型與虛擬機的映射算法模型,進而實現映射算法。
為研究方便,分別將仿真模型的性能需求和虛擬機提供的性能配置折算為計算性能和通信性能,表示如下
文獻給出了采用遺傳算法來計算最優映射的方法,由于仿真模型對CPU性能、內存大小、網絡帶寬和網絡延遲時間的需求已經由仿真知識庫給出,那么采用遺傳算法可以快速地解算得到最優映射為d',從而得到虛擬機需要構建的數量,每個虛擬機的配置,以及仿真模型在虛擬機中的部署關系。采用遺傳算法計算最優映射解不是本文研究重點,此處不展開說明。
4. 2虛擬機與物理機間的映射算法
通過上節算法獲取的若干虛擬機鏡像可以看作“完整”的仿真資源,由于虛擬機僅僅是對物理計算資源的動態劃分,仿真模型使用的計算資源實質上是由物理機來提供的,所以這些資源的運行依賴于真實的物理計算機。虛擬機與物理機間的映射算法就是實現如何選取若干物理節點和如何來部署這此仿真資源,使得虛擬機能夠“兌現滿足其內部仿真模型性能需求的承諾”,保證其內部的仿真模型穩定運行。
虛擬機與物理機間的映射過程和仿真模型與虛擬機映射過程基本一致(將虛擬機看作上節的仿真模型,將物理機看作上節的虛擬機鏡像),只是上節待選虛擬機鏡像數目等于仿真模型數目,而待選物理機的數目要大于虛擬機的數目,但最后選擇的結果都是前者數目小于等于后者。研究中采用與上節類似的影響因素和建立映射方法。
但是獲取虛擬機與物理機的最優映射的約束條件與上節不同。在考慮多用戶的因素下,為了保證其他仿真用戶或仿真任務能夠獲得充分的物理計算資源,在虛擬機與物理機的映射算法中就必須考慮不能將過量的計算性能作為最終的選擇結果,即盡可能的與性能需求相符。那么,令δ為映射過程x的性能指標,x'為最優映射,則有在δ(x)∈ (0,1]的范圍里,值越大則為最優解,即
δ(x‘)=max (δ(x)),δ(x)∈ (0,1]
在實際應用中,云仿真平臺的計算資源是有限的,當遇到用戶使用高峰時,所有的計算資源將滿負荷運行。此時,為了保證新提交的仿真任務能夠順利執行,允許在δ(x)∈(0,∞)的范圍里取最小值,即
δ(x‘)=max (δ(x)),δ(x)∈ (1,∞)
5 應用示例
某型號航天器系統涉及機械、電子、軟件、控制與動力學等多學科領域。該系統主要包括6個子系統,分別是控制子系統、發動機子系統、燃氣子系統、多體動力學子系統、氣動子系統和可視化顯示子系統;谠品抡嫫脚_的某型號航天器協同仿真系統運行結構如圖5所示。
圖5 基于云仿真平臺的某型號航天器協同仿真系統運行結構
其中,采用10臺PC機(CPU:Core i7 8fi0 2.8 GHz,內存:4 GB,網卡:千兆/s)作為計算節點,并提供存儲服務器來存儲虛擬機模板和模型文件等實體文件,采用數據庫服務器存儲數據信息和知識信息,并提供資源注冊中心功能。文中所述的構建算法在云仿真平臺服務中心中實現。
平臺管理員預先部署虛擬機模板和相關應用軟件,知識庫中也存儲了以往的仿真案例?傮w仿真設計人員首先基于仿真平臺建立航天器系統頂層模型,各個分系統仿真設計人員根據頂層模型信息和模型標準規范建立相應分系統的仿真模型,并通過云仿真平臺部署和發布。所有模型能夠在航天器系統頂層模型定義的邏輯下,由云仿真平臺自動部署到相應位置,并根據模型運行需求動態快速構建相應的運行環境(如控制、燃氣、發動機分系統模型需要Matlab軟件,多體動力學分系統需要Adams軟件,氣動分系統需要CFX軟件,三維可視化分系統需要Catia軟件)。
這些軟件配置和性能需求信息一部分由分系統模型開發人員定義,一部分由仿真知識庫給出。環境構建完成后,云仿真平臺后反饋仿真用戶,并由仿真用戶根據仿真需求控制仿真運行。仿真運行結束后,云仿真平臺回收仿真資源:系統建模和運行界面如圖6所示。
通過上述實例,驗證了本文闡述的云仿真構建技術的可行性,并進一步說明了本技術與傳統仿真平臺的技術優勢,包括:
(1)仿真人員只需定義基本的模型運行需求,而無需關心與仿真業務無關的系統部署間題;
(2)仿真平臺能夠根據仿真任務動態調整模型對運行環境需求,保證仿真系統運行的高效穩定;
(3)在同一套硬件設施上可以快速切換不同的仿真應用,節省設備,提高仿真效率。
圖6 云仿真平臺建模、構建和運行的界面
6 結論
本文以實現仿真用戶通過云仿真平臺快速、高效、靈活地獲得符合其個性化需求的仿真服務為應用背景,結合云仿真平臺的仿真系統部署方式,基于虛擬化技術研究了云仿真運行環境動態構建技術和其中的關鍵算法。盡管該技術盡可能地按照仿真任務的需求來構建虛擬仿真環境,但這只是完成了仿真任務運行前得靜態配置。而仿真任務在運行過程中的計算需求和通信需求都是實時變化的,是難以在云仿真運行環境構建前能夠預測到的,這就要求云仿真平臺具有自主、動態、自適應的能力,因此云仿真的容錯遷移技術是下一步需要開展的研究工作。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。