摘 要:分析云計算仿真工具CloudSim的體系結構、核心類庫和仿真流程,通過在擴展后的CloudSim平臺上對云任務調度算法進行仿真實驗,驗證了CloudSim進行云計算仿真實驗的可行性。
關鍵詞:云計算 仿真工具 CloudSim
中圖分類號:TP302 文獻標識碼:A 文章編號:1672-3791(2016)01(b)-0000-00
隨著云計算技術和云服務的迅猛發(fā)展,急需尋求一種云計算環(huán)境下分布式系統(tǒng)模擬器實現(xiàn)云計算試驗的模擬。
本文在分析云計算仿真工具CloudSim體系結構、核心類和仿真流程的基礎上,對擴展和重編譯的CloudSim進行了云任務調度算法的測試,并對結果進行了記錄和分析,驗證了CloudSim進行云計算仿真實驗的可行性[1]。
1 CloudSim簡介
CloudSim是云計算技術出現(xiàn)后推出的一種通用性和可擴展性較好的云計算仿真軟件,主要是對云環(huán)境下的資源分配以及服務調度來進行性能的測試和優(yōu)化等研究,它的出現(xiàn)對云計算算法、方法和服務的發(fā)展都是十分有利的。CloudSim體現(xiàn)了云計算中虛擬化技術,在擴展部分通過一系列接口來提供基于數據中心的虛擬化技術和虛擬化云的建模及仿真,同時還提供了資源的監(jiān)測以及主機到虛擬機的映射 [2]。CloudSim是一款開源軟件,可運行在Windows系統(tǒng)和Linux系統(tǒng)上,還可以根據需要進行擴展,以滿足不同用戶的不同需求。
1.1 CloudSim體系結構
CloudSim采用的是分層體系結構,CloudSim發(fā)展到今天的版本,主要由CloudSim核心模擬引擎、CloudSim和UserCode三層組成。
(1) CloudSim核心模擬引擎
CloudSim模擬引擎包含以下一些類:CloudSim類、FutureQueueq類、DeferredQueue類、SimEvent類、SimEntity類、CloudSimTags類、CloudInformationService(CIS) 類、CloudSimShutdown類.。
(2) CloudSim
Cloudsim層提供了基于數據中心的虛擬化技術以及虛擬云的建模與仿真,Cloudsim層需要對應用執(zhí)行的狀態(tài)進行管理、對動態(tài)系統(tǒng)的狀態(tài)進行監(jiān)測、對主機租用的情況進行監(jiān)測。概括起來,Cloudsim層從低到高包括網絡層、云資源層、云服務層、虛擬機服務層和用戶接口結構層這五部分。[3]
(3) UserCode
用戶代碼(UserCode)層提供了一些基本的實體,如虛擬機、主機和應用,還提供了用戶的數量、應用類型和調度策略等。云技術方面的應用開發(fā)人員可以在UserCode層通過測試場景的設置,并根據場景來測試各種功能。用戶可以對該層進行擴展,以實現(xiàn)一些特有功能來滿足特定需求。
1.2 CloudSim類設計
云計算仿真器CloudSim是在原有版本的GridSim層上新增了一些類來體現(xiàn)云計算的特點的,其中最主要的9個類如下:
(1) Datecenter類,這個是數據中心類,云計算中虛擬化網絡資源的提供者,查詢虛擬機的相關信息,以及虛擬機對資源的分配策略等都是通過Datecenter類實現(xiàn)的。
(2) Cloudlet類,構建云環(huán)境下的任務,對應用服務進行建模[3]。
(3) Host類,該類是主機類,對虛擬機的一些相關參數的分配策略進行了擴展,其中不包括虛擬機的處理單元,一臺主機可以與多臺虛擬機相對應,即一對多的關系。
(4) VirtualMachine類,這個類是虛擬機類,它是在主機之上運行的,主機的資源是供它和其余的虛擬機共享的,這里的共享資源包括時間和空間資源。每一個擁有虛擬機的用戶都可以提交任務,同時這個虛擬機的調度策略可以由VMscheduler類實現(xiàn)。[3]
(5) VMCharateristics類,主要是用來描述虛擬機的相關參數信息。
(6) VMScheduler類,這個類是用來描述虛擬機調度策略的,主要是對任務的執(zhí)行情況進行管理,同時任務之間的接口也是依靠VMScheduler類實現(xiàn)的。
(7) VMProvisioner類,這個類主要是用來實現(xiàn)主機和虛擬機相互之間的映射關系。
(8) VMMAllocationPolicy類,這個類是虛擬機監(jiān)視器策略類,主要是用來刻畫同一個主機上的多臺虛擬機之間用來共享資源所采用的策略。
(9) DatecenterBroker類,該層的主要任務是實現(xiàn)虛擬機管理的隱藏,包括虛擬機的創(chuàng)建、任務的提交和虛擬機銷毀等工作[4]。
2 CloudSim環(huán)境配置和仿真流程
Cloudsim環(huán)境配置分為三步:DK安裝和配置、CloudSim安裝和配置、CloudSim項目導入。
在CloudSim上進行算法仿真的流程是:(1)創(chuàng)建一個數據中心,包括數據中心的CPU、內存和帶寬等一些相關資源;(2)向CIS注冊,這是通過發(fā)送注冊消息到云信息服務-CIS來實現(xiàn)的。CloudSim的仿真過程可以概括如下:
3 CloudSim仿真實驗與結果分析
3.1 仿真實驗的實現(xiàn)
本文對云計算仿真工具CloudSim進行擴展,即對CloudSim平臺的DatacenterBroker類擴展,寫一個新方法bindCloudletToVM()用于實現(xiàn)自己所需算法,然后在擴展后的平臺上進行模擬實驗和相關性能的測試。
本文創(chuàng)建一組8個任務和存在性能差異及偏好的4個虛擬機,其他條件不變的情況下通過改變任務參數和虛擬機參數對云計算中Min-Min調度算法、遺傳調度算法(GA)和改進遺傳調度算法(IGOA)進行模擬,共運行10次,并記錄數據,同時對算法執(zhí)行時間進行對比。
3.2 結果分析
根據上述實驗方法對任務調度算法進行仿真實驗,對實驗結果的相關數據進行記錄。通過對實驗結果的數據進行分析,驗證了CloudSim進行云計算相關實驗的可行性。
4 結論
本文在分析云計算仿真工具CloudSim的體系機構、技術實現(xiàn)和仿真流程等的基礎上,通過云計算中任務調度算法的仿真實驗驗證了CloudSim的效率在一定程度上是比較優(yōu)異的。
參考文獻
[1] 王霞俊,CloudSim云計算仿真工具研究及應用[J].微型電腦應用,2013,29(8):59-61.
[2] 樊雪梅.關于云服務技術發(fā)展的研究與綜述[N].中國新聞技術工作者聯(lián)合會2011年學術年會論文集.
[3] 何婧媛.云服務中任務調度和結果回收策略研究[D].西安工業(yè)大學,2013,3.
[4] 趙春艷.云環(huán)境下作業(yè)調度算法研究與實現(xiàn)[D].北京交通大學,2009,6.