專利名稱::基于仿真網(wǎng)格的仿真場景自動部署方法
技術領域:
:本發(fā)明屬于計算機系統(tǒng)結構領域的分布式計算技術,具體涉及基于仿真網(wǎng)格的仿真場景自動部署方法,它適用于基于網(wǎng)格的分布式仿真。
背景技術:
:計算機仿真是指用計算機程序來模擬現(xiàn)實世界或虛擬世界的一門綜合性技術。高層體系結構(HighLevelArchitecture,HLA)是美國國防部1995年發(fā)布的建模與仿真技術框架,該框架已經(jīng)成為大規(guī)模復雜分布式仿真的一種標準支撐框架,它能提供將大規(guī)模的構造仿真、虛擬仿真、實況仿真集成在一起的綜合環(huán)境,實現(xiàn)各類仿真系統(tǒng)間的互操作、動態(tài)管理、一點對多點的通訊、系統(tǒng)和部件的重用以及建立不同層次和粒度的對象模型。然而隨著HLA分布仿真應用的進一步深化,大規(guī)模、細粒度、長時間的分布仿真對系統(tǒng)的計算能力、可靠性、容錯性的要求越來越高。單純基于HLA架構的仿真系統(tǒng)存在計算資源利用率低下、容錯能力不足的問題,并缺乏動態(tài)負載平衡能力、海量數(shù)據(jù)難以存儲和有效處理、仿真場景部署繁瑣、仿真應用間協(xié)作和互操作機制缺乏等問題。這些問題已成為制約仿真準確、大規(guī)模、高效地完成的瓶頸,成為仿真向"網(wǎng)絡化、虛擬化、智能化、協(xié)同化、普適化"為特征的現(xiàn)代化方向發(fā)展的障礙。因此需要一種功能更強大的平臺,為仿真系統(tǒng)提供計算資源、信息共享等方面的支持。由于網(wǎng)格能將分布在不同地理位置的資源集成起來,為各種應用提供一種充分共享、無縫融合的資源使用環(huán)境。因此,基于網(wǎng)格的分布式仿真成為解決以上問題的主要途徑之一。國內(nèi)外已開展了基于網(wǎng)格的分布仿真的研究。但由于仿真資源的分布性和仿真應用的特點,使得仿真網(wǎng)格下的仿真應用面臨著一些問題首先,由于仿真資源的地理分布性以及分布式仿真應用的特性,仿真場景部署如果靠人工進行將是一件繁瑣、耗時的事情。其次,仿真應用由很多聯(lián)邦成員協(xié)作實現(xiàn),如何確保眾多聯(lián)邦成員部署到仿真資源上,并且不會造成仿真資源負載不均衡或資源崩潰,從而不影響仿真應用的運行。最后,為達到優(yōu)化的仿真結果,仿真規(guī)??赡苄枰獎討B(tài)伸縮,如何支持仿真規(guī)模的動態(tài)伸縮。這都是網(wǎng)格環(huán)境下仿真需要解決的問題,需要仿真網(wǎng)格提供一種仿真場景自動部署方法。
發(fā)明內(nèi)容本發(fā)明的目的是針對目前仿真網(wǎng)格研究領域的不足,提供了一種基于仿真網(wǎng)格的仿真場景自動部署方法,該方法可以提高仿真過程的自動化程度、仿真場景的動態(tài)可伸縮性和仿真資源利用率,具有省時高效的特點。本發(fā)明提供的基于仿真網(wǎng)格的仿真場景自動部署方法,其步驟包括(1)輸入包含有場景名稱、仿真類型和附加說明等的描述信息,建立新的仿真場景;.(2)輸入聯(lián)邦描述信息,包括聯(lián)邦名稱、聯(lián)邦成員數(shù)量和聯(lián)邦說明信息;(3)上傳聯(lián)邦執(zhí)行數(shù)據(jù)文件,解析出聯(lián)邦中的對象類與交互類信息,各聯(lián)邦成員管理其對應的發(fā)布/訂閱的對象類及交互類信息,得出聯(lián)邦描述信息,寫入數(shù)據(jù)庫中;(4)設定對象類與交互類數(shù)量、對象類的基礎數(shù)據(jù)大小、對象類以及交互類的數(shù)據(jù)大??;設置管理聯(lián)邦成員、聯(lián)邦成員CPU負載和成員關聯(lián)文件路徑;(5)判斷聯(lián)邦所有聯(lián)邦成員信息是否設置完畢,如果是,進入步驟(6),否則轉(zhuǎn)入步驟(3);(6)判斷所有聯(lián)邦信息是否設置完畢,如果是,進入步驟(7),否則轉(zhuǎn)入步驟(2);(7)根據(jù)FED文件判斷是否有橋接聯(lián)邦成員,如果有,設定橋接聯(lián)邦成員對象類與交互類數(shù)量、對象類以及交互類的數(shù)據(jù)大小、CPU負載和關聯(lián)文件路徑;否則轉(zhuǎn)入步驟(8);(8)將上述各步驟得到的所有聯(lián)邦場景描述信息及橋接聯(lián)邦場景描述信息匯總生成一個總的場景描述文件;(9)從場景描述中提取聯(lián)邦運行時對CPU、內(nèi)存的需求,通過計算交互類數(shù)量得出網(wǎng)絡帶寬的需求;(10)通過仿真網(wǎng)格資源收集工具獲得仿真網(wǎng)格空閑資源,將檢測空閑資源添加到信息表,定時更新資源信息表;(11)將資源匹配請求加入請求隊列,從隊首開始逐個取出請求并以聯(lián)邦為單位資源,與步驟(10)中的資源信息表中的資源進行匹配;(12)資源匹配請求與空閑資源信息相匹配,得出資源匹配方案,將要部署的仿真場景與相應資源建立成為一個自動部署對照表,得到仿真場景自動部署方案;(13)根據(jù)仿真場景自動部署方案進行場景部署。本發(fā)明方法首先提取仿真場景中各個應用對于仿真資源的需求;再通過網(wǎng)格資源監(jiān)控獲取整個仿真網(wǎng)格的資源狀況;根據(jù)資源信息,為仿真場景選擇合適的仿真資源,實現(xiàn)仿真網(wǎng)格的仿真場景自動部署。本發(fā)明通過分析聯(lián)邦執(zhí)行數(shù)據(jù)文件中各對象與交互的基礎信息、聯(lián)邦中各聯(lián)邦成員發(fā)布/訂閱對象類和交互類的信息,建立一個整體資源描述,作為匹配產(chǎn)生最優(yōu)部署方案的依據(jù)。具體而言,本發(fā)明具有以下效果及優(yōu)點-1)提高仿真成功率及仿真過程自動化程度由于仿真網(wǎng)格平臺對整個網(wǎng)格環(huán)境下得各種資源進行了監(jiān)控,得出了整體資源使用情況的全局視圖,結合具體的仿真應用對資源的需求情況,可以選擇最合適的節(jié)點部署仿真場景,這樣能有效地避免一個節(jié)點負載過重情況的發(fā)生,能更好保證仿真順利進行。采用仿真場景自動部署,可減輕仿真場景部署的工作量,提高仿真過程自動化程度。2)提高仿真資源利用率通過網(wǎng)格監(jiān)控獲得全局的資源使用視圖,能及時發(fā)現(xiàn)節(jié)點的狀態(tài)。當新的仿真場景需要部署時,將會優(yōu)先選擇空閑資源進行部署,這樣起到了負載均衡和提高系統(tǒng)資源利用率的作用。3)省時高效由于仿真資源分散,如果人工進行仿真場景部署,特別是仿真規(guī)模大的情況下將是一件繁瑣、耗時的事情。通過本發(fā)明方法--仿真場景自動部署,可簡化仿真準備過程中的工作量。4)提高仿真場景的動態(tài)可伸縮性本發(fā)明方法可根據(jù)仿真場景的動態(tài)變化,動態(tài)部署或卸載仿真應用的某一部件,從而支持仿真場景的動態(tài)可伸縮。圖1為仿真場景描述總體結構圖;圖2為本發(fā)明仿真場景自動部署方法的總體流程圖;圖3為仿真資源信息表更新流程圖;圖4為基于反饋的資源匹配算法流程圖。具體實施方式基于仿真網(wǎng)格的仿真場景自動部署方法對硬件環(huán)境沒有特殊要求,軟件環(huán)境為網(wǎng)格平臺。其中最重要的是通過解析聯(lián)邦FED(FederationExecutionData)文件得出準確的聯(lián)邦場景描述,以及網(wǎng)格可用資源信息的更新。場景描述及資源需求獲取的基本原理是在仿真應用中,各聯(lián)邦以RTI(Run-timeInfrastructure)為中心,各聯(lián)邦所屬的聯(lián)邦成員通過RTI(Run-timeInfrastructure)進行交互,聯(lián)邦之間通過橋接成員進行信息轉(zhuǎn)換完成互連。聯(lián)邦成員遵循對應聯(lián)邦FOM(FederationObjectModel)定義的對象與交互格式進行數(shù)據(jù)共享。一個完整的仿真場景描述應包括(1)聯(lián)邦的執(zhí)行數(shù)據(jù)信息,即FED(FederationExecutionData)文件所包含的信息..對象類、交互類及其屬性、參數(shù)和相關的路徑信息、對象類屬性數(shù)據(jù)格式信息、交互類參數(shù)數(shù)據(jù)格式信息以及數(shù)據(jù)編碼方式;(2)聯(lián)邦RTI(Run-timeInfrastructure)服務器信息,包括RTI服務器地址、'RTI(Run-timeInfrastructure)版本《言息;(3)聯(lián)邦中每個聯(lián)邦成員的詳細設計信息,包括聯(lián)邦成員發(fā)布/訂閱的對象類及其屬性集、發(fā)布/訂閱的交互類及其參數(shù)集、對象類及交互類的實例數(shù)目、聯(lián)邦成員的時間同步機制與更新頻率;(4)多聯(lián)邦之間的橋接信息,包括橋接雙方的聯(lián)邦信息及各聯(lián)邦對應的橋接成員信息。場景描述須包括以上四類信息,才能完整地描述整個聯(lián)邦仿真場景。此外還包括內(nèi)存、CPU及網(wǎng)絡帶寬需求。內(nèi)存和CPU需求可由用戶設置,網(wǎng)絡帶寬需求采用解析FED(FederationExecutionData)文件中交互類數(shù)量來獲得??捎觅Y源信息表更新的基本原理仿真資源匹配器在匹配資源時讀取資源列表信息,列表中存放最近訪問過的服務信息,如資源名、資源最近響應時間LRT(LastResponseTime)、資源平均響應時間ART(AverageResponseTime)和上一次提交任務時間信息。這些信息是仿真資源匹配的依據(jù),由此仿真資源匹配準確地決策將場景部署到哪些節(jié)點資源上。通過監(jiān)控獲得新的資源信息會由于資源的狀態(tài)的變化而改變,因此仿真資源匹配需要及時更新資源表中的資源信息,使其能夠反映仿真資源的最新變化。資源表中的信息更新包括兩個方面一方面是資源表中已有資源信息的更新,這部分通常根據(jù)最近一次資源執(zhí)行任務的情況來完成更新;另一方面是將新的性能更優(yōu)的仿真資源信息加入到資源列表中或根據(jù)信息服務中的信息更新資源列表中的信息。這部分通常需要與資源列表中已有資源的性能進行比較后才能確定新資源能否加入資源列表中。為了防止用過時的信息更新資源列表,每次更新都需要記載最近一次更新資源時間RUT(RecentUpdateTime)。更新后的資源列表中的資源需要根據(jù)性能及最近訪問時間進行排序,以便仿真資源匹配能夠有效地選取資源。如果資源列表空間不夠,需要刪除列表中那些在一定時間內(nèi)未使用的資源信息。下面結合附圖對本發(fā)明作進一步詳細的說明。場景描述實現(xiàn)了對聯(lián)邦仿真場景的完整描述,其結構如圖1所示,主要包括如下幾個方面1)聯(lián)邦管理管理仿真聯(lián)邦、聯(lián)邦執(zhí)行數(shù)據(jù)文件FED(FederationExecutionData),通過解析該文件獲得對象類與交互類數(shù)量;2)聯(lián)邦成員管理管理聯(lián)邦成員,根據(jù)解析聯(lián)邦執(zhí)行數(shù)據(jù)文件結果為各聯(lián)邦制定資源需求參數(shù)CPU、內(nèi)存、網(wǎng)絡貸款需求及成員執(zhí)行數(shù)量;3)聯(lián)邦成員發(fā)布/訂閱管理:管理聯(lián)邦中各聯(lián)邦成員對象類/交互類的發(fā)布/訂閱關系;4)屬性管理對聯(lián)邦對象類的發(fā)布或訂閱的屬性集進行管理;5)橋接關系管理管理多個聯(lián)邦中的橋接聯(lián)邦成員屬性,以及多個聯(lián)邦間的橋接關系;6)基礎信息設置設置聯(lián)邦中的對象類/交互類的數(shù)據(jù)量大小信息,且設置對象類的屬性數(shù)據(jù)量大小。本發(fā)明仿真場景自動部署方法如圖2所示,其中,步驟(8)生成場景描述文件是在場景描述完畢后,生成一個多聯(lián)邦仿真場景的描述文件simconfig.xml,該描述文件中包括仿真場景所有須描述的信息和各聯(lián)邦對資源的需求信息。下面舉例說明步驟(10)和(11)的具體實現(xiàn)過程。如圖3所示,步驟(10)按照下述步驟定時更新網(wǎng)格可用資源信息表:(Al)設置計時器中斷時間間隔t,默認值設置為60秒,并開啟計時器;(A2)計時器計時,計時器啟動倒計時;(A3)判斷計時器是否到時,是則跳轉(zhuǎn)到步驟(A4),否則跳轉(zhuǎn)到步驟(A2);(A4)判斷資源信息表是否有剩余空間,是則跳轉(zhuǎn)到步驟(A2),否則跳轉(zhuǎn)到步驟(A5);(A5)獲得網(wǎng)格空閑資源,用檢測到的新資源更新資源信息表中的資源記錄信息;(A6)讀取資源信息表中未檢測的資源記錄信息;(A7)判斷該資源信息所記錄資源是否在2t時間間隔內(nèi)未使用過,是則刪除該資源;(A8)判斷資源信息表中是否還有未檢測的資源記錄,是則跳轉(zhuǎn)到步驟(A6),否則跳轉(zhuǎn)到步驟(A9);(A9)判斷仿真資源匹配是否完成,是則結束資源信息表定時檢測操作,否則跳轉(zhuǎn)到步驟(A2)。如圖4所示,步驟(11)按照下述步驟進行資源匹配(Bl)匹配請求加入請求隊列當有資源匹配請求到來時,將請求加入到資源匹配隊列;(B2)取隊首資源匹配請求,獲得該請求聯(lián)邦執(zhí)行需要的資源需求;(B3)在資源表中選取與需求相匹配的資源集合,構成一個候選資源集合R;(B4)判斷該候選資源集合R是否為空,是空則跳轉(zhuǎn)至步驟(B5),否則跳轉(zhuǎn)至步驟(B6);(B5)更新資源信息表,新資源信息添加到資源信息表中,轉(zhuǎn)到步驟(B3》(B6)取出候選資源集R排序表隊首的資源;(B7)設置資源信息表中資源參數(shù),將己經(jīng)使用資源項參數(shù)值設為真,獲得選定資源使用權;(B8)生成該資源請求的資源匹配方案,并記錄該資源匹配時間;(B9)請求隊列是否還有未處理資源請求,有則轉(zhuǎn)到(B2),否則轉(zhuǎn)到(B10);(B10)判斷資源匹配是否完成,完成則生成總體資源匹配方案,操作結束;否則將資源匹配請求加入請求隊列,跳轉(zhuǎn)到(B9)。實例-為了驗證基于仿真網(wǎng)格的仿真場景自動部署方法的有效性,在分布式仿真網(wǎng)格支撐平臺GDSP(GridbasedDistributedSimulationPlatform)上實現(xiàn)AGSP(Auto-deploymentofGrid-basedSimulationPlatform),并同無AGSP的GDSP進行比較。本實驗共采用了10臺計算機,其性能指標如表1,其中2臺分別作為資源匹配服務器和RTI(Run-timeInfrastructure)服務器,剩余8臺作為仿真網(wǎng)格資源的提供者。表1實驗機器性能列表<table>tableseeoriginaldocumentpage12</column></row><table>為了全面測試性能,共進行了四次實驗。四次實驗中場景部署請求數(shù)分別為20,40,80和160。測試結果如表2所示,其中性能提升比的計算公式為T,。與GDSP默認的仿真網(wǎng)格場景部署相比,采用AGSP的仿真場景自動部署方法性能更高,并且隨著提交自動部署系統(tǒng)進行場景部署的請求數(shù)的增加而性能提高更大。表2部署時間比較<table>tableseeoriginaldocumentpage12</column></row><table>權利要求1、一種基于仿真網(wǎng)格的仿真場景自動部署方法,其步驟包括(1)輸入包含有場景名稱、仿真類型和附加說明的描述信息,建立新的仿真場景;(2)輸入聯(lián)邦描述信息,包括聯(lián)邦名稱、聯(lián)邦成員數(shù)量和聯(lián)邦說明信息;(3)上傳聯(lián)邦執(zhí)行數(shù)據(jù)文件,解析出聯(lián)邦中的對象類與交互類信息,各聯(lián)邦成員管理其對應的發(fā)布/訂閱的對象類及交互類的信息,得出聯(lián)邦描述信息,寫入數(shù)據(jù)庫中;(4)設定對象類與交互類數(shù)量、對象類的基礎數(shù)據(jù)大小、對象類以及交互類的數(shù)據(jù)大??;設置管理聯(lián)邦成員、聯(lián)邦成員CPU負載和成員關聯(lián)文件路徑;(5)判斷聯(lián)邦所有聯(lián)邦成員信息是否設置完畢,如果是,進入步驟(6),否則轉(zhuǎn)入步驟(3);(6)判斷所有聯(lián)邦信息是否設置完畢,如果是,進入步驟(7),否則轉(zhuǎn)入步驟(2);(7)根據(jù)FED文件判斷是否有橋接聯(lián)邦成員,如果有,設定橋接聯(lián)邦成員對象類與交互類數(shù)量、對象類以及交互類的數(shù)據(jù)大小、CPU負載和關聯(lián)文件路徑;否則轉(zhuǎn)入步驟(8);(8)將上述各步驟得到的所有聯(lián)邦場景描述信息及橋接聯(lián)邦場景描述信息匯總生成一個總的場景描述文件;(9)從場景描述中提取聯(lián)邦運行時對CPU、內(nèi)存的需求,通過計算交互類數(shù)量得出網(wǎng)絡帶寬的需求;(10)通過仿真網(wǎng)格資源收集工具獲得仿真網(wǎng)格空閑資源,將檢測空閑資源添加到信息表,定時更新資源信息表;(11)將資源匹配請求加入請求隊列,從隊首開始逐個取出請求并以聯(lián)邦為單位資源,與步驟(10)中的資源信息表中的資源進行匹配;(12)資源匹配請求與空閑資源信息相匹配,得出資源匹配方案,將要部署的仿真場景與相應資源建立成為一個自動部署對照表,得到仿真場景自動部署方案;(13)根據(jù)仿真場景自動部署方案進行場景部署。2、根據(jù)權利要求1所述的仿真場景自動部署方法,其特征在于步驟(10)按照下述步驟定時更新網(wǎng)格可用資源信息表:(Al)設置計時器中斷時間間隔t,并開啟計時器;(A2)計時器計時,計時器啟動倒計時;(A3)判斷計時器是否到時,是則跳轉(zhuǎn)到步驟(A4),否則跳轉(zhuǎn)到步驟(A2);(A4)判斷資源信息表是否有剩余空間,是則跳轉(zhuǎn)到步驟(A2),否則跳轉(zhuǎn)到步驟(A5);(A5)獲得網(wǎng)格空閑資源,用檢測到的新資源更新資源信息表中的資源記錄信息;(A6)讀取資源信息表中未檢測的資源記錄信息;(A7)判斷該資源信息所記錄資源是否在2t時間間隔內(nèi)未使用過,是則刪除該資源;(A8)判斷資源信息表中是否還有未檢測的資源記錄,是則跳轉(zhuǎn)到步驟(A6),否則跳轉(zhuǎn)到步驟(A9);(A9)判斷仿真資源匹配是否完成,是則結束資源信息表定時檢測操作,否則跳轉(zhuǎn)到步驟(A2)。3、根據(jù)權利要求1或2所述的仿真場景自動部署方法,其特征在于步驟(11)按照下述步驟進行資源匹配-(Bl)匹配請求加入請求隊列當有資源匹配請求到來時,將請求加入到資源匹配隊列;(B2)取隊首資源匹配請求,獲得該請求聯(lián)邦執(zhí)行需要的資源需求;(B3)在資源表中選取與需求相匹配的資源集合,構成一個候選資源集合R;(B4)判斷該候選資源集合R是否為空,是空則跳轉(zhuǎn)至步驟(B5),否則跳轉(zhuǎn)至步驟(B6);(B5)更新資源信息表,新資源信息添加到資源信息表中,轉(zhuǎn)到步驟(B3);(B6)取出候選資源集R排序表隊首的資源;(B7)設置資源信息表中資源參數(shù),將已經(jīng)使用資源項參數(shù)值設為真,獲得選定資源使用權;(B8)生成該資源請求的資源匹配方案,并記錄該資源匹配時間;(B9)請求隊列是否還有未處理資源請求,有則轉(zhuǎn)到(B2),否則轉(zhuǎn)到(B10);(B10)判斷資源匹配是否完成,完成則生成總體資源匹配方案,操作結束;否則將資源匹配請求加入請求隊列,跳轉(zhuǎn)到(B9)。全文摘要本發(fā)明公開了一種基于仿真網(wǎng)格的仿真場景自動部署方法,步驟為①描述場景,輸入聯(lián)邦、聯(lián)邦成員信息,生成場景描述文件;②通過仿真網(wǎng)格資源收集工具獲得仿真網(wǎng)格空閑資源,將檢測空閑資源添加到信息表,定時更新資源信息表;③將資源匹配請求都加入請求隊列,從隊首開始逐個取出請求并以聯(lián)邦為單位資源,與資源信息表中的資源進行匹配,生成部署方案;④按照部署方案進行場景自動部署。該方法能夠詳盡描述仿真場景,并支持采用橋接聯(lián)邦成員構建的聯(lián)邦仿真場景。該方法能夠從整體上宏觀的為仿真場景中的應用選擇合適的仿真資源進行仿真,減少仿真場景部署時間、提高仿真資源的利用率并提高仿真運行效率。文檔編號G06F9/455GK101226484SQ200710168679公開日2008年7月23日申請日期2007年12月7日優(yōu)先權日2007年12月7日發(fā)明者曹文治,江來源,袁平鵬,夏謝,海金,云魯申請人:華中科技大學