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