云計(jì)算及其仿真環(huán)境CloudSim_第1頁
云計(jì)算及其仿真環(huán)境CloudSim_第2頁
云計(jì)算及其仿真環(huán)境CloudSim_第3頁
云計(jì)算及其仿真環(huán)境CloudSim_第4頁
云計(jì)算及其仿真環(huán)境CloudSim_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、云計(jì)算及其仿真環(huán)境云計(jì)算及其仿真環(huán)境CloudSimCloudSim四川 . 成都2013 年 5 月IT信息革命浪潮2/35小型機(jī)1980s大型機(jī)1960s分布式計(jì)算1990s個(gè)人電腦1990sNEXT云計(jì)算2010s2/34服務(wù)模式3/34平臺即服務(wù)(PaaS)基礎(chǔ)設(shè)施即服務(wù)(IaaS)開發(fā)平臺CPU內(nèi)存存儲應(yīng)用軟件軟件即服務(wù)虛擬機(jī)節(jié)點(diǎn)服務(wù)器軟件即服務(wù)(SaaS)AWSOpenStackEucalyptusIaaS云平臺管理模型4/34IaaS管理模型(文P10-12)部署5/34虛擬機(jī)部署(文P13)提提 綱綱 CloudSim簡介 CloudSim體系結(jié)構(gòu) CloudSim技術(shù)實(shí)現(xiàn) C

2、loudSim的使用方法 CloudSim的擴(kuò)展 CloudSim簡介 CloudSimCloudSim-澳大利亞墨爾本大學(xué)Rajkumar Buyya教授領(lǐng)導(dǎo)團(tuán)隊(duì)開發(fā)的云計(jì)算仿真器,它的首要目標(biāo)是在云基礎(chǔ)設(shè)施(軟件、硬件、服務(wù))上,對不同應(yīng)用和服務(wù)模型的調(diào)度和分配策略的性能進(jìn)行量化和比較,達(dá)到控制使用云計(jì)算資源的目的 仿真框架有特性仿真框架有特性(1)支持在單個(gè)物理計(jì)算節(jié)點(diǎn)上進(jìn)行大規(guī)模云計(jì)算基礎(chǔ)設(shè)施的仿真和實(shí)例化(2)提供一個(gè)獨(dú)立的平臺,供數(shù)據(jù)中心、服務(wù)代理、調(diào)度和分配策略進(jìn)行建模(3)提供虛擬化引擎,可在一個(gè)數(shù)據(jù)中心節(jié)點(diǎn)創(chuàng)建和管理多個(gè)獨(dú)立、協(xié)同的虛擬化服務(wù)(4)可以在共享空間和共享時(shí)間的處

3、理核心分配策略之間靈活地切換虛擬化服務(wù) 提提 綱綱 CloudSim簡介 CloudSim體系結(jié)構(gòu) CloudSim技術(shù)實(shí)現(xiàn) CloudSim的使用方法 CloudSim的擴(kuò)展 CloudSim體系結(jié)構(gòu) CloudSim核心模擬引擎 1 1)CloudSimCloudSim主類,負(fù)責(zé)管理事件隊(duì)列和控制仿真事件的順序執(zhí)行。這些事件按照它們的時(shí)間參數(shù)構(gòu)成有序隊(duì)列 (1)支持實(shí)體失活操作(2)支持不同狀態(tài)實(shí)體的上下文切換,暫?;蚶^續(xù)仿真流程(3)支持運(yùn)行中創(chuàng)建新實(shí)體(4)支持運(yùn)行中終止或重啟仿真流程 CloudSim核心模擬引擎 2 2)DeferredQueueDeferredQueue實(shí)現(xiàn)實(shí)現(xiàn)C

4、loudSimCloudSim使用的延時(shí)事件隊(duì)列使用的延時(shí)事件隊(duì)列3 3)FutureQueueFutureQueue實(shí)現(xiàn)實(shí)現(xiàn)CloudSimCloudSim使用的未來事件隊(duì)列使用的未來事件隊(duì)列4 4)CloudInformationServiceCloudInformationService(CISCIS)提供資源注冊、索引和發(fā)現(xiàn)能力的實(shí)體。支持兩個(gè)基本操作:提供資源注冊、索引和發(fā)現(xiàn)能力的實(shí)體。支持兩個(gè)基本操作:publish()允許實(shí)體使用允許實(shí)體使用CIS進(jìn)行注冊;進(jìn)行注冊;search()允許類似于允許類似于CloudCoordinator和和Brokers的實(shí)體發(fā)現(xiàn)其他實(shí)體的狀態(tài)和位

5、置,該的實(shí)體發(fā)現(xiàn)其他實(shí)體的狀態(tài)和位置,該實(shí)體也會在仿真結(jié)束時(shí)通知其他實(shí)體實(shí)體也會在仿真結(jié)束時(shí)通知其他實(shí)體5 5)SimEntitySimEntity代表一個(gè)仿真實(shí)體,該實(shí)體既能向其他實(shí)體發(fā)送消息,也能處理接代表一個(gè)仿真實(shí)體,該實(shí)體既能向其他實(shí)體發(fā)送消息,也能處理接收到的消息。所有的實(shí)體必須擴(kuò)展該類并重寫其中的三個(gè)核心方法:收到的消息。所有的實(shí)體必須擴(kuò)展該類并重寫其中的三個(gè)核心方法:startEntity()startEntity()、processEvent()processEvent()和和shutdownEntity()shutdownEntity(),它們分別,它們分別定義了實(shí)體初始化、

6、事件處理和實(shí)體銷毀的行為定義了實(shí)體初始化、事件處理和實(shí)體銷毀的行為 CloudSim核心模擬引擎 6 6)CloudSimTagsCloudSimTags包含多個(gè)靜態(tài)的時(shí)間或命令標(biāo)簽,包含多個(gè)靜態(tài)的時(shí)間或命令標(biāo)簽,CloudSimCloudSim實(shí)體在接收和發(fā)送事件實(shí)體在接收和發(fā)送事件時(shí)使用這些標(biāo)簽決定要采取的操作類型時(shí)使用這些標(biāo)簽決定要采取的操作類型7 7)SimEventSimEvent給出了在兩個(gè)或多個(gè)實(shí)體間傳遞仿真事件的過程。給出了在兩個(gè)或多個(gè)實(shí)體間傳遞仿真事件的過程。SimEventSimEvent存儲了存儲了關(guān)于事件的信息,包括事件的類型、初始化時(shí)間、事件發(fā)生的時(shí)間、關(guān)于事件的信息

7、,包括事件的類型、初始化時(shí)間、事件發(fā)生的時(shí)間、結(jié)束時(shí)間、事件轉(zhuǎn)發(fā)到目標(biāo)實(shí)體的時(shí)間、資源標(biāo)識、目標(biāo)實(shí)體、事結(jié)束時(shí)間、事件轉(zhuǎn)發(fā)到目標(biāo)實(shí)體的時(shí)間、資源標(biāo)識、目標(biāo)實(shí)體、事件標(biāo)簽及需要傳輸?shù)侥繕?biāo)實(shí)體的數(shù)據(jù)件標(biāo)簽及需要傳輸?shù)侥繕?biāo)實(shí)體的數(shù)據(jù)8 8)CloudSimShutdownCloudSimShutdown用于結(jié)束所有終端用戶和代理實(shí)體,然后向用于結(jié)束所有終端用戶和代理實(shí)體,然后向CISCIS發(fā)送仿真結(jié)束信號發(fā)送仿真結(jié)束信號9 9)PredicatePredicate抽象類且必須被擴(kuò)展,用于從延時(shí)隊(duì)列中選擇事件抽象類且必須被擴(kuò)展,用于從延時(shí)隊(duì)列中選擇事件CloudSim核心模擬引擎 1010)Predi

8、cateAnyPredicateAny表示匹配延時(shí)隊(duì)列中任何一個(gè)事件。在表示匹配延時(shí)隊(duì)列中任何一個(gè)事件。在CloudSimCloudSim的類中有個(gè)可以公的類中有個(gè)可以公開訪問的實(shí)例開訪問的實(shí)例CloudSim.SIM_ANYCloudSim.SIM_ANY,因此不需要為該類創(chuàng)建新的實(shí)例,因此不需要為該類創(chuàng)建新的實(shí)例1111)PredicateFromPredicateFrom表示選擇被特定實(shí)體放棄的事件表示選擇被特定實(shí)體放棄的事件1212)PredicateNonePredicateNone表示不匹配延時(shí)隊(duì)列中的任何事件。在表示不匹配延時(shí)隊(duì)列中的任何事件。在CloudSimCloudSim中

9、有個(gè)可以公開訪中有個(gè)可以公開訪問的靜態(tài)實(shí)體問的靜態(tài)實(shí)體CloudSim.SIM_NONECloudSim.SIM_NONE,因此用戶不需要為該類創(chuàng)建任,因此用戶不需要為該類創(chuàng)建任何新的實(shí)體何新的實(shí)體1313)PredicateNotFromPredicateNotFrom選擇已經(jīng)被特定對象發(fā)送的事件選擇已經(jīng)被特定對象發(fā)送的事件1414)PredicateTypePredicateType根據(jù)特定標(biāo)簽選擇事件根據(jù)特定標(biāo)簽選擇事件1515)PredicateNotTypePredicateNotType選擇不滿足特定標(biāo)簽的事件選擇不滿足特定標(biāo)簽的事件 CloudSim層 CloudSimCloud

10、Sim仿真層仿真層 -為云數(shù)據(jù)中心環(huán)境的建模和仿真提供支持,包括虛擬機(jī)、內(nèi)存、存儲器和帶寬的專用管理接口。該層主要負(fù)責(zé)處理一些基本問題,如主機(jī)到虛擬機(jī)的調(diào)度、管理應(yīng)用程序的執(zhí)行、監(jiān)控動(dòng)態(tài)變化的系統(tǒng)狀態(tài) 網(wǎng)絡(luò)層網(wǎng)絡(luò)層 -模擬真實(shí)網(wǎng)絡(luò)拓?fù)?,延時(shí)矩陣延時(shí)矩陣中存儲的信息模擬一個(gè)消息從一個(gè)CloudSim實(shí)體(如主機(jī))到另一個(gè)實(shí)體(如云代理)過程中產(chǎn)生的網(wǎng)絡(luò)延時(shí) CloudSim層 2.2.云資源層云資源層-與云相關(guān)的核心硬件基礎(chǔ)設(shè)施均由該層數(shù)據(jù)中心組件來模擬。數(shù)據(jù)中心實(shí)體由一系列主機(jī)組成,主機(jī)負(fù)責(zé)管理虛擬機(jī)在其生命周期內(nèi)的一系列操作。每個(gè)主機(jī)都代表云中的一個(gè)物理計(jì)算節(jié)點(diǎn),它會被預(yù)先配置一些參數(shù),如處

11、理器能力(用MIPS表示)、內(nèi)存、存儲器及為虛擬機(jī)分配處理核的策略等 -為了整合多朵云,需要對云協(xié)調(diào)器(CloudCoordinator)實(shí)體進(jìn)行建模。該實(shí)體不僅負(fù)責(zé)和其他數(shù)據(jù)中心及終端用戶的通信,還負(fù)責(zé)監(jiān)控和管理數(shù)據(jù)中心實(shí)體的內(nèi)部狀態(tài)。在監(jiān)控過程中收到的信息將會活躍于整個(gè)仿真過程中,并被作為云交互時(shí)進(jìn)行調(diào)度決策的依據(jù) CloudSim層 3.云服務(wù)層-虛擬機(jī)分配是主機(jī)創(chuàng)建虛擬機(jī)實(shí)例的一個(gè)過程 ,在云數(shù)據(jù)中心,將特定應(yīng)用的虛擬機(jī)分配給主機(jī)是由虛擬機(jī)分配控制器(VmAllocationPolicy)完成 -考慮情況考慮情況:一臺擁有兩個(gè)CPU內(nèi)核的主機(jī)要運(yùn)行兩個(gè)虛擬機(jī),每個(gè)虛擬機(jī)需要兩個(gè)內(nèi)核并要

12、運(yùn)行4個(gè)任務(wù)單元。更具體來說,VM1上將運(yùn)行任務(wù)t1、t2、t3、t4,而VM2上將運(yùn)行任務(wù)t5、t6、t7、t8 (a)中虛擬機(jī)和任務(wù)單元均采用空間共享策略。由于采用空間共享模式,且每個(gè)虛擬機(jī)需要兩個(gè)內(nèi)核,所以在特定時(shí)間段內(nèi)只能運(yùn)行一個(gè)虛擬機(jī)。因此,VM2只能在VM1執(zhí)行完任務(wù)單元才會被分配內(nèi)核。VM1中的任務(wù)調(diào)度也是一樣的,由于每個(gè)任務(wù)單元只需要一個(gè)內(nèi)核,所以t1和t2可以同時(shí)執(zhí)行,t3、t4則在執(zhí)行隊(duì)列中等待t1、t2完成后再執(zhí)行 (b)虛擬機(jī)采用空間共享策略,任務(wù)單元采用時(shí)間共享策略。因此,在虛擬機(jī)的生命周期內(nèi),所有分配給虛擬機(jī)的任務(wù)單元在其生命周期內(nèi)動(dòng)態(tài)地切換上下文環(huán)境 (c)虛擬機(jī)

13、采用時(shí)間共享策略,任務(wù)單元使用空間共享策略。這種情況下,每個(gè)虛擬機(jī)都會收到內(nèi)核分配的時(shí)間片,然后這些時(shí)間片以空間共享的方式分配給任務(wù)單元。由于任務(wù)單元基于空間共享策略,這就意味著對于一臺虛擬機(jī),在任何一個(gè)時(shí)間段內(nèi),內(nèi)核只會執(zhí)行一個(gè)任務(wù) (d)虛擬機(jī)和任務(wù)單元均采用時(shí)間共享策略。所有虛擬機(jī)共享處理器能力,且每個(gè)虛擬機(jī)同時(shí)將共享的能力分給其任務(wù)單元。這種情況下,任務(wù)單元不存在排隊(duì)延時(shí) CloudSim層 4. 4. 虛擬機(jī)服務(wù)層虛擬機(jī)服務(wù)層-提供了對虛擬機(jī)生命周期的管理,如將主機(jī)分配給虛擬機(jī)、虛擬機(jī)創(chuàng)建、虛擬機(jī)銷毀以及虛擬機(jī)的遷移等,以及對任務(wù)單元的操作5. 5. 用戶接口結(jié)構(gòu)層用戶接口結(jié)構(gòu)層-提

14、供了任務(wù)單元和虛擬機(jī)實(shí)體的創(chuàng)建接口 用戶代碼層 CloudSimCloudSim的最高層是用戶代碼層,該層提供了一些基本的實(shí)的最高層是用戶代碼層,該層提供了一些基本的實(shí)體,如主機(jī)(機(jī)器的數(shù)量、特征等)、應(yīng)用(任務(wù)數(shù)和需體,如主機(jī)(機(jī)器的數(shù)量、特征等)、應(yīng)用(任務(wù)數(shù)和需求)、虛擬機(jī),還有用戶數(shù)量和應(yīng)用類型,以及代理調(diào)度策求)、虛擬機(jī),還有用戶數(shù)量和應(yīng)用類型,以及代理調(diào)度策略等。通過擴(kuò)展這一層提供的基本實(shí)體,云應(yīng)用開發(fā)人員能略等。通過擴(kuò)展這一層提供的基本實(shí)體,云應(yīng)用開發(fā)人員能夠進(jìn)行以下活動(dòng)夠進(jìn)行以下活動(dòng)(1 1)生成工作負(fù)載分配請求和應(yīng)用配置請求)生成工作負(fù)載分配請求和應(yīng)用配置請求(2 2)模擬云

15、可用性場景,并基于自定義配置進(jìn)行穩(wěn)健性測試)模擬云可用性場景,并基于自定義配置進(jìn)行穩(wěn)健性測試(3 3)為云及聯(lián)合云實(shí)現(xiàn)了自定義的應(yīng)用調(diào)度技術(shù))為云及聯(lián)合云實(shí)現(xiàn)了自定義的應(yīng)用調(diào)度技術(shù) 提提 綱綱 CloudSim簡介 CloudSim體系結(jié)構(gòu) CloudSim技術(shù)實(shí)現(xiàn) CloudSim的使用方法 CloudSim的擴(kuò)展 CloudSim云模擬器的類設(shè)計(jì)圖 CloudSim技術(shù)實(shí)現(xiàn) 1 1)BwProvisionerBwProvisioner用于模擬虛擬機(jī)的帶寬分配策略??梢酝ㄟ^擴(kuò)展這個(gè)類反映其應(yīng)用需求的變化,實(shí)現(xiàn)自己的策略(基于優(yōu)先級或服務(wù)質(zhì)量)2 2)CloudCoordinatorCloud

16、Coordinator整合了云數(shù)據(jù)中心,負(fù)責(zé)周期性地監(jiān)控?cái)?shù)據(jù)中心資源的內(nèi)部狀態(tài)和執(zhí)行動(dòng)態(tài)負(fù)載均衡的決策 3 3)CloudletCloudlet模擬了云應(yīng)用服務(wù)(如內(nèi)容分發(fā)、社區(qū)網(wǎng)絡(luò)和業(yè)務(wù)工作流等)。每一個(gè)應(yīng)用服務(wù)都會擁有一個(gè)預(yù)分配的指令長度和其生命周期內(nèi)所需的數(shù)據(jù)傳輸開銷4 4)CloudletSchedulerCloudletScheduler擴(kuò)展實(shí)現(xiàn)了多種策略,用于決定虛擬機(jī)內(nèi)的應(yīng)用服務(wù)如何共享處理器能力。支持兩種調(diào)度策略:空間共享(CloudletSchedulerSpaceShared)和時(shí)間共享(CloudletSchedulerTimeShared)策略 CloudSim技術(shù)實(shí)現(xiàn)

17、 5 5)DatacenterDatacenter模擬了云提供商提供的核心基礎(chǔ)設(shè)施級服務(wù)(硬件)。它封裝了一系列的主機(jī),且這些主機(jī)都支持同構(gòu)和異構(gòu)的資源(內(nèi)存、內(nèi)核、容量和存儲)配置 6 6)DatacenterBrokerDatacenterBroker模擬了一個(gè)代理,負(fù)責(zé)根據(jù)服務(wù)質(zhì)量需求協(xié)調(diào)SaaS提供商和云提供商。該代理代表SaaS提供商,它通過查詢云信息服務(wù)(Cloud Information Service)找到合適的云服務(wù)提供者,并根據(jù)服務(wù)質(zhì)量的需求在線協(xié)商資源和服務(wù)的分配策略 CloudSim技術(shù)實(shí)現(xiàn) 7 7)DatacenterCharacteristicsDatacenter

18、Characteristics包含了數(shù)據(jù)中心資源的配置信息8 8)HostHost模擬如計(jì)算機(jī)、存儲服務(wù)器等物理資源。它封裝了一些重要信息,如內(nèi)存/存儲器的容量、處理器內(nèi)核列表及類型(多核機(jī)器)、虛擬機(jī)之間共享處理能力的分配策略、為虛擬機(jī)分配內(nèi)存和帶寬的策略等9 9)NetworkTopologyNetworkTopology包含模擬網(wǎng)絡(luò)行為(延時(shí))的信息。它里面保存了網(wǎng)絡(luò)拓?fù)湫畔?,該信息由BRITE拓?fù)渖善魃?010)RamProvisionerRamProvisioner代表為虛擬機(jī)分配主存的策略1111)SanStorageSanStorage模擬了云數(shù)據(jù)中心的存儲區(qū)域網(wǎng),主要用于存

19、儲大量數(shù)據(jù),類似于Amazon S3、Azure blob storage等 CloudSim技術(shù)實(shí)現(xiàn) 1212)SensorSensor該接口的實(shí)現(xiàn)必須通過實(shí)例化一個(gè)能夠被云協(xié)調(diào)器使用的傳感器組件,用于監(jiān)控特定的性能參數(shù)(能量消耗、資源利用)。該接口定義了如下方法:(1)為性能參數(shù)設(shè)置最小值和最大值。(2)周期性地更新測量值。(3)該類能夠用于模擬由主流云提供商提供的真實(shí)服務(wù) 1313)VmVm模擬由主機(jī)組件托管和管理的虛擬機(jī) 1414)VmAllocationPolicyVmAllocationPolicy代表虛擬機(jī)監(jiān)視器使用的調(diào)度策略,該策略用于將虛擬機(jī)分配給主機(jī) 1515)VmShed

20、ulerVmSheduler由一個(gè)主機(jī)組件實(shí)現(xiàn),模擬為虛擬機(jī)分配處理核所用的策略(空間共享和時(shí)間共享) 提提 綱綱 CloudSim簡介 CloudSim體系結(jié)構(gòu) CloudSim技術(shù)實(shí)現(xiàn) CloudSim的使用方法 CloudSim的擴(kuò)展 環(huán)境配置 1 1)JDKJDK安裝和配置安裝和配置http:/ C:Program FilesJavajdk1.6.0_24FilesJavajdk1.6.0_24。設(shè)置環(huán)境變量:新建系統(tǒng)變量JAVA_HOME,變量值設(shè)為JDK安裝目錄,即C:Program C:Program FilesJavajdk1.6.0_24FilesJavajdk1.6.0_2

21、4;在Path中加入路徑%JAVA_HOME%bin%JAVA_HOME%bin;在ClassPath中加入路徑%JAVA_HOME%libdt.jar; %JAVA_HOME%libdt.jar; %JAVA_HOME%libtools.jar%JAVA_HOME%libtools.jar2 2)CloudSimCloudSim安裝和配置安裝和配置從/cloudsim/下載CloudSim,本書以CloudSim2.1.1為例。將其解壓到磁盤,例如C:cloudsim-2.1.1。設(shè)置環(huán)境變量:在ClassPath中加入路徑C:cloudsim-C

22、:cloudsim-2.1.1jarscloudsim-2.1.1.jar; C:cloudsim-2.1.1jarscloudsim-2.1.1.jar; C:cloudsim-2.1.1jarscloudsim-examples-2.1.1.jar2.1.1jarscloudsim-examples-2.1.1.jar 運(yùn)行樣例程序 1 1)樣例描述)樣例描述C:cloudsim-2.1.1examples目錄下提供了一些CloudSim樣例程序,每個(gè)樣例模擬的環(huán)境如下:(1)CloudSimExample1.java:創(chuàng)建一個(gè)一臺主機(jī)、一個(gè)任務(wù)的數(shù)據(jù)中心(2)CloudSimExampl

23、e2.java:創(chuàng)建一個(gè)一臺主機(jī)、兩個(gè)任務(wù)的數(shù)據(jù)中心。兩個(gè)任務(wù)具有一樣的處理能力和執(zhí)行時(shí)間(3)CloudSimExample3.java:創(chuàng)建一個(gè)兩臺主機(jī)、兩個(gè)任務(wù)的數(shù)據(jù)中心。兩個(gè)任務(wù)對處理能力的需求不同,同時(shí)根據(jù)申請?zhí)摂M機(jī)的性能不同,所需執(zhí)行時(shí)間也不相同(4)CloudSimExample4.java:創(chuàng)建兩個(gè)數(shù)據(jù)中心,每個(gè)數(shù)據(jù)中心一臺主機(jī),并在其上運(yùn)行兩個(gè)云任務(wù)(5)CloudSimExample5.java:創(chuàng)建兩個(gè)數(shù)據(jù)中心,每個(gè)數(shù)據(jù)中心一臺主機(jī),并在其上運(yùn)行兩個(gè)用戶的云任務(wù)(6)CloudSimExample6.java:創(chuàng)建可擴(kuò)展的仿真環(huán)境(7)CloudSimExample7.j

24、ava:演示如何停止仿真(8)CloudSimExample8.java:演示如何在運(yùn)行時(shí)添加實(shí)體(9)network:包含網(wǎng)絡(luò)仿真的例子(10)power:包含演示CloudSim power-aware特點(diǎn)的例子 運(yùn)行步驟 2.2.運(yùn)行步驟運(yùn)行步驟( Eclipse中執(zhí)行)(1)首先啟動(dòng)Eclipse主程序,在Eclipse主界面上選擇FileNewProject命令,打開“New Project”窗口(如圖9-9所示),新建一個(gè)工程(2)選擇“Java Project”,單擊“Next”,創(chuàng)建一個(gè)Java工程 (3)填寫Java工程的名稱,取消選擇復(fù)選框“Use default loca

25、tion”,瀏覽CloudSim源代碼所在的目錄,并選定該目錄 (4)單擊“Next”按鈕,顯示Java工程的配置界面,該界面的選項(xiàng)卡包括源代碼、工程和庫等信息 (5)單擊“Finish”按鈕完成創(chuàng)建Java工程的工作 在Eclipse的主界面上,選中一個(gè)實(shí)例的源代碼,這里選擇CloudSimExample3,然后單擊運(yùn)行 程序的運(yùn)行結(jié)果 提提 綱綱 CloudSim簡介 CloudSim體系結(jié)構(gòu) CloudSim技術(shù)實(shí)現(xiàn) CloudSim的使用方法 CloudSim的擴(kuò)展 調(diào)度策略的擴(kuò)展 1. 順序分配策略新寫一個(gè)方法bindCloudletsToVmsSimple(),用于把一組任務(wù)順序分

26、配給一組虛擬機(jī),當(dāng)所有的虛擬機(jī)都運(yùn)行有任務(wù)后,再從第一個(gè)虛擬機(jī)開始重頭分配任務(wù) 2. 貪心策略為DatacenterBroker類再寫一新方法bindCloudletsToVmsTimeAwared (),該方法采用貪心策略。定義一個(gè)矩陣timeij,表示任務(wù)i在虛擬機(jī)j上所需的執(zhí)行時(shí)間。在初始化矩陣time前,首先將任務(wù)按MI的大小降序排序,將虛擬機(jī)按MIPS的大小升序排列 貪心策略貪心策略:從矩陣中行號為0的任務(wù)開始,每次都嘗試分配給最后一列對應(yīng)的虛擬機(jī),如果該選擇相對于其他選擇是最優(yōu)的,就完成分配,否則將任務(wù)分配給使當(dāng)前結(jié)果最優(yōu)的虛擬機(jī)。同時(shí),如果有多種分配方法都能使當(dāng)前結(jié)果最優(yōu),則將任務(wù)分配給運(yùn)行任務(wù)最少的虛擬機(jī) 源代碼可在源代碼可在http:/http:/的教材板塊下載!的教材板塊下載! 仿真核心代碼 1.1.仿真步驟仿真步驟 (1)初始化CloudSim包(2)創(chuàng)建數(shù)據(jù)中心 (a)創(chuàng)建主機(jī)列表 (b)創(chuàng)建PE列表 (c)創(chuàng)建PE并將其添加到上一步創(chuàng)建的PE列表中,可對其ID和MIPS進(jìn)行設(shè)置 (d)創(chuàng)建主機(jī),并將其添加到主機(jī)列表中,主機(jī)的配置參數(shù)有ID、內(nèi)存、帶寬、存儲、PE及虛擬機(jī)分配策略(時(shí)間或空間共享) (e)創(chuàng)建數(shù)據(jù)中心特征對象,用來存儲數(shù)據(jù)中心的屬性,包含體系結(jié)構(gòu)、操作系統(tǒng)、機(jī)器列表、分配策略(時(shí)間、空間共享)、時(shí)區(qū)以及各項(xiàng)費(fèi)用(內(nèi)存、外存、

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論