專利名稱:一種網(wǎng)格模擬方法及其模擬器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于網(wǎng)格系統(tǒng)及其模擬技術(shù)領(lǐng)域,具體涉及一種網(wǎng)格模擬方法及其模擬器,它適用于網(wǎng)格架構(gòu)、調(diào)度策略、應(yīng)用執(zhí)行性能等的模擬評測的研究。
背景技術(shù):
隨著信息技術(shù)的不斷發(fā)展和更新,人們對計算能力和數(shù)據(jù)存儲能力的需要也越來越大,同時,彼此之間需要更緊密的協(xié)同工作和資源共享。網(wǎng)格技術(shù)的核心就是要實現(xiàn)廣域范圍內(nèi)的計算資源、信息資源、存儲資源和各種各樣的應(yīng)用、服務(wù)以及決策支持系統(tǒng)的共享和有效聚合。
設(shè)計一個網(wǎng)格系統(tǒng)是一個非常復(fù)雜的系統(tǒng)工程,它需要考慮許多問題。例如,網(wǎng)格中資源管理和調(diào)度的有效性是影響網(wǎng)格系統(tǒng)成功與否的關(guān)鍵;資源廣域共享帶來的異構(gòu)性、安全性和網(wǎng)絡(luò)性能也將是不容忽視的;此外,容錯能力、可擴展性以及自適應(yīng)能力都是網(wǎng)格設(shè)計者需要考慮的內(nèi)容。因此,網(wǎng)格系統(tǒng)設(shè)計者在實際部署新設(shè)計的系統(tǒng)之前需要確保它具有可行性和所期望的執(zhí)行效率。
一般而言,真實的網(wǎng)格環(huán)境是動態(tài)變化、不可控制的。在這樣一個環(huán)境中,系統(tǒng)設(shè)計者幾乎無法考察系統(tǒng)設(shè)計的所有性能問題。以網(wǎng)格應(yīng)用的運行為例來說明,網(wǎng)格應(yīng)用在一個虛擬的機器上運行,在運行之前該虛擬機器是不存在的,只有在應(yīng)用實際運行的時候,網(wǎng)格才根據(jù)用戶運行應(yīng)用的清求實時地建立一個虛擬機。通常,我們無法知道該虛擬機的具體情況,如節(jié)點之間的拓?fù)浣Y(jié)構(gòu)、節(jié)點類型、節(jié)點的所有者的相關(guān)信息等,并且虛擬機也是動態(tài)變化的,體現(xiàn)在資源的動態(tài)離開和加入,以及應(yīng)用的動態(tài)進(jìn)入和退出兩個方面。如果兩次請求運行了同一個應(yīng)用程序,后一個應(yīng)用幾乎不可能重復(fù)原來的運行過程,這也充分體現(xiàn)了網(wǎng)格系統(tǒng)的不可控性和不可重復(fù)性。
網(wǎng)格模擬器的出現(xiàn),解決了以上的諸多問題。模擬器的作用是模擬一個網(wǎng)格運行環(huán)境,這個運行環(huán)境是可控制、可重復(fù)使用的。我們在這個模擬的環(huán)境中研究不同的問題,比如可行性和性能問題。在這個模擬的環(huán)境中,通過配置不同參數(shù),可以更加真實的模擬出現(xiàn)實環(huán)境中的各種應(yīng)用場景,使得模擬過程更具真實性;更重要的是,同一個應(yīng)用程序可以無限制的重復(fù)運行在相同的環(huán)境中,這是性能分析比較的基礎(chǔ),通過分析在模擬器上試驗的結(jié)果,網(wǎng)格研究者可以進(jìn)行設(shè)計方案的甄選和系統(tǒng)設(shè)計的改進(jìn)。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種網(wǎng)格模擬方法,它能夠通過軟件模擬復(fù)雜架構(gòu)的網(wǎng)格系統(tǒng),為其組織架構(gòu)、調(diào)度策略、應(yīng)用執(zhí)行性能等的研究提供模擬工具;本發(fā)明還提供了根據(jù)該方法實現(xiàn)的模擬器。
本發(fā)明提供的一種網(wǎng)格模擬方法,其步驟為(1)設(shè)置模擬網(wǎng)格的基本配置信息,配置內(nèi)容包括模擬參數(shù)配置、用戶定義、任務(wù)定義、資源定義、信息目錄配置、調(diào)度器配置、網(wǎng)絡(luò)配置和統(tǒng)計分析配置;(2)根據(jù)步驟(1)設(shè)置的各種配置信息,構(gòu)造相應(yīng)的網(wǎng)格實體,并依據(jù)網(wǎng)絡(luò)配置中各個實體間的網(wǎng)絡(luò)連接信息,建立各個實體間的網(wǎng)絡(luò)連接,形成模擬網(wǎng)格的組織架構(gòu);網(wǎng)格實體包括用戶實體、任務(wù)實體、資源實體、信息目錄實體、調(diào)度器實體、網(wǎng)絡(luò)實體和統(tǒng)計分析實體;其中,用戶實體按照用戶定義信息進(jìn)行配置并初始化;在模擬開始后,用戶實體將需要執(zhí)行的任務(wù)依次提交給相應(yīng)的調(diào)度器,等待任務(wù)全部完成并接收到處理結(jié)果后結(jié)束;任務(wù)實體使用靜態(tài)類結(jié)構(gòu)表示;任務(wù)實體按照任務(wù)定義信息定義任務(wù)執(zhí)行所需要的各種基本屬性,包括任務(wù)執(zhí)行的代碼量、需要處理的數(shù)據(jù)量和處理后結(jié)果的數(shù)據(jù)量,并對任務(wù)在資源上的執(zhí)行條件進(jìn)行定義;資源實體按照資源定義信息進(jìn)行配置并初始化;并向信息目錄注冊資源的相關(guān)信息;接收查詢資源動態(tài)信息的請求,并返回資源目前的信息;接收來自調(diào)度器的任務(wù),根據(jù)本地調(diào)度策略執(zhí)行任務(wù),并將任務(wù)的執(zhí)行結(jié)果返回給用戶;在任務(wù)執(zhí)行期間,向信息目錄更新自己的資源變化情況;重復(fù)這個過程,直到接收到結(jié)束消息為止;
信息目錄實體按照信息目錄配置信息進(jìn)行配置并初始化;它接收來自資源的注冊信息,組織系統(tǒng)中可用資源的相關(guān)數(shù)據(jù);按照資源更新方式的設(shè)置,主動或被動地更新資源的信息,動態(tài)維護各資源的變化情況;信息目錄對來自調(diào)度器的查詢做出響應(yīng),根據(jù)相應(yīng)的算法搜索符合條件的資源,返回可用資源列表;重復(fù)這個過程,直到接收到結(jié)束消息為止;調(diào)度器實體按照調(diào)度器配置信息進(jìn)行配置并初始化;調(diào)度器實體接收用戶請求后向信息目錄查詢可用資源信息,得到可用資源列表;向資源查詢動態(tài)信息,得到資源的當(dāng)前信息;根據(jù)調(diào)度算法進(jìn)行資源選擇,提交任務(wù)給選定的資源;重復(fù)這個過程,直到接收到結(jié)束消息為止;網(wǎng)絡(luò)實體包括路由器、網(wǎng)絡(luò)流量發(fā)生器和網(wǎng)絡(luò)鏈路,按照網(wǎng)絡(luò)配置信息進(jìn)行配置并初始化;路由器接收鏈路上的數(shù)據(jù)包,進(jìn)行路由選擇后,再將數(shù)據(jù)包發(fā)送出去;重復(fù)這個過程,直到接收到結(jié)束消息為止;網(wǎng)絡(luò)流量發(fā)生器按照配置情況在網(wǎng)絡(luò)上產(chǎn)生背景流量,直到接收到結(jié)束消息為止;統(tǒng)計分析實體按照統(tǒng)計分析配置信息進(jìn)行配置并初始化;它收集并記錄各類模擬數(shù)據(jù),響應(yīng)對模擬過程中各類數(shù)據(jù)的統(tǒng)計要求,對各種指標(biāo)量進(jìn)行統(tǒng)計并輸出統(tǒng)計結(jié)果;響應(yīng)對模擬過程的分析要求,對模擬性能進(jìn)行定量的分析并輸出分析結(jié)果;重復(fù)這個過程,直到接收到結(jié)束消息為止;(3)根據(jù)實體的配置信息和網(wǎng)絡(luò)連接信息,生成上述各實體的模擬程序代碼,最后將各模擬實體及其相關(guān)的網(wǎng)絡(luò)連接模擬代碼組合成完整的可執(zhí)行程序;(4)在計算機系統(tǒng)上執(zhí)行上述的模擬程序,模擬網(wǎng)格系統(tǒng)的運行;(5)收集模擬數(shù)據(jù),統(tǒng)計、分析并輸出模擬結(jié)果。
根據(jù)上述方法實現(xiàn)的網(wǎng)格模擬器,包括信息配置模塊、網(wǎng)格實體構(gòu)造模塊、模擬程序生成模塊、模擬程序執(zhí)行模塊和模擬結(jié)果輸出模塊;其中,信息配置模塊用于獲取模擬參數(shù)和各種配置信息,并將信息提供給網(wǎng)格實體構(gòu)造模塊中相應(yīng)的模塊,它由模擬參數(shù)配置模塊、用戶定義模塊、任務(wù)定義模塊、資源定義模塊、信息目錄配置模塊、調(diào)度器配置模塊、網(wǎng)絡(luò)配置模塊和統(tǒng)計分析配置模塊組成;其中,用戶定義模塊將用戶配置信息提供給用戶實體構(gòu)造模塊構(gòu)造,以構(gòu)造用戶實體,用來模擬網(wǎng)格中的用戶;
任務(wù)定義模塊將任務(wù)配置信息提供給任務(wù)實體構(gòu)造模塊,以構(gòu)造任務(wù)實體,用來模擬網(wǎng)格中的任務(wù);信息目錄配置模塊將信息目錄配置信息提供給信息目錄實體構(gòu)造模塊,以構(gòu)造信息目錄實體,用來模擬網(wǎng)格中的信息目錄;網(wǎng)絡(luò)配置模塊將網(wǎng)絡(luò)配置信息提供給網(wǎng)絡(luò)實體構(gòu)造模塊,以構(gòu)造網(wǎng)絡(luò)實體,用來模擬網(wǎng)格中的網(wǎng)絡(luò);調(diào)度器配置模塊將調(diào)度器配置信息提供給調(diào)度器實體構(gòu)造模塊,以構(gòu)造調(diào)度器實體,用來模擬網(wǎng)格中的調(diào)度器;資源定義模塊將資源配置信息提供給資源實體構(gòu)造模塊,以構(gòu)造資源實體,用來模擬網(wǎng)格中的資源;統(tǒng)計分析配置模塊將統(tǒng)計分析配置信息提供給統(tǒng)計分析實體構(gòu)造模塊,以構(gòu)造統(tǒng)計分析實體,用來獲取網(wǎng)格模擬過程中的模擬信息;網(wǎng)格實體構(gòu)造模塊由用戶實體構(gòu)造模塊、任務(wù)實體構(gòu)造模塊、資源實體構(gòu)造模塊、信息目錄實體構(gòu)造模塊、調(diào)度器實體構(gòu)造模塊、網(wǎng)絡(luò)實體構(gòu)造模塊和統(tǒng)計分析實體構(gòu)造模塊組成;其中,用戶實體構(gòu)造模塊用來產(chǎn)生用戶實體,用于描述用戶的行為;任務(wù)實體構(gòu)造模塊用來產(chǎn)生任務(wù)實體,用于描述用戶任務(wù)及其各種屬性;資源實體構(gòu)造模塊用來產(chǎn)生資源實體,用于描述系統(tǒng)的計算資源及其存儲能力;信息目錄實體構(gòu)造模塊用來產(chǎn)生信息目錄實體,用于提供和維護資源的各種信息;調(diào)度器實體構(gòu)造模塊用來產(chǎn)生調(diào)度器實體,用于完成在任務(wù)提交時進(jìn)行資源分配;網(wǎng)絡(luò)實體構(gòu)造模塊用來產(chǎn)生網(wǎng)絡(luò)實體,包括路由器、網(wǎng)絡(luò)流量發(fā)生器和網(wǎng)絡(luò)鏈路,用于完成系統(tǒng)中的數(shù)據(jù)傳輸;統(tǒng)計分析實體構(gòu)造模塊用來產(chǎn)生統(tǒng)計分析實體,用于在整個模擬過程中獲取相關(guān)的模擬數(shù)據(jù)并加以統(tǒng)計和分析;模擬程序生成模塊根據(jù)實體的配置信息和網(wǎng)絡(luò)連接信息,生成上述各實體的模擬程序代碼,并將各模擬實體及其相關(guān)的網(wǎng)絡(luò)連接模擬代碼組合成完整的可執(zhí)行程序;
模擬程序執(zhí)行模塊利用離散事件模擬基礎(chǔ)架構(gòu)的支持,在計算機系統(tǒng)上執(zhí)行上述的模擬程序,模擬網(wǎng)格系統(tǒng)的運行;模擬結(jié)果輸出模塊收集模擬數(shù)據(jù),統(tǒng)計分析模擬結(jié)果并輸出。
本發(fā)明的網(wǎng)格模擬器具有以下特點(1)良好的用戶界面,幫助用戶快速建模;(2)豐富的模擬元素,支持各種類型的實體建模;(3)允許用戶參與模型設(shè)計,擴展現(xiàn)有模型庫;(4)詳盡的模擬數(shù)據(jù)統(tǒng)計和自動化的模擬數(shù)據(jù)分析,通過圖表直觀反映模擬結(jié)果。
圖1為本發(fā)明的網(wǎng)格模擬方法的流程圖;圖2為本發(fā)明模擬用戶實體的流程圖;圖3為本發(fā)明模擬資源實體的流程圖;圖4為本發(fā)明模擬信息目錄實體的流程圖;圖5為本發(fā)明模擬調(diào)度器實體的流程圖;圖6為本發(fā)明模擬網(wǎng)絡(luò)路由器實體的流程圖;圖7為本發(fā)明的統(tǒng)計分析實體的處理流程圖;圖8為本發(fā)明的模擬實體間消息處理的時序圖;圖9為本發(fā)明的網(wǎng)格模擬器的模塊框架圖;圖10為本發(fā)明的網(wǎng)格模擬器的使用流程圖。
具體實施例方式
下面結(jié)合附圖和實例對本發(fā)明進(jìn)行詳細(xì)說明。
如圖1所示,本發(fā)明方法的步驟為第一步設(shè)置模擬網(wǎng)格的基本配置信息,配置內(nèi)容包括模擬參數(shù)配置、用戶定義、任務(wù)定義、資源定義、信息目錄配置、調(diào)度器配置、網(wǎng)絡(luò)配置和統(tǒng)計分析配置。模擬參數(shù)配置包括模擬過程重復(fù)執(zhí)行的次數(shù)。用戶配置信息包括用戶的個數(shù)、調(diào)度器和信息目錄的選擇。任務(wù)配置信息包括每個用戶的任務(wù)個數(shù)、任務(wù)的屬性(任務(wù)的大小、執(zhí)行任務(wù)需要處理的數(shù)據(jù)的大小、任務(wù)執(zhí)行完成后得到的結(jié)果數(shù)據(jù)的大小)、任務(wù)間的關(guān)聯(lián)信息。資源配置信息包括資源的個數(shù)、資源的屬性(資源的類型、資源擁有的處理器的個數(shù)、每個處理器的運算能力和資源的存儲能力)。信息目錄配置信息包括信息目錄中各服務(wù)層次的設(shè)置情況以及它們的聚合方式。調(diào)度器配置信息包括調(diào)度器使用的調(diào)度算法。網(wǎng)絡(luò)配置信息包括系統(tǒng)中路由器和網(wǎng)絡(luò)流量發(fā)生器的定義、它們與各個實體間的網(wǎng)絡(luò)連接、相關(guān)的路由算法和網(wǎng)絡(luò)流量產(chǎn)生模式的指定。統(tǒng)計分析配置信息包括用戶自定義統(tǒng)計指標(biāo)量和統(tǒng)計方法、統(tǒng)計量的輸出方式和統(tǒng)計數(shù)據(jù)的分析算法的指定。
第二步構(gòu)造網(wǎng)格系統(tǒng)中的各種實體,并建立相關(guān)實體間的網(wǎng)絡(luò)連接,形成網(wǎng)格系統(tǒng)的組織架構(gòu)。其具體方法為根據(jù)第一步設(shè)置的各種配置信息,構(gòu)造相應(yīng)的網(wǎng)格實體,并依據(jù)網(wǎng)絡(luò)配置中各個實體間的網(wǎng)絡(luò)連接信息,建立各個實體間的網(wǎng)絡(luò)連接,從而形成模擬網(wǎng)格的組織架構(gòu)。網(wǎng)格實體包括用戶實體、任務(wù)實體、資源實體、信息目錄實體、調(diào)度器實體、網(wǎng)絡(luò)實體和統(tǒng)計分析實體。
在本發(fā)明的網(wǎng)格模擬方法中,用戶的行為包括選擇任務(wù)調(diào)度器并傳遞任務(wù)請求、接收任務(wù)的處理結(jié)果。在用戶實體中,用戶請求執(zhí)行一個或多個任務(wù)。對于多個任務(wù)的情形,按照任務(wù)間的順序關(guān)聯(lián)依次提交執(zhí)行。如圖2所示,用戶實體按照用戶定義信息進(jìn)行配置并初始化。在模擬開始后,用戶實體將需要執(zhí)行的任務(wù)依次提交給相應(yīng)的調(diào)度器,等待任務(wù)全部完成并接收到處理結(jié)果后結(jié)束。
在本發(fā)明的網(wǎng)格模擬方法中,定義網(wǎng)格中一個應(yīng)用的靜態(tài)刻畫包括兩個部份問題和解決該問題使用的調(diào)度器及其算法;并假設(shè)模擬過程是在任務(wù)級上進(jìn)行的,問題通過一組關(guān)聯(lián)的任務(wù)被定義,而調(diào)度器及其算法定義了資源選擇和任務(wù)調(diào)度的相關(guān)過程。任務(wù)實體使用靜態(tài)類結(jié)構(gòu)表示。任務(wù)實體按照任務(wù)定義信息定義任務(wù)執(zhí)行所需要的各種基本屬性,包括任務(wù)執(zhí)行的代碼量、需要處理的數(shù)據(jù)量和處理后結(jié)果的數(shù)據(jù)量。此外,還對任務(wù)在資源上的執(zhí)行條件(資源類型、計算能力、存儲能力等)進(jìn)行定義。任務(wù)之間的執(zhí)行關(guān)聯(lián)通過有向無環(huán)圖來描述,用戶可以通過配置相關(guān)的輸入文件,由腳本工具自動生成該圖。
在本發(fā)明的網(wǎng)格模擬方法中,資源實體用于描述系統(tǒng)的計算資源及其存儲能力。假設(shè)計算資源的性能是通過其計算能力來描述的,每一個計算資源可以擁有一個或多個計算節(jié)點,而每一個計算節(jié)點又可以擁有多個處理器單元。如圖3所示,資源實體按照資源定義信息進(jìn)行配置并初始化。初始化后,每一個資源實體執(zhí)行如下的操作向信息目錄注冊資源的相關(guān)信息;接收查詢資源動態(tài)信息的請求,并返回資源目前的信息;接收來自調(diào)度器的任務(wù),根據(jù)本地調(diào)度策略執(zhí)行任務(wù),并將任務(wù)的執(zhí)行結(jié)果返回給用戶;在任務(wù)執(zhí)行期間,向信息目錄更新自己的資源變化情況。這個過程一直重復(fù),直到接收到結(jié)束消息為止。任務(wù)在資源實體上的執(zhí)行時間由以下的因素決定任務(wù)包含的浮點運算的數(shù)目、資源的本地調(diào)度策略、節(jié)點的計算能力和I/O處理過程對任務(wù)執(zhí)行的影響。資源實體也可以接收到來自調(diào)度器的消息,移走正在等待或執(zhí)行的任務(wù)。
為了更準(zhǔn)確地反映真實網(wǎng)格系統(tǒng)中全局信息的收集與維護過程,在本發(fā)明的網(wǎng)格模擬方法中,對信息目錄按照其實現(xiàn)的功能抽象為三個部分第一層是信息服務(wù),它將來自底層的信息分類整合,形成本地資源的使用信息;第二層是聚合信息服務(wù),它的作用是將多個信息服務(wù)的資源信息進(jìn)行聚合,形成信息目錄,為查詢請求提供較大范圍的信息來源;第三層是目錄服務(wù),它是面向查詢請求的,提供對資源信息的查詢、發(fā)現(xiàn)和定位。此外,目錄服務(wù)還可以直接向信息服務(wù)發(fā)出請求,查詢局部資源的相關(guān)信息。如圖4所示,信息目錄實體按照信息目錄配置信息進(jìn)行配置并初始化。它接收來自資源的注冊信息,組織系統(tǒng)中可用資源的相關(guān)數(shù)據(jù);按照資源更新方式的設(shè)置,主動或被動地更新資源的信息,動態(tài)維護各資源的變化情況;信息目錄對來自調(diào)度器的查詢做出響應(yīng),根據(jù)相應(yīng)的算法搜索符合條件的資源,返回可用資源列表。這個過程一直重復(fù),直到接收到結(jié)束消息為止。
調(diào)度器根據(jù)調(diào)度策略動態(tài)地查詢信息目錄,定位適當(dāng)?shù)馁Y源并提交任務(wù)。模擬過程的調(diào)度策略可由用戶定義,通過調(diào)度器可以實現(xiàn)各種不同類型的策略,策略中可以包含多種對任務(wù)、用戶、以及資源的約束,調(diào)度器實體通過查詢信息目錄對實時網(wǎng)格負(fù)載做出反應(yīng)。如圖5所示,調(diào)度器實體按照調(diào)度器配置信息進(jìn)行配置并初始化。它的核心就是調(diào)度算法,系統(tǒng)提供內(nèi)置的調(diào)度算法供使用,也可由用戶自定義調(diào)度算法。調(diào)度器需要查詢信息目錄獲取當(dāng)前系統(tǒng)中可用資源的信息,使用這些信息,調(diào)度器動態(tài)地選擇資源并進(jìn)行任務(wù)調(diào)度。調(diào)度器接收用戶請求后向信息目錄查詢可用資源信息,得到可用資源列表;向資源查詢動態(tài)信息,得到資源的當(dāng)前信息;根據(jù)調(diào)度算法進(jìn)行資源選擇,提交任務(wù)給選定的資源。這個過程一直重復(fù),直到接收到結(jié)束消息為止。
網(wǎng)絡(luò)實體包括路由器、網(wǎng)絡(luò)流量發(fā)生器和網(wǎng)絡(luò)鏈路,不同的網(wǎng)絡(luò)模型可以通過不同的網(wǎng)絡(luò)實體組織而成。如圖6所示,網(wǎng)絡(luò)實體按照網(wǎng)絡(luò)配置信息進(jìn)行配置并初始化。路由器接收鏈路上的數(shù)據(jù)包,進(jìn)行路由選擇后,再將數(shù)據(jù)包發(fā)送出去。這個過程一直重復(fù),直到接收到結(jié)束消息為止。網(wǎng)絡(luò)流量發(fā)生器按照配置情況在網(wǎng)絡(luò)上產(chǎn)生背景流量,直到接收到結(jié)束消息為止。相關(guān)實體之間的連接通過網(wǎng)絡(luò)鏈路實現(xiàn)。如果有多個數(shù)據(jù)同時在網(wǎng)絡(luò)上進(jìn)行傳輸,系統(tǒng)假設(shè)它們采用分時的方法共享鏈路。數(shù)據(jù)的傳輸時間取決于數(shù)據(jù)的大小、網(wǎng)絡(luò)的帶寬和延遲。
統(tǒng)計分析實體為模擬過程中各類數(shù)據(jù)的收集提供支持,多種基礎(chǔ)狀態(tài)數(shù)據(jù)在模擬過程中被記錄,并將系統(tǒng)內(nèi)置和用戶定義的指標(biāo)量以圖表形式直觀地輸出,通過分析策略和算法給出分析結(jié)果。如圖7所示,統(tǒng)計分析實體按照統(tǒng)計分析配置信息進(jìn)行配置并初始化。統(tǒng)計分析實體收集各類模擬數(shù)據(jù),將它們以適當(dāng)?shù)男问接涗浵聛?;響?yīng)對模擬過程中各類數(shù)據(jù)的統(tǒng)計要求,對各種指標(biāo)量進(jìn)行統(tǒng)計并輸出統(tǒng)計結(jié)果;響應(yīng)對模擬過程的分析要求,對模擬性能進(jìn)行定量的分析并輸出分析結(jié)果。這個過程一直重復(fù),直到接收到結(jié)束消息為止。
第三步根據(jù)實體的配置信息和網(wǎng)絡(luò)連接信息,生成模擬程序代碼,包括用戶實體模擬、任務(wù)實體模擬、資源實體模擬、調(diào)度器實體模擬、信息目錄實體模擬、網(wǎng)絡(luò)實體模擬和統(tǒng)計分析實體模擬的相應(yīng)模擬程序代碼,最后將各模塊實體及其相關(guān)的網(wǎng)絡(luò)連接模擬代碼組合成完整的可執(zhí)行程序。
模擬程序代碼是指根據(jù)模擬參數(shù)配置模塊以及各種網(wǎng)格實體構(gòu)造模塊生成的可在模擬基礎(chǔ)架構(gòu)上執(zhí)行的程序代碼。
第四步在計算機系統(tǒng)(包括PC機、工作站、集群等各類系統(tǒng))上執(zhí)行上述的模擬程序,模擬網(wǎng)格系統(tǒng)的運行。模擬程序的執(zhí)行需要離散事件模擬基礎(chǔ)架構(gòu)的支持,它是一個面向過程的離散事件模擬包?;谶@個模擬包,模擬過程中各種實體執(zhí)行各自的功能。模擬包根據(jù)模擬程序為每一個實體產(chǎn)生一個獨立運行的線程,實體的行為在其線程體方法里描述。此外,離散事件模擬包還能提供各實體執(zhí)行系統(tǒng)行為時的模擬時間點以及模擬過程在時間上的各種控制。通過獲取這些信息,可以完成對網(wǎng)格模擬及其統(tǒng)計分析的要求。
如圖8所示,模擬程序代碼執(zhí)行時各實體間消息處理的時序過程為(1)資源向信息目錄注冊,信息目錄實體接收來自資源的注冊信息,形成資源目錄;(2)用戶根據(jù)配置將任務(wù)請求依次提交給調(diào)度器實體;(3)調(diào)度器查詢信息目錄,并得到信息目錄返回的可用資源列表;(4)對可用資源列表中的資源分別查詢其目前的狀態(tài);(5)根據(jù)返回的資源的動態(tài)信息和調(diào)度器的調(diào)度策略進(jìn)行資源分配和任務(wù)調(diào)度,將任務(wù)指派到合適的資源上執(zhí)行;(6)任務(wù)執(zhí)行完后,任務(wù)的執(zhí)行結(jié)果將返回給用戶實體;(7)在模擬資源上任務(wù)執(zhí)行的過程中,統(tǒng)計分析實體向資源實體收集當(dāng)前的各種模擬數(shù)據(jù),用于后續(xù)的統(tǒng)計和分析過程;(8)在模擬過程中,可能有一些新的資源可用,而一些資源失效,從而導(dǎo)致資源的性能不斷變化,這就需要信息目錄實體及時更新資源信息,反映出資源變化的情況。
第五步收集步驟四所產(chǎn)生的模擬數(shù)據(jù),統(tǒng)計、分析并輸出模擬結(jié)果。根據(jù)模擬運行結(jié)果和系統(tǒng)配置的各種指標(biāo)量,分別進(jìn)行統(tǒng)計;并根據(jù)相關(guān)的分析算法,對指定的模擬數(shù)據(jù)和統(tǒng)計結(jié)果進(jìn)行分析;最后,根據(jù)要求輸出上述結(jié)果。
如圖9所示,根據(jù)上述方法實現(xiàn)的網(wǎng)格模擬器由信息配置模塊、網(wǎng)格實體構(gòu)造模塊、模擬程序生成模塊、模擬程序執(zhí)行模塊和模擬結(jié)果輸出模塊組成。
信息配置模塊用于獲取模擬參數(shù)和各種配置信息,并將信息提供給網(wǎng)格實體構(gòu)造模塊中相應(yīng)的模塊。信息配置模塊由模擬參數(shù)配置模塊、用戶定義模塊、任務(wù)定義模塊、資源定義模塊、信息目錄配置模塊、調(diào)度器配置模塊、網(wǎng)絡(luò)配置模塊和統(tǒng)計分析配置模塊組成;其中,
用戶定義模塊將用戶配置信息提供給用戶實體構(gòu)造模塊構(gòu)造,以構(gòu)造用戶實體,用來模擬網(wǎng)格中的用戶;任務(wù)定義模塊將任務(wù)配置信息提供給任務(wù)實體構(gòu)造模塊,以構(gòu)造任務(wù)實體,用來模擬網(wǎng)格中的任務(wù);信息目錄配置模塊將信息目錄配置信息提供給信息目錄實體構(gòu)造模塊,以構(gòu)造信息目錄實體,用來模擬網(wǎng)格中的信息目錄;網(wǎng)絡(luò)配置模塊將網(wǎng)絡(luò)配置信息提供給網(wǎng)絡(luò)實體構(gòu)造模塊,以構(gòu)造網(wǎng)絡(luò)實體,用來模擬網(wǎng)格中的網(wǎng)絡(luò);調(diào)度器配置模塊將調(diào)度器配置信息提供給調(diào)度器實體構(gòu)造模塊,以構(gòu)造調(diào)度器實體,用來模擬網(wǎng)格中的調(diào)度器;資源定義模塊將資源配置信息提供給資源實體構(gòu)造模塊,以構(gòu)造資源實體,用來模擬網(wǎng)格中的資源;統(tǒng)計分析配置模塊將統(tǒng)計分析配置信息提供給統(tǒng)計分析實體構(gòu)造模塊,以構(gòu)造統(tǒng)計分析實體,用來獲取網(wǎng)格模擬過程中的模擬信息。
網(wǎng)格實體構(gòu)造模塊由用戶實體構(gòu)造模塊、任務(wù)實體構(gòu)造模塊、資源實體構(gòu)造模塊、信息目錄實體構(gòu)造模塊、調(diào)度器實體構(gòu)造模塊、網(wǎng)絡(luò)實體構(gòu)造模塊和統(tǒng)計分析實體構(gòu)造模塊組成;其中,用戶實體構(gòu)造模塊用來產(chǎn)生用戶實體,用于描述用戶的行為;任務(wù)實體構(gòu)造模塊用來產(chǎn)生任務(wù)實體,用于描述用戶任務(wù)及其各種屬性;資源實體構(gòu)造模塊用來產(chǎn)生資源實體,用于描述系統(tǒng)的計算資源及其存儲能力;信息目錄實體構(gòu)造模塊用來產(chǎn)生信息目錄實體,用于提供和維護資源的各種信息;調(diào)度器實體構(gòu)造模塊用來產(chǎn)生調(diào)度器實體,用于完成在任務(wù)提交時進(jìn)行資源分配;網(wǎng)絡(luò)實體構(gòu)造模塊用來產(chǎn)生網(wǎng)絡(luò)實體,包括路由器、網(wǎng)絡(luò)流量發(fā)生器和網(wǎng)絡(luò)鏈路,用于完成系統(tǒng)中的數(shù)據(jù)傳輸;統(tǒng)計分析實體構(gòu)造模塊用來產(chǎn)生統(tǒng)計分析實體,用于在整個模擬過程中獲取相關(guān)的模擬數(shù)據(jù)并加以統(tǒng)計和分析。
模擬程序生成模塊根據(jù)實體的配置信息和網(wǎng)絡(luò)連接信息,生成模擬程序代碼,包括用戶實體模擬、任務(wù)實體模擬、資源實體模擬、調(diào)度器實體模擬、信息目錄實體模擬、網(wǎng)絡(luò)實體模擬和統(tǒng)計分析實體模擬的相應(yīng)模擬程序代碼,最后將各模塊實體及其相關(guān)的網(wǎng)絡(luò)連接模擬代碼組合成完整的可執(zhí)行程序。
模擬程序執(zhí)行模塊利用離散事件模擬基礎(chǔ)架構(gòu)的支持,在計算機系統(tǒng)上執(zhí)行上述的模擬程序,模擬網(wǎng)格系統(tǒng)的運行。
模擬結(jié)果輸出模塊收集模擬數(shù)據(jù),統(tǒng)計分析模擬結(jié)果并輸出。
實例本發(fā)明的網(wǎng)格模擬器的配置及運行過程參考圖10,下面用一個實例來詳細(xì)說明(1)配置用戶、資源及網(wǎng)絡(luò)狀況在用戶、資源及網(wǎng)絡(luò)配置頁,創(chuàng)建3個用戶和10個資源,創(chuàng)建2個路由器,將前兩個用戶與一個路由器連接,第三個用戶與另一個路由器連接,路由器之間相連,所有的資源都分別與兩個路由器相連;配置每一個資源都由3個計算節(jié)點組成,其中的兩個計算節(jié)點分別包含4個CPU,另一個包含2個CPU,每一個CPU的計算能力為377MIPS,CPU的共享方式為分時共享;配置路由器的路由算法為FIFO,網(wǎng)絡(luò)鏈路的帶寬為10Mb/s。
(2)配置用戶任務(wù)在用戶配置頁,配置上述已創(chuàng)建用戶的任務(wù)。為每一個用戶都配置如下任務(wù)任務(wù)指令執(zhí)行長度5000×0.8~5000×1.2百萬條,執(zhí)行時需要處理的數(shù)據(jù)12.5×0.8~12.5×1.2千字節(jié),處理后的數(shù)據(jù)30×0.8~30×1.2千字節(jié)。
(3)配置信息目錄在信息服務(wù)配置頁,創(chuàng)建兩個信息服務(wù)實體和一個聚合信息服務(wù)實體;配置層次信息目錄,即前四個資源與一個信息服務(wù)實體關(guān)聯(lián),其余六個資源與另一個信息服務(wù)實體關(guān)聯(lián),兩個信息服務(wù)實體與聚合信息服務(wù)實體關(guān)聯(lián)。
(4)選定任務(wù)調(diào)度策略在任務(wù)調(diào)度策略選項中,選擇采用可用資源輪轉(zhuǎn)策略進(jìn)行調(diào)度。
(5)配置模擬參數(shù)和統(tǒng)計分析參數(shù)在模擬參數(shù)配置頁,配置模擬過程的重復(fù)次數(shù)為2;配置統(tǒng)計參數(shù)為系統(tǒng)提供的默認(rèn)統(tǒng)計量。
(6)根據(jù)配置生成模擬代碼在代碼生成頁,點擊“生成”按鈕,生成模擬代碼。
(7)執(zhí)行模擬代碼在代碼執(zhí)行頁,點擊“執(zhí)行”按鈕,執(zhí)行模擬代碼。
(8)結(jié)果統(tǒng)計分析與輸出在模擬結(jié)果頁,查看模擬過程中各種指標(biāo)量的統(tǒng)計結(jié)果和對模擬網(wǎng)格的相關(guān)分析結(jié)論。
以上所述,僅為本發(fā)明最佳的具體實現(xiàn)方式,本發(fā)明的實現(xiàn)方法并不局限于此,任何在本發(fā)明領(lǐng)域內(nèi)不脫離本發(fā)明精神下的改變,都應(yīng)涵蓋在本發(fā)明范圍內(nèi)。
權(quán)利要求
1.一種網(wǎng)格模擬方法,其步驟為(1)設(shè)置模擬網(wǎng)格的基本配置信息,配置內(nèi)容包括模擬參數(shù)配置、用戶定義、任務(wù)定義、資源定義、信息目錄配置、調(diào)度器配置、網(wǎng)絡(luò)配置和統(tǒng)計分析配置;(2)根據(jù)步驟(1)設(shè)置的各種配置信息,構(gòu)造相應(yīng)的網(wǎng)格實體,并依據(jù)網(wǎng)絡(luò)配置中各個實體間的網(wǎng)絡(luò)連接信息,建立各個實體間的網(wǎng)絡(luò)連接,形成模擬網(wǎng)格的組織架構(gòu);網(wǎng)格實體包括用戶實體、任務(wù)實體、資源實體、信息目錄實體、調(diào)度器實體、網(wǎng)絡(luò)實體和統(tǒng)計分析實體;其中,用戶實體按照用戶定義信息進(jìn)行配置并初始化;在模擬開始后,用戶實體將需要執(zhí)行的任務(wù)依次提交給相應(yīng)的調(diào)度器,等待任務(wù)全部完成并接收到處理結(jié)果后結(jié)束;任務(wù)實體使用靜態(tài)類結(jié)構(gòu)表示;任務(wù)實體按照任務(wù)定義信息定義任務(wù)執(zhí)行所需要的各種基本屬性,包括任務(wù)執(zhí)行的代碼量、需要處理的數(shù)據(jù)量和處理后結(jié)果的數(shù)據(jù)量,并對任務(wù)在資源上的執(zhí)行條件進(jìn)行定義;資源實體按照資源定義信息進(jìn)行配置并初始化;并向信息目錄注冊資源的相關(guān)信息;接收查詢資源動態(tài)信息的請求,并返回資源目前的信息;接收來自調(diào)度器的任務(wù),根據(jù)本地調(diào)度策略執(zhí)行任務(wù),并將任務(wù)的執(zhí)行結(jié)果返回給用戶;在任務(wù)執(zhí)行期間,向信息目錄更新自己的資源變化情況;重復(fù)這個過程,直到接收到結(jié)束消息為止;信息目錄實體按照信息目錄配置信息進(jìn)行配置并初始化;它接收來自資源的注冊信息,組織系統(tǒng)中可用資源的相關(guān)數(shù)據(jù);按照資源更新方式的設(shè)置,主動或被動地更新資源的信息,動態(tài)維護各資源的變化情況;信息目錄對來自調(diào)度器的查詢做出響應(yīng),根據(jù)相應(yīng)的算法搜索符合條件的資源,返回可用資源列表;重復(fù)這個過程,直到接收到結(jié)束消息為止;調(diào)度器實體按照調(diào)度器配置信息進(jìn)行配置并初始化;調(diào)度器實體接收用戶請求后向信息目錄查詢可用資源信息,得到可用資源列表;向資源查詢動態(tài)信息,得到資源的當(dāng)前信息;根據(jù)調(diào)度算法進(jìn)行資源選擇,提交任務(wù)給選定的資源;重復(fù)這個過程,直到接收到結(jié)束消息為止;網(wǎng)絡(luò)實體包括路由器、網(wǎng)絡(luò)流量發(fā)生器和網(wǎng)絡(luò)鏈路,按照網(wǎng)絡(luò)配置信息進(jìn)行配置并初始化;路由器接收鏈路上的數(shù)據(jù)包,進(jìn)行路由選擇后,再將數(shù)據(jù)包發(fā)送出去;重復(fù)這個過程,直到接收到結(jié)束消息為止;網(wǎng)絡(luò)流量發(fā)生器按照配置情況在網(wǎng)絡(luò)上產(chǎn)生背景流量,直到接收到結(jié)束消息為止;統(tǒng)計分析實體按照統(tǒng)計分析配置信息進(jìn)行配置并初始化;它收集并記錄各類模擬數(shù)據(jù),響應(yīng)對模擬過程中各類數(shù)據(jù)的統(tǒng)計要求,對各種指標(biāo)量進(jìn)行統(tǒng)計并輸出統(tǒng)計結(jié)果;響應(yīng)對模擬過程的分析要求,對模擬性能進(jìn)行定量的分析并輸出分析結(jié)果;重復(fù)這個過程,直到接收到結(jié)束消息為止;(3)根據(jù)實體的配置信息和網(wǎng)絡(luò)連接信息,生成上述各實體的模擬程序代碼,最后將各模擬實體及其相關(guān)的網(wǎng)絡(luò)連接模擬代碼組合成完整的可執(zhí)行程序;(4)在計算機系統(tǒng)上執(zhí)行上述的模擬程序,模擬網(wǎng)格系統(tǒng)的運行;(5)收集模擬數(shù)據(jù),統(tǒng)計、分析并輸出模擬結(jié)果。
2.一種網(wǎng)格模擬器,它包括信息配置模塊、網(wǎng)格實體構(gòu)造模塊、模擬程序生成模塊、模擬程序執(zhí)行模塊和模擬結(jié)果輸出模塊;其中,信息配置模塊用于獲取模擬參數(shù)和各種配置信息,并將信息提供給網(wǎng)格實體構(gòu)造模塊中相應(yīng)的模塊,它由模擬參數(shù)配置模塊、用戶定義模塊、任務(wù)定義模塊、資源定義模塊、信息目錄配置模塊、調(diào)度器配置模塊、網(wǎng)絡(luò)配置模塊和統(tǒng)計分析配置模塊組成;其中,用戶定義模塊將用戶配置信息提供給用戶實體構(gòu)造模塊構(gòu)造,以構(gòu)造用戶實體,用來模擬網(wǎng)格中的用戶;任務(wù)定義模塊將任務(wù)配置信息提供給任務(wù)實體構(gòu)造模塊,以構(gòu)造任務(wù)實體,用來模擬網(wǎng)格中的任務(wù);信息目錄配置模塊將信息目錄配置信息提供給信息目錄實體構(gòu)造模塊,以構(gòu)造信息目錄實體,用來模擬網(wǎng)格中的信息目錄;網(wǎng)絡(luò)配置模塊將網(wǎng)絡(luò)配置信息提供給網(wǎng)絡(luò)實體構(gòu)造模塊,以構(gòu)造網(wǎng)絡(luò)實體,用來模擬網(wǎng)格中的網(wǎng)絡(luò);調(diào)度器配置模塊將調(diào)度器配置信息提供給調(diào)度器實體構(gòu)造模塊,以構(gòu)造調(diào)度器實體,用來模擬網(wǎng)格中的調(diào)度器;資源定義模塊將資源配置信息提供給資源實體構(gòu)造模塊,以構(gòu)造資源實體,用來模擬網(wǎng)格中的資源;統(tǒng)計分析配置模塊將統(tǒng)計分析配置信息提供給統(tǒng)計分析實體構(gòu)造模塊,以構(gòu)造統(tǒng)計分析實體,用來獲取網(wǎng)格模擬過程中的模擬信息;網(wǎng)格實體構(gòu)造模塊由用戶實體構(gòu)造模塊、任務(wù)實體構(gòu)造模塊、資源實體構(gòu)造模塊、信息目錄實體構(gòu)造模塊、調(diào)度器實體構(gòu)造模塊、網(wǎng)絡(luò)實體構(gòu)造模塊和統(tǒng)計分析實體構(gòu)造模塊組成;其中,用戶實體構(gòu)造模塊用來產(chǎn)生用戶實體,用于描述用戶的行為;任務(wù)實體構(gòu)造模塊用來產(chǎn)生任務(wù)實體,用于描述用戶任務(wù)及其各種屬性;資源實體構(gòu)造模塊用來產(chǎn)生資源實體,用于描述系統(tǒng)的計算資源及其存儲能力;信息目錄實體構(gòu)造模塊用來產(chǎn)生信息目錄實體,用于提供和維護資源的各種信息;調(diào)度器實體構(gòu)造模塊用來產(chǎn)生調(diào)度器實體,用于完成在任務(wù)提交時進(jìn)行資源分配;網(wǎng)絡(luò)實體構(gòu)造模塊用來產(chǎn)生網(wǎng)絡(luò)實體,包括路由器、網(wǎng)絡(luò)流量發(fā)生器和網(wǎng)絡(luò)鏈路,用于完成系統(tǒng)中的數(shù)據(jù)傳輸;統(tǒng)計分析實體構(gòu)造模塊用來產(chǎn)生統(tǒng)計分析實體,用于在整個模擬過程中獲取相關(guān)的模擬數(shù)據(jù)并加以統(tǒng)計和分析;模擬程序生成模塊根據(jù)實體的配置信息和網(wǎng)絡(luò)連接信息,生成上述各實體的模擬程序代碼,并將各模擬實體及其相關(guān)的網(wǎng)絡(luò)連接模擬代碼組合成完整的可執(zhí)行程序;模擬程序執(zhí)行模塊利用離散事件模擬基礎(chǔ)架構(gòu)的支持,在計算機系統(tǒng)上執(zhí)行上述的模擬程序,模擬網(wǎng)格系統(tǒng)的運行;模擬結(jié)果輸出模塊收集模擬數(shù)據(jù),統(tǒng)計分析模擬結(jié)果并輸出。
全文摘要
本發(fā)明公開了一種網(wǎng)格模擬方法,它包括信息配置、網(wǎng)格實體構(gòu)造、模擬程序生成、模擬程序執(zhí)行和模擬結(jié)果輸出五個步驟。根據(jù)該方法實現(xiàn)的模擬器包括信息配置模塊、網(wǎng)格實體構(gòu)造模塊、模擬程序生成模塊、模擬程序執(zhí)行模塊和模擬結(jié)果輸出模塊。模擬器對用戶實體、任務(wù)實體、資源實體、信息目錄實體、調(diào)度器實體、網(wǎng)絡(luò)實體和統(tǒng)計分析實體進(jìn)行建模,為準(zhǔn)確模擬網(wǎng)格應(yīng)用環(huán)境提供支持。模擬器利用離散事件模擬基礎(chǔ)架構(gòu)的支持,通過獨立的線程來模擬網(wǎng)格系統(tǒng)中的各個實體,線程自身不斷地循環(huán),模擬實體行為并處理來自外部實體的消息。模擬器具有良好的用戶界面和豐富的模型支持,并提供相應(yīng)的數(shù)據(jù)統(tǒng)計和分析工具,有效地反映模擬結(jié)果。
文檔編號G06F17/50GK1805424SQ20051013711
公開日2006年7月19日 申請日期2005年12月31日 優(yōu)先權(quán)日2005年12月31日
發(fā)明者金海 , 謝夏, 吳松, 李勝利, 黃謹(jǐn), 張琴, 趙俊, 邱昊 申請人:華中科技大學(xué)