版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
云計(jì)算與大數(shù)據(jù)技術(shù)
人民郵電出版社王鵬黃焱安俊秀張逸琴編著
云計(jì)算與大數(shù)據(jù)技術(shù)人民郵電出版社王鵬黃焱安俊秀1目錄第1章云計(jì)算與大數(shù)據(jù)基礎(chǔ)第2章云計(jì)算與大數(shù)據(jù)的相關(guān)技術(shù)第3章虛擬化技術(shù)第4章集群系統(tǒng)基礎(chǔ)第5章MPI—面向計(jì)算第6章Hadoop—分布式大數(shù)據(jù)系統(tǒng)第7章HPCC—面向數(shù)據(jù)的高性能計(jì)算集群系統(tǒng)第8章Storm—基于拓?fù)涞牧鲾?shù)據(jù)實(shí)時(shí)計(jì)算系統(tǒng)第9章服務(wù)器與數(shù)據(jù)中心第10章云計(jì)算大數(shù)據(jù)仿真技術(shù)CONTENTS第10章云計(jì)算大數(shù)據(jù)仿真技術(shù)目錄第1章云計(jì)算與大數(shù)據(jù)基礎(chǔ)CONTENTS第102第10章云計(jì)算大數(shù)據(jù)仿真技術(shù)《云計(jì)算與大數(shù)據(jù)技術(shù)》
第10章云計(jì)算大數(shù)據(jù)仿真技術(shù)《云計(jì)算與大數(shù)據(jù)技術(shù)》3第10章云計(jì)算大數(shù)據(jù)仿真技術(shù)10.1用參數(shù)定義物理設(shè)備進(jìn)行仿真10.2云計(jì)算仿真系統(tǒng)—CloudSim10.2.1CloudSim基礎(chǔ)10.2.2CloudSim體系結(jié)構(gòu)10.2.3CloudSim的使用模型場(chǎng)景10.2.4CloudSim使用實(shí)例10.3云計(jì)算系統(tǒng)相空間模型第10章云計(jì)算大數(shù)據(jù)仿真技術(shù)10.1用參數(shù)定義物理設(shè)備4計(jì)算機(jī)仿真是將現(xiàn)實(shí)生活中的系統(tǒng),用計(jì)算機(jī)軟件的方法在計(jì)算機(jī)中建立虛擬的替代物,以方便人們研究系統(tǒng)各個(gè)方面的性質(zhì)。比如,我們可以使用計(jì)算機(jī)軟件對(duì)不同氣候條件下的導(dǎo)彈的發(fā)射進(jìn)行建模,模擬導(dǎo)彈的運(yùn)動(dòng)軌跡,我們可以對(duì)不同型號(hào)的導(dǎo)彈在不同的動(dòng)力系統(tǒng)條件下的運(yùn)動(dòng)軌跡進(jìn)行反復(fù)實(shí)驗(yàn)。使用計(jì)算機(jī)軟件的仿真技術(shù)具有經(jīng)濟(jì)、安全、可重復(fù)和不受氣候、場(chǎng)地、時(shí)間限制的優(yōu)勢(shì),是理論推導(dǎo)和科學(xué)實(shí)驗(yàn)之外人類認(rèn)識(shí)自然、改造自然的重要手段。計(jì)算機(jī)仿真是將現(xiàn)實(shí)生活中的系統(tǒng),用計(jì)算機(jī)軟件的方法在計(jì)算機(jī)中5本書前面幾章講解了基于虛擬化的云計(jì)算技術(shù)、基于集群的云計(jì)算技術(shù)和云計(jì)算數(shù)據(jù)中心的相關(guān)知識(shí),基于這些技術(shù)目前已經(jīng)有很多的系統(tǒng)級(jí)、算法級(jí)和應(yīng)用級(jí)的研究展開,這些開發(fā)和研究大多需要仿真平臺(tái)。比如,技術(shù)研發(fā)人員對(duì)大規(guī)模集群的資源調(diào)度、負(fù)載均衡、集群拓?fù)涞日归_研究,如果在物理機(jī)上進(jìn)行實(shí)驗(yàn),必然需要消耗大量的服務(wù)器、網(wǎng)絡(luò)設(shè)備資源,實(shí)驗(yàn)環(huán)境的準(zhǔn)備、實(shí)驗(yàn)數(shù)據(jù)的采集、實(shí)驗(yàn)方案的調(diào)試很不方便,同時(shí)成本很高,使用仿真系統(tǒng)是一個(gè)很好的解決方案;對(duì)于數(shù)據(jù)中心的建設(shè)和運(yùn)營(yíng)人員來說,數(shù)據(jù)中心的能耗測(cè)算和經(jīng)濟(jì)測(cè)算非常重要,需要在項(xiàng)目建設(shè)之前進(jìn)行預(yù)估,無法在實(shí)際的平臺(tái)上進(jìn)行測(cè)算,展開研究需要先在仿真實(shí)驗(yàn)平臺(tái)上進(jìn)行實(shí)驗(yàn)。本書前面幾章講解了基于虛擬化的云計(jì)算技術(shù)、基于集群的云計(jì)算技610.1用參數(shù)定義物理設(shè)備進(jìn)行仿真本章的主要內(nèi)容包括云計(jì)算仿真軟件CloudSim和云計(jì)算系統(tǒng)相空間模型,通過仿真軟件和仿真模型使讀者快速掌握云計(jì)算仿真的基礎(chǔ)知識(shí)。10.1用參數(shù)定義物理設(shè)備進(jìn)行仿真在仿真系統(tǒng)中,我們一般將實(shí)體的參數(shù)提取出來,用變量、對(duì)象、數(shù)組來定義現(xiàn)實(shí)中的事物在計(jì)算機(jī)系統(tǒng)中構(gòu)建被仿真對(duì)象。服務(wù)器是數(shù)據(jù)中心的主要組成部分,我們可以將服務(wù)器的計(jì)算性能、CPU核數(shù)、硬盤大小、內(nèi)存大小、網(wǎng)絡(luò)帶寬等主要參數(shù)提取出來,構(gòu)建服務(wù)器對(duì)象。10.1用參數(shù)定義物理設(shè)備進(jìn)行仿真本章的主要內(nèi)容包括云計(jì)算710.1用參數(shù)定義物理設(shè)備進(jìn)行仿真下面以一個(gè)由4個(gè)虛擬機(jī)節(jié)點(diǎn)組成的集群為例,說明如何使用參數(shù)來定義物理節(jié)點(diǎn),集群的參數(shù)信息如表10.1所示。表10.1虛擬機(jī)性能參數(shù)計(jì)算能力(MIPS)CPU核數(shù)硬盤大小(MB)內(nèi)存大小(MB)網(wǎng)絡(luò)帶寬(MB)節(jié)點(diǎn)13002100005121000節(jié)點(diǎn)2300210000512500節(jié)點(diǎn)315015000256500節(jié)點(diǎn)415015000256100010.1用參數(shù)定義物理設(shè)備進(jìn)行仿真下面以一個(gè)由4個(gè)虛810.1用參數(shù)定義物理設(shè)備進(jìn)行仿真我們可以用數(shù)組來定義:doublenode[4][5]={300,2,10000,512,1000;300,2,10000,512,500;150,1,5000,256,500;150,1,5000,256,1000};對(duì)硬盤、內(nèi)存等其他設(shè)備也可以如此進(jìn)行定義,比如,硬盤可以用品牌、型號(hào)、尺寸、容量、轉(zhuǎn)速、傳輸速度等參數(shù)來定義,內(nèi)存可以用品牌、型號(hào)、容量、速度、電壓等參數(shù)來定義。在對(duì)數(shù)據(jù)中心的經(jīng)濟(jì)模型進(jìn)行仿真時(shí),我們需要對(duì)CPU核單價(jià)、硬盤空間單價(jià)、內(nèi)存空間單價(jià)、網(wǎng)絡(luò)帶寬單價(jià)等進(jìn)行定義,確定銷售經(jīng)濟(jì)模型。同時(shí),需要定義數(shù)據(jù)中心能耗費(fèi)用、維護(hù)費(fèi)用、人員成本等,從而綜合確定數(shù)據(jù)中心的經(jīng)濟(jì)模型,對(duì)數(shù)據(jù)中心建成后的營(yíng)收情況進(jìn)行預(yù)測(cè)。10.1用參數(shù)定義物理設(shè)備進(jìn)行仿真我們可以用數(shù)組來定義:910.2云計(jì)算仿真系統(tǒng)—CloudSim10.2.1CloudSim基礎(chǔ)1.CloudSim簡(jiǎn)介CloudSim是澳大利亞墨爾本大學(xué)云計(jì)算與分布式系統(tǒng)實(shí)驗(yàn)室開發(fā)的一種通用、可擴(kuò)展的云計(jì)算仿真框架,也是一個(gè)云計(jì)算仿真工具集,提供了用于描述數(shù)據(jù)中心、虛擬機(jī)、應(yīng)用、用戶、計(jì)算資源和管理策略等核心類。對(duì)海量集群資源的模擬仿真一直是是計(jì)算機(jī)領(lǐng)域的研究課題。在網(wǎng)格計(jì)算時(shí)代出現(xiàn)了很多仿真平臺(tái),如GridSim、SimGrid、OptorSim、GangSim等,其中GridSim的開發(fā)團(tuán)隊(duì)也是澳大利亞墨爾本大學(xué)云計(jì)算與分布式系統(tǒng)實(shí)驗(yàn)室。GridSim等網(wǎng)格計(jì)算仿真軟件沒有將云計(jì)算體系中的SaaS、PaaS、IaaS層抽象出來,也沒有虛擬化模型和資源管理模型,CloudSim繼承了GridSim的編程模型,彌補(bǔ)了網(wǎng)格計(jì)算模擬軟件的不足。10.2云計(jì)算仿真系統(tǒng)—CloudSim10.2.1Cl1010.2.1CloudSim基礎(chǔ)基于CloudSim云計(jì)算仿真器,我們不僅能夠很方便地搭建可控的云環(huán)境進(jìn)而對(duì)系統(tǒng)的資源調(diào)度和負(fù)載均衡策略進(jìn)行建模和測(cè)試,還可以對(duì)云應(yīng)用進(jìn)行建模和測(cè)試。研發(fā)人員根據(jù)測(cè)評(píng)結(jié)果針對(duì)性地調(diào)整性能瓶頸。與此同時(shí),CloudSim對(duì)云系統(tǒng)建立了價(jià)格模型和能耗模型,幫助服務(wù)提供商制訂出更加合理的價(jià)格策略和節(jié)能機(jī)制。用戶可以使用CloudSim提供的組件進(jìn)行編程,構(gòu)造自己的應(yīng)用場(chǎng)景,也可以擴(kuò)展或者自己編寫類來進(jìn)行仿真,使用起來非常靈活。這一點(diǎn)與針對(duì)特定使用場(chǎng)景的仿真系統(tǒng)不同,針對(duì)特定使用場(chǎng)景的仿真系統(tǒng)在使用的時(shí)候只需填寫參數(shù)即可使用,無需編程,但無法靈活地構(gòu)建使用場(chǎng)景。10.2.1CloudSim基礎(chǔ)基于CloudSim云計(jì)算1110.2.1CloudSim基礎(chǔ)CloudSim是使用Java語言開發(fā)的,用戶只需掌握J(rèn)ava語言的用法和云計(jì)算的相關(guān)知識(shí),即可建立云計(jì)算模型進(jìn)行仿真。仿真平臺(tái)是個(gè)模擬器,并不能運(yùn)行真實(shí)的云計(jì)算平臺(tái)上的應(yīng)用程序。CloudSim在物理主機(jī)和虛擬機(jī)兩個(gè)層面進(jìn)行資源分配。物理主機(jī)中構(gòu)建的所有虛擬機(jī)共享物理資源,由CloudSim中的VmScheduler負(fù)責(zé)資源的分配;CloudSim中仿真的任務(wù)稱為Cloudlet,集群中的虛擬機(jī)有大量的Cloudlet需要資源,由CloudSim中的虛擬機(jī)資源調(diào)度器CloudletScheduler負(fù)責(zé)資源的分配。10.2.1CloudSim基礎(chǔ)CloudSim是使用Ja1210.2.1CloudSim基礎(chǔ)2.為什么要使用CloudSim
對(duì)于技術(shù)研發(fā)人員來說,大規(guī)模集群的資源調(diào)度、負(fù)載均衡、集群平臺(tái),集群拓?fù)涞妊芯咳绻谖锢頇C(jī)上進(jìn)行,需要大量的服務(wù)器、網(wǎng)絡(luò)設(shè)備資源,實(shí)驗(yàn)環(huán)境的準(zhǔn)備、實(shí)驗(yàn)數(shù)據(jù)的采集、實(shí)驗(yàn)方案的調(diào)試很不方便、成本很高,需要先在仿真實(shí)驗(yàn)平臺(tái)上進(jìn)行實(shí)驗(yàn)。對(duì)云應(yīng)用服務(wù)的測(cè)試也會(huì)比較麻煩,主要表現(xiàn)在:
(1)應(yīng)用服務(wù)商直接將應(yīng)用部署到云平臺(tái)上之后再進(jìn)行測(cè)試,無疑會(huì)帶來額外的成本開銷。一旦應(yīng)用程序接入云平臺(tái)就必須要繳納相應(yīng)的費(fèi)用,這樣在應(yīng)用沒有任何經(jīng)濟(jì)效益的情況下就產(chǎn)生了額外的費(fèi)用,對(duì)于SaaS提供商來說是不經(jīng)濟(jì)的;(2)實(shí)際運(yùn)行的云平臺(tái)環(huán)境(IaaS、PaaS)是不可控的,整個(gè)互聯(lián)網(wǎng)環(huán)境時(shí)而擁塞,時(shí)而清閑,從而導(dǎo)致了云平臺(tái)資源使用的無規(guī)律性和不可再現(xiàn)性,不利于應(yīng)用的重復(fù)測(cè)試。10.2.1CloudSim基礎(chǔ)2.為什么要使用Cloud1310.2.1CloudSim基礎(chǔ)3.CLoudSim的特點(diǎn)(1)能夠在一臺(tái)PC上建模和仿真大規(guī)模云計(jì)算基礎(chǔ)設(shè)施,如數(shù)據(jù)中心、物理主機(jī)等;(2)支持用戶任務(wù)以及服務(wù)代理的建模和仿真;(3)支持對(duì)云計(jì)算環(huán)境中的網(wǎng)絡(luò)環(huán)境進(jìn)行建模;(4)有效地利用虛擬化引擎,幫助在數(shù)據(jù)中心節(jié)點(diǎn)上創(chuàng)建、管理和銷毀多個(gè)虛擬節(jié)點(diǎn);(5)可以靈活地在基于時(shí)間共享和基于空間共享的虛擬化策略之間進(jìn)行切換;(6)支持對(duì)云數(shù)據(jù)中心的能耗行為進(jìn)行建模和仿真;(7)可以方便地建立云平臺(tái)資源的價(jià)格策略,包括存儲(chǔ)價(jià)格、帶寬價(jià)格等;(8)能夠模仿多個(gè)云廠家之間進(jìn)行透明交易,包括任務(wù)遷移、存儲(chǔ)遷移、價(jià)格協(xié)商等。10.2.1CloudSim基礎(chǔ)3.CLoudSim的特點(diǎn)1410.1CloudSim分層體系架構(gòu)10.2.2CloudSim多層體系結(jié)構(gòu)10.1CloudSim分層體系架構(gòu)10.2.2Clou1510.2.2CloudSim體系結(jié)構(gòu)1.用戶代碼層用戶代碼層處于系統(tǒng)的上層,包含仿真描述和調(diào)度策略,用戶在這一層定義云計(jì)算方案、用戶需求,進(jìn)行應(yīng)用配置,同時(shí)云應(yīng)用開發(fā)人員可以生成工作流請(qǐng)求,根據(jù)用戶的配置進(jìn)行云計(jì)算場(chǎng)景的強(qiáng)力測(cè)試。(1)仿真描述。對(duì)于云服務(wù)使用者來說,他們需要測(cè)試應(yīng)用程序在特定云平臺(tái)上的服務(wù)性能,或者測(cè)試應(yīng)用程序需要占用多少云資源,只需創(chuàng)建與特定云平臺(tái)類似的虛擬云平臺(tái),并按應(yīng)用程序的需求(如帶寬、內(nèi)存等)創(chuàng)建對(duì)應(yīng)的云任務(wù)(在CloudSim中云任務(wù)被定義為Cloudlet)。之后,就可以讓云任務(wù)運(yùn)行在虛擬的云平臺(tái)上最終得到測(cè)試結(jié)果。比如,一個(gè)亞馬遜云平臺(tái)的使用者,想在其上部署一個(gè)網(wǎng)絡(luò)硬盤的應(yīng)用程序,希望估算需要租用多少服務(wù),可以使用CloudSim進(jìn)行仿真。首先,使用CloudSim建立一個(gè)虛擬的亞馬遜云平臺(tái);然后,在其上建立一定數(shù)量的虛擬機(jī)資源對(duì)應(yīng)某一云服務(wù)性能;最后,按照自己的預(yù)期生成云服務(wù)(比如,需要多大的硬盤、帶寬、內(nèi)存等),使其運(yùn)行在之前建立的虛擬的云服務(wù)上得出測(cè)試結(jié)果。10.2.2CloudSim體系結(jié)構(gòu)1.用戶代碼層1610.2.2CloudSim體系結(jié)構(gòu)(2)調(diào)度策略。從云服務(wù)提供者的角度,服務(wù)提供者想測(cè)試云平臺(tái)任務(wù)調(diào)度策略是否合理,或者服務(wù)商提出一種新的任務(wù)調(diào)度策略,在使用之前需要對(duì)其進(jìn)行測(cè)試。測(cè)試的重心相較于CloudSim就不一樣了,測(cè)試的步驟需要先實(shí)現(xiàn)自定義的任務(wù)調(diào)度策略(主要是更改數(shù)據(jù)中心代理DatacenterBroker)。比如,亞馬遜的用戶發(fā)現(xiàn)當(dāng)前的任務(wù)調(diào)度策略沒有發(fā)揮最好的作用,設(shè)計(jì)實(shí)現(xiàn)了一種新的調(diào)度策略,可以先在CloudSim進(jìn)行仿真。首先,改寫DatacenterBroker的任務(wù)調(diào)度策略的代碼;然后,創(chuàng)建云平臺(tái)和云任務(wù)并運(yùn)行,最終得出測(cè)試結(jié)果。10.2.2CloudSim體系結(jié)構(gòu)(2)調(diào)度策略。1710.2.2CloudSim體系結(jié)構(gòu)2.CloudSim層CloudSim仿真層的主要作用是對(duì)基于虛擬化的數(shù)據(jù)中心環(huán)境中的虛擬機(jī)、內(nèi)存、存儲(chǔ)、帶寬等進(jìn)行建模仿真。將物理機(jī)切分為虛擬機(jī)、應(yīng)用程序管理、集群系統(tǒng)狀態(tài)監(jiān)控等工作由CloudSim仿真層來完成。用戶在CloudSim仿真層編寫自己的策略,就可以對(duì)虛擬化數(shù)據(jù)中心的虛擬主機(jī)分配策略進(jìn)行研究,評(píng)估不同的分配策略下數(shù)據(jù)中心的運(yùn)行情況。云應(yīng)用開發(fā)人員可以在CloudSim仿真層測(cè)試不同的云應(yīng)用的運(yùn)行效果。實(shí)際的云計(jì)算環(huán)境中基本組成元素是數(shù)據(jù)中心(Datacenter)。數(shù)據(jù)中心包含了大量的物理主機(jī),且云環(huán)境下的物理主機(jī)是可以被多個(gè)虛擬機(jī)共享的,CloudSim定義了一組資源共享策略的接口(UtilizationModel),來描述如何使用共享資源,CloudSim中的主機(jī)可以被多個(gè)虛擬機(jī)共享。資源共享策略主要有空間共享(Space-Based)策略和時(shí)間共享(Time-Based)策略。10.2.2CloudSim體系結(jié)構(gòu)2.CloudSim1810.2.2CloudSim體系結(jié)構(gòu)空間共享策略是指在某一段時(shí)間內(nèi)只把計(jì)算資源分配給某一個(gè)虛擬機(jī)/計(jì)算任務(wù)獨(dú)占;時(shí)間共享策略是指某一時(shí)間段內(nèi)計(jì)算資源可以在多個(gè)虛擬機(jī)/計(jì)算任務(wù)之間進(jìn)行共享。例如,一臺(tái)具有兩個(gè)CPU的主機(jī),CloudSim在主機(jī)上部署了2個(gè)虛擬機(jī)VM1、VM2,每個(gè)虛擬機(jī)都有4個(gè)任務(wù),VM1上的任務(wù)為t1、t2、t3、t4,VM2上的任務(wù)為t5、t6、t7、t8,如圖10.2所示圖10.2不同資源共享策略下的任務(wù)執(zhí)行情況10.2.2CloudSim體系結(jié)構(gòu)空間共享策略是指在某1910.2.2CloudSim體系結(jié)構(gòu)圖10(a)所示為主機(jī)層和虛擬機(jī)層都采用空間共享策略的計(jì)算任務(wù)時(shí)間圖,VM1先獨(dú)占2個(gè)CPU,待任務(wù)處理完再交給VM2,同時(shí)任務(wù)t1和任務(wù)t2分別獨(dú)占CPU1和CPU2,待處理完成后交給t3和t4;圖10(b)所示為主機(jī)層采用空間共享的策略,在虛擬機(jī)層采用時(shí)間共享的策略。圖10(c)所示為在主機(jī)層采用時(shí)間共享的策略,虛擬機(jī)層采用空間共享的策略;圖10(d)所示為在主機(jī)和虛擬機(jī)層都采用了時(shí)間共享策略。10.2.2CloudSim體系結(jié)構(gòu)圖10(a)所示為主2010.2.3CloudSim的使用模型場(chǎng)景CloudSim的用途十分廣泛,本節(jié)講解CloudSim的3種典型的使用模型場(chǎng)景。1.云數(shù)據(jù)中心的能耗模型云計(jì)算系統(tǒng)包含大量互相連接的主機(jī)、存儲(chǔ)設(shè)備和網(wǎng)絡(luò)設(shè)備等,維持這樣龐大的系統(tǒng)運(yùn)行需要消耗大量的電力。CloudSim提供了電力控制策略的模擬,能夠讓用戶設(shè)計(jì)出符合本地?cái)?shù)據(jù)中心特點(diǎn)的電力方案,從而節(jié)約成本,提高整個(gè)系統(tǒng)的運(yùn)行效率。在CloudSim中實(shí)現(xiàn)一個(gè)抽象類PowerModel,用來對(duì)電力策略進(jìn)行建模。用戶可以通過繼承該抽象類,編寫自己的電力供應(yīng)方案,在CloudSim上進(jìn)行仿真實(shí)驗(yàn),從而驗(yàn)證供電方案的整體效果。10.2.3CloudSim的使用模型場(chǎng)景CloudSim2110.2.3CloudSim的使用模型場(chǎng)景2.云平臺(tái)的經(jīng)濟(jì)模型云計(jì)算是基于互聯(lián)網(wǎng)的服務(wù)的增加、使用和交付模式,通常涉及通過互聯(lián)網(wǎng)來提供動(dòng)態(tài)、易擴(kuò)展且經(jīng)常是虛擬化的資源。用戶可以像使用水和電一樣使用云計(jì)算資源,只需付費(fèi)給云服務(wù)提供商就可以租用其提供的計(jì)算、存儲(chǔ)以及網(wǎng)絡(luò)等資源。對(duì)計(jì)算資源、網(wǎng)絡(luò)資源以及存儲(chǔ)資源的定價(jià)對(duì)于數(shù)據(jù)中心的運(yùn)營(yíng)非常重要。10.2.3CloudSim的使用模型場(chǎng)景2.云平臺(tái)的經(jīng)濟(jì)2210.2.3CloudSim的使用模型場(chǎng)景CloudSim中對(duì)定價(jià)策略進(jìn)行模擬分為基礎(chǔ)設(shè)施層和服務(wù)層兩個(gè)層次。(1)基礎(chǔ)設(shè)施層:這一層主要包括內(nèi)存單元的價(jià)格、外存的價(jià)格、數(shù)據(jù)傳輸?shù)膯挝怀杀疽约坝?jì)算資源的價(jià)格。(2)服務(wù)層:這一層主要是應(yīng)用程序服務(wù)使用的資源價(jià)格。如果使用者只是利用了云中的基礎(chǔ)設(shè)施而沒有在其上部署任何的應(yīng)用,比如只是創(chuàng)建了幾臺(tái)虛擬機(jī),并沒有在虛擬機(jī)上運(yùn)行任何的任務(wù),那么他將不需要為服務(wù)層付費(fèi)。CloudSim的數(shù)據(jù)中心類(Datacenter)包含了一些關(guān)于價(jià)格的參數(shù),如CPU的使用價(jià)格、網(wǎng)絡(luò)的使用價(jià)格、內(nèi)存和硬盤的使用價(jià)格等,方便價(jià)格策略的建模。10.2.3CloudSim的使用模型場(chǎng)景CloudSim2310.2.3CloudSim的使用模型場(chǎng)景3.聯(lián)合云模型先對(duì)以下幾個(gè)概念進(jìn)行區(qū)分:公有云、私有云、混合云以及聯(lián)合云。(1)公有云:面向互聯(lián)網(wǎng)大眾的云服務(wù)。其受眾是整個(gè)互聯(lián)網(wǎng)環(huán)境下的所有人,只要注冊(cè)繳納一定的費(fèi)用任何人都可以使用其提供的云服務(wù)。目前,比較流行的公有云平臺(tái)有國(guó)外的AmazonEC2、GAE(GoogleAppEngine),國(guó)內(nèi)的SAE(SinaAppEngine)、BAE(BaiduAppEngine)等。(2)私有云:面向企業(yè)內(nèi)部的云計(jì)算平臺(tái)。使用其提供的云服務(wù)需要一定的權(quán)限,一般只提供給企業(yè)內(nèi)部員工使用。其主要目的是合理地組織企業(yè)已有的軟硬件資源,提供更加可靠、彈性的服務(wù)供企業(yè)內(nèi)部使用。10.2.3CloudSim的使用模型場(chǎng)景3.聯(lián)合云模型2410.2.3CloudSim的使用模型場(chǎng)景(3)混合云:混合了私有云和公有云。一般像銀行這樣的單位,其內(nèi)部的私有云系統(tǒng)在用戶訪問高峰期的時(shí)候很難滿足要求,此時(shí)就可以接入到公有云中應(yīng)對(duì)更多的用戶請(qǐng)求。(4)聯(lián)合云:聯(lián)合多個(gè)云服務(wù)提供商的云基礎(chǔ)設(shè)施,向用戶提供更加可靠、優(yōu)惠的云服務(wù),主要針對(duì)公有云平臺(tái)。比如,部署在云平臺(tái)上的CDN(內(nèi)容分發(fā)網(wǎng)絡(luò))服務(wù),系統(tǒng)存儲(chǔ)的數(shù)據(jù)內(nèi)容在地理上是分散的,用戶也是分布在世界各地。如果A國(guó)家的用戶請(qǐng)求一個(gè)分布在B國(guó)家的數(shù)據(jù)內(nèi)容,那么數(shù)據(jù)就會(huì)途經(jīng)許多路由,增加了網(wǎng)絡(luò)的時(shí)延。聯(lián)合云能夠自動(dòng)地將用戶請(qǐng)求的數(shù)據(jù)資源遷移到距離用戶比較近的云數(shù)據(jù)中心,提高CDN的質(zhì)量保證。10.2.3CloudSim的使用模型場(chǎng)景(3)混合云:混2510.2.3CloudSim的使用模型場(chǎng)景CloudSim中定義了云協(xié)調(diào)器實(shí)體(CloudCoordinator)。它不僅負(fù)責(zé)與其他的云計(jì)算平臺(tái)進(jìn)行通信,而且負(fù)責(zé)監(jiān)控本云平臺(tái)系統(tǒng)的狀態(tài)(如任務(wù)負(fù)載情況、網(wǎng)絡(luò)延遲情況等)。在整個(gè)仿真階段,云協(xié)調(diào)器的監(jiān)控進(jìn)程始終是活躍的,從監(jiān)控進(jìn)程反饋回來的信息為以后進(jìn)行云平臺(tái)之間的任務(wù)調(diào)度作參考。在進(jìn)行聯(lián)合云仿真的時(shí)候,兩個(gè)需要被控制的基本問題是通信與監(jiān)控。通信問題主要由數(shù)據(jù)中心通過以事務(wù)為基礎(chǔ)的消息進(jìn)程進(jìn)行控制。監(jiān)控問題主要由云協(xié)調(diào)器進(jìn)行控制。每一個(gè)加入聯(lián)合云的云計(jì)算平臺(tái)都需要實(shí)例化一個(gè)云協(xié)調(diào)器實(shí)體。云協(xié)調(diào)器會(huì)根據(jù)本地?cái)?shù)據(jù)中心的狀態(tài)觸發(fā)CloudSim中聯(lián)合云的任務(wù)負(fù)載均衡進(jìn)程。云協(xié)調(diào)器監(jiān)控得到的數(shù)據(jù)是由傳感器實(shí)體(Sensor)提供的。在每次監(jiān)控時(shí),CloudCoordinator都會(huì)查詢一下Sensor,判斷數(shù)據(jù)中心的負(fù)載是否達(dá)到了事先定義好的任務(wù)轉(zhuǎn)移條件(如數(shù)據(jù)中心負(fù)載超過多少等)。如果達(dá)到了該條件,那么本地的云協(xié)調(diào)器就會(huì)與聯(lián)合云中的其他云平臺(tái)的云協(xié)調(diào)器進(jìn)行協(xié)商,進(jìn)行任務(wù)負(fù)載的轉(zhuǎn)移。10.2.3CloudSim的使用模型場(chǎng)景CloudSim2610.2.4CloudSim使用實(shí)例CloudSim是基于Java語言編寫的開源軟件,用戶使用CloudSim和Eclipse集成進(jìn)行云計(jì)算仿真實(shí)驗(yàn)和開發(fā)工作。1.下載CloudSim登錄/p/cloudsim/downloads,下載cloudsim-3.0.3.zip,解壓縮。2.準(zhǔn)備Eclipse開發(fā)環(huán)境根據(jù)用戶機(jī)器的CPU位數(shù),下載相應(yīng)的Eclipse版本并安裝。單擊“File”→“New”→“JavaProject”,新建Java項(xiàng)目,命名為“CloudSim”,如圖10.3所示。10.2.4CloudSim使用實(shí)例CloudSim是基于27工程中用到了math里面的類,需要引入commons-math3-3.2.jar這個(gè)庫。用戶下載了commons-math3-3.2.jar后,選中新建的項(xiàng)目“CloudSim”,單擊右鍵,選擇“BuildPath”→“AddExternalAchieve”,將其導(dǎo)入。圖10.3準(zhǔn)備Eclipse開發(fā)環(huán)境圖10.3準(zhǔn)備Eclipse開發(fā)環(huán)境2810.2.4CloudSim使用實(shí)例3.運(yùn)行測(cè)試程序Cloud提供了一些實(shí)例程序,使初學(xué)者對(duì)能快速了解CloudSim,實(shí)例程序存放在解壓后的CloudSim文件夾中,打開/cloudsim-3.0.3/examples/org/cloudbus/cloudsim/examples,將其中的6個(gè)示例程序CloudSimExample1.java~CloudSimExample6.java復(fù)制到工程中。這里我們打開示例程序CloudSimExample6.java,按“Ctrl+F1”快捷鍵即可運(yùn)行示例程序,顯示如下的運(yùn)行結(jié)果。10.2.4CloudSim使用實(shí)例3.運(yùn)行測(cè)試程序29第10章云計(jì)算大數(shù)據(jù)仿真技術(shù)課件3010.2.4CloudSim使用實(shí)例4.?dāng)?shù)據(jù)中心仿真實(shí)例本節(jié)我們使用CloudSim來仿真一個(gè)由兩臺(tái)雙核物理機(jī)組成的最小單元集群,體驗(yàn)CloudSim系統(tǒng)的使用。每臺(tái)物理機(jī)分為4臺(tái)虛擬機(jī),即2臺(tái)虛擬機(jī)共享1個(gè)CPU核,集群共有8臺(tái)虛擬機(jī),每臺(tái)虛擬機(jī)的運(yùn)算能力(MIPS)各不相同。這個(gè)數(shù)據(jù)中心需要處理的外部負(fù)載任務(wù)數(shù)為16。任務(wù)調(diào)度由DatacenterBroker負(fù)責(zé),本實(shí)例分別使用輪詢算法和最小執(zhí)行時(shí)間優(yōu)先算法進(jìn)行任務(wù)調(diào)度,使用CloudSim進(jìn)行數(shù)據(jù)中心的仿真運(yùn)行實(shí)驗(yàn),查看兩種算法調(diào)度的執(zhí)行情況。這兩種算法的區(qū)別在于:輪詢算法按照虛擬機(jī)的順序,依次將負(fù)載分配到虛擬機(jī)節(jié)點(diǎn);最小執(zhí)行時(shí)間優(yōu)先算法將最大的負(fù)載分配到處理能力最強(qiáng)的虛擬機(jī)。10.2.4CloudSim使用實(shí)例4.?dāng)?shù)據(jù)中心仿真實(shí)例31(1)創(chuàng)建虛擬機(jī)。在CloudSim中,我們通過使用鏡像大小、虛擬機(jī)內(nèi)存大小、CPU計(jì)算性能、帶寬等參數(shù)來定義虛擬機(jī)的性能。(1)創(chuàng)建虛擬機(jī)。32創(chuàng)建外部負(fù)載任務(wù),我們對(duì)任務(wù)的執(zhí)行長(zhǎng)度、占用空間大小、輸出文件大小、使用的CPU核數(shù)進(jìn)行定義。創(chuàng)建外部負(fù)載任務(wù),我們對(duì)任務(wù)的執(zhí)行長(zhǎng)度、占用空間大小、輸出文3310.2.4CloudSim使用實(shí)例主程序是CloudSim仿真的重點(diǎn),用CloudSim仿真的主要步驟分為6步:初始化CloudSim程序包、創(chuàng)建數(shù)據(jù)中心、創(chuàng)建數(shù)據(jù)中心代理、創(chuàng)建虛擬機(jī)和云事務(wù)、開始仿真、打印仿真結(jié)果。10.2.4CloudSim使用實(shí)例主程序是CloudSi34第10章云計(jì)算大數(shù)據(jù)仿真技術(shù)課件3510.2.4CloudSim使用實(shí)例定義數(shù)據(jù)中心
10.2.4CloudSim使用實(shí)例定義數(shù)據(jù)中心3610.2.4CloudSim使用實(shí)例10.2.4CloudSim使用實(shí)例3710.3云計(jì)算系統(tǒng)相空間模型云計(jì)算系統(tǒng)從誕生之日起就與大規(guī)模、異構(gòu)性以及復(fù)雜性息息相關(guān)。大規(guī)模是指云計(jì)算系統(tǒng)會(huì)涉及多個(gè)數(shù)據(jù)中心、海量的物理節(jié)點(diǎn)和網(wǎng)絡(luò)設(shè)備;異構(gòu)性主要表現(xiàn)在海量的物理節(jié)點(diǎn)的軟硬件配置各不相同;對(duì)于大規(guī)模異構(gòu)的云計(jì)算系統(tǒng)來說,無論是系統(tǒng)內(nèi)部的資源調(diào)度和負(fù)載均衡,還是對(duì)系統(tǒng)的服務(wù)性能評(píng)估和服務(wù)定價(jià)都是十分復(fù)雜的。使用仿真技術(shù)進(jìn)行云計(jì)算系統(tǒng)相關(guān)方面的研究可以簡(jiǎn)化研究工作、節(jié)省大量成本。10.3云計(jì)算系統(tǒng)相空間模型云計(jì)算系統(tǒng)從誕生之日起就與大規(guī)3810.3云計(jì)算系統(tǒng)相空間模型云計(jì)算系統(tǒng)相空間模型是一種針對(duì)具有海量節(jié)點(diǎn)的云計(jì)算集群的仿真模型,通過將物理節(jié)點(diǎn)的主要參數(shù)(如CPU占用率、內(nèi)存占用率)抽象出來作為點(diǎn)的坐標(biāo),構(gòu)建云計(jì)算集群的相空間。將節(jié)點(diǎn)的參數(shù)變化轉(zhuǎn)化為相空間中點(diǎn)的運(yùn)動(dòng),利用海量節(jié)點(diǎn)在參數(shù)相空間的運(yùn)動(dòng)與熱力學(xué)運(yùn)動(dòng)的相似性,定義廣義溫度、廣義熵等廣義熱力學(xué)參數(shù),我們可以通過節(jié)點(diǎn)在相空間中的投影點(diǎn)來觀測(cè)節(jié)點(diǎn)的狀態(tài)變化,并通過廣義溫度、廣義熵等的參數(shù)來監(jiān)控集群的整體運(yùn)行情況。10.3云計(jì)算系統(tǒng)相空間模型云計(jì)算系統(tǒng)相空間模型是一種針對(duì)3910.3云計(jì)算系統(tǒng)相空間模型1.云計(jì)算集群的相空間投影云計(jì)算集群中的每臺(tái)服務(wù)器的工作狀態(tài)可以用一個(gè)狀態(tài)參數(shù)向量來表述(參數(shù)1,參數(shù)2,…,參數(shù)),如(CPU占用率0.3,內(nèi)存占用率0.2,…,連接數(shù)占用率0.1)。當(dāng)它映射在相空間模型下時(shí),參數(shù)向量的維數(shù)對(duì)應(yīng)于相空間的維數(shù),向量終點(diǎn)在相空間的位置代表服務(wù)器多個(gè)參數(shù)的綜合負(fù)載情況,反映了服務(wù)器當(dāng)前的工作狀態(tài)。參數(shù)相空間的定義:由服務(wù)器的某兩個(gè)或多個(gè)參數(shù)為廣義坐標(biāo)軸所形成的二維或多維空間稱為云計(jì)算系統(tǒng)的參數(shù)相空間。參數(shù)相空間是云計(jì)算集群的整體工作情況在某個(gè)時(shí)刻上的一個(gè)快照。動(dòng)量相空間的定義:為了描述云計(jì)算的動(dòng)態(tài)工作情況我們定義了動(dòng)量相空間,動(dòng)量相空間以投影點(diǎn)在某一單位時(shí)間片內(nèi)在相空間內(nèi)移動(dòng)的距離看作速度作為縱軸(投影點(diǎn)的質(zhì)量設(shè)為1,縱軸就可看作是動(dòng)量),投影點(diǎn)離當(dāng)前時(shí)刻廣義重心的距離作為橫軸,一個(gè)調(diào)度良好的云計(jì)算系統(tǒng)在動(dòng)量相空間中應(yīng)聚集在原點(diǎn)附近,系統(tǒng)投影點(diǎn)聚集在原點(diǎn)附近表明當(dāng)前系統(tǒng)運(yùn)行穩(wěn)定、負(fù)載均衡。10.3云計(jì)算系統(tǒng)相空間模型1.云計(jì)算集群的相空間投影4010.3云計(jì)算系統(tǒng)相空間模型2.云計(jì)算集群在相空間上投影的廣義參數(shù)定義具有海量節(jié)點(diǎn)的高耦合云計(jì)算集群向相空間投影后,由于在外部負(fù)載請(qǐng)求的作用下相空間上的各個(gè)點(diǎn)會(huì)不斷地產(chǎn)生運(yùn)動(dòng),大量的點(diǎn)的運(yùn)動(dòng)呈現(xiàn)出較為典型的熱運(yùn)動(dòng)特征,分析參數(shù)相空間上各點(diǎn)的位置便可以對(duì)集群資源進(jìn)行有效地調(diào)度,而且我們可以利用熱力學(xué)中的參數(shù)特性來對(duì)應(yīng)的定義云計(jì)算系統(tǒng)在相空間投影下的廣義熱力學(xué)參數(shù)作為對(duì)云計(jì)算系統(tǒng)進(jìn)行分析的工具。10.3云計(jì)算系統(tǒng)相空間模型2.云計(jì)算集群在相空間上投影4110.3云計(jì)算系統(tǒng)相空間模型假定服務(wù)器數(shù)量為m,服務(wù)器參數(shù)有n個(gè),由于n個(gè)參數(shù)在調(diào)度時(shí)的重要性不同,所以假設(shè)各參數(shù)所占權(quán)重分別為,且,則服務(wù)器節(jié)點(diǎn)向維相空間的投影點(diǎn)集為:10.3云計(jì)算系統(tǒng)相空間模型假定服務(wù)器數(shù)量為m,服務(wù)器4210.3云計(jì)算系統(tǒng)相空間模型集群在參數(shù)相空間中投影的廣義重心位置是判斷集群整體負(fù)載情況和建立集群管理調(diào)度策略的重要參數(shù)。云計(jì)算集群參數(shù)相空間投影的廣義重心坐標(biāo)是由被投影的所有服務(wù)器工作狀態(tài)參數(shù)的平均值構(gòu)成。云計(jì)算集群在某時(shí)刻投影點(diǎn)的廣義重心位置為G,坐標(biāo)寫為.廣義重心坐標(biāo)計(jì)算公式為:10.3云計(jì)算系統(tǒng)相空間模型集群在參數(shù)相空間中投影的廣義重4310.3云計(jì)算系統(tǒng)相空間模型在對(duì)云計(jì)算系統(tǒng)進(jìn)行調(diào)度效果評(píng)價(jià)時(shí),相空間上所定義的廣義溫度和廣義熵分別反映了系統(tǒng)當(dāng)前的活動(dòng)狀態(tài)和系統(tǒng)的均衡狀態(tài)。在實(shí)際計(jì)算時(shí)可以將單位時(shí)間間隔內(nèi)的相空間所有點(diǎn)兩次位置采樣的平均移動(dòng)距離作為廣義溫度。根據(jù)熱力學(xué)原理單個(gè)點(diǎn)的運(yùn)動(dòng)只有速度概念,大量點(diǎn)的運(yùn)動(dòng)就具有了溫度的概念,當(dāng)節(jié)點(diǎn)接受新任務(wù)時(shí),其相空間投影點(diǎn)向相空間右上方運(yùn)動(dòng),當(dāng)節(jié)點(diǎn)釋放任務(wù)時(shí),其相空間投影點(diǎn)向相空間原點(diǎn)運(yùn)動(dòng)。10.3云計(jì)算系統(tǒng)相空間模型在對(duì)云計(jì)算系統(tǒng)進(jìn)行調(diào)度效果評(píng)價(jià)4410.3云計(jì)算系統(tǒng)相空間模型廣義熵的計(jì)算一般采用將相空間劃分為n*n的網(wǎng)格,根據(jù)服務(wù)器投影點(diǎn)落入網(wǎng)格的數(shù)目
,利用廣義熵的定義公式來計(jì)算,分母的作用是使廣義熵歸一化,廣義熵的值越大系統(tǒng)越不均衡。我們通常把相空間上定義的這類熱力學(xué)參數(shù)稱為廣義熱力學(xué)參數(shù)。10.3云計(jì)算系統(tǒng)相空間模型廣義熵的計(jì)算一般采用將相空間劃45練習(xí)題1.網(wǎng)格計(jì)算仿真系統(tǒng)主要有
、
、
等。2.GridSim和CloudSim的區(qū)別有哪些?3.簡(jiǎn)述CloudSim仿真的主要步驟。4.編寫一段簡(jiǎn)單的C語言程序?qū)τ?000個(gè)同構(gòu)節(jié)點(diǎn)的集群進(jìn)行模擬定義。練習(xí)題1.網(wǎng)格計(jì)算仿真系統(tǒng)主要有、、46云計(jì)算與大數(shù)據(jù)技術(shù)
人民郵電出版社王鵬黃焱安俊秀張逸琴編著
云計(jì)算與大數(shù)據(jù)技術(shù)人民郵電出版社王鵬黃焱安俊秀47目錄第1章云計(jì)算與大數(shù)據(jù)基礎(chǔ)第2章云計(jì)算與大數(shù)據(jù)的相關(guān)技術(shù)第3章虛擬化技術(shù)第4章集群系統(tǒng)基礎(chǔ)第5章MPI—面向計(jì)算第6章Hadoop—分布式大數(shù)據(jù)系統(tǒng)第7章HPCC—面向數(shù)據(jù)的高性能計(jì)算集群系統(tǒng)第8章Storm—基于拓?fù)涞牧鲾?shù)據(jù)實(shí)時(shí)計(jì)算系統(tǒng)第9章服務(wù)器與數(shù)據(jù)中心第10章云計(jì)算大數(shù)據(jù)仿真技術(shù)CONTENTS第10章云計(jì)算大數(shù)據(jù)仿真技術(shù)目錄第1章云計(jì)算與大數(shù)據(jù)基礎(chǔ)CONTENTS第1048第10章云計(jì)算大數(shù)據(jù)仿真技術(shù)《云計(jì)算與大數(shù)據(jù)技術(shù)》
第10章云計(jì)算大數(shù)據(jù)仿真技術(shù)《云計(jì)算與大數(shù)據(jù)技術(shù)》49第10章云計(jì)算大數(shù)據(jù)仿真技術(shù)10.1用參數(shù)定義物理設(shè)備進(jìn)行仿真10.2云計(jì)算仿真系統(tǒng)—CloudSim10.2.1CloudSim基礎(chǔ)10.2.2CloudSim體系結(jié)構(gòu)10.2.3CloudSim的使用模型場(chǎng)景10.2.4CloudSim使用實(shí)例10.3云計(jì)算系統(tǒng)相空間模型第10章云計(jì)算大數(shù)據(jù)仿真技術(shù)10.1用參數(shù)定義物理設(shè)備50計(jì)算機(jī)仿真是將現(xiàn)實(shí)生活中的系統(tǒng),用計(jì)算機(jī)軟件的方法在計(jì)算機(jī)中建立虛擬的替代物,以方便人們研究系統(tǒng)各個(gè)方面的性質(zhì)。比如,我們可以使用計(jì)算機(jī)軟件對(duì)不同氣候條件下的導(dǎo)彈的發(fā)射進(jìn)行建模,模擬導(dǎo)彈的運(yùn)動(dòng)軌跡,我們可以對(duì)不同型號(hào)的導(dǎo)彈在不同的動(dòng)力系統(tǒng)條件下的運(yùn)動(dòng)軌跡進(jìn)行反復(fù)實(shí)驗(yàn)。使用計(jì)算機(jī)軟件的仿真技術(shù)具有經(jīng)濟(jì)、安全、可重復(fù)和不受氣候、場(chǎng)地、時(shí)間限制的優(yōu)勢(shì),是理論推導(dǎo)和科學(xué)實(shí)驗(yàn)之外人類認(rèn)識(shí)自然、改造自然的重要手段。計(jì)算機(jī)仿真是將現(xiàn)實(shí)生活中的系統(tǒng),用計(jì)算機(jī)軟件的方法在計(jì)算機(jī)中51本書前面幾章講解了基于虛擬化的云計(jì)算技術(shù)、基于集群的云計(jì)算技術(shù)和云計(jì)算數(shù)據(jù)中心的相關(guān)知識(shí),基于這些技術(shù)目前已經(jīng)有很多的系統(tǒng)級(jí)、算法級(jí)和應(yīng)用級(jí)的研究展開,這些開發(fā)和研究大多需要仿真平臺(tái)。比如,技術(shù)研發(fā)人員對(duì)大規(guī)模集群的資源調(diào)度、負(fù)載均衡、集群拓?fù)涞日归_研究,如果在物理機(jī)上進(jìn)行實(shí)驗(yàn),必然需要消耗大量的服務(wù)器、網(wǎng)絡(luò)設(shè)備資源,實(shí)驗(yàn)環(huán)境的準(zhǔn)備、實(shí)驗(yàn)數(shù)據(jù)的采集、實(shí)驗(yàn)方案的調(diào)試很不方便,同時(shí)成本很高,使用仿真系統(tǒng)是一個(gè)很好的解決方案;對(duì)于數(shù)據(jù)中心的建設(shè)和運(yùn)營(yíng)人員來說,數(shù)據(jù)中心的能耗測(cè)算和經(jīng)濟(jì)測(cè)算非常重要,需要在項(xiàng)目建設(shè)之前進(jìn)行預(yù)估,無法在實(shí)際的平臺(tái)上進(jìn)行測(cè)算,展開研究需要先在仿真實(shí)驗(yàn)平臺(tái)上進(jìn)行實(shí)驗(yàn)。本書前面幾章講解了基于虛擬化的云計(jì)算技術(shù)、基于集群的云計(jì)算技5210.1用參數(shù)定義物理設(shè)備進(jìn)行仿真本章的主要內(nèi)容包括云計(jì)算仿真軟件CloudSim和云計(jì)算系統(tǒng)相空間模型,通過仿真軟件和仿真模型使讀者快速掌握云計(jì)算仿真的基礎(chǔ)知識(shí)。10.1用參數(shù)定義物理設(shè)備進(jìn)行仿真在仿真系統(tǒng)中,我們一般將實(shí)體的參數(shù)提取出來,用變量、對(duì)象、數(shù)組來定義現(xiàn)實(shí)中的事物在計(jì)算機(jī)系統(tǒng)中構(gòu)建被仿真對(duì)象。服務(wù)器是數(shù)據(jù)中心的主要組成部分,我們可以將服務(wù)器的計(jì)算性能、CPU核數(shù)、硬盤大小、內(nèi)存大小、網(wǎng)絡(luò)帶寬等主要參數(shù)提取出來,構(gòu)建服務(wù)器對(duì)象。10.1用參數(shù)定義物理設(shè)備進(jìn)行仿真本章的主要內(nèi)容包括云計(jì)算5310.1用參數(shù)定義物理設(shè)備進(jìn)行仿真下面以一個(gè)由4個(gè)虛擬機(jī)節(jié)點(diǎn)組成的集群為例,說明如何使用參數(shù)來定義物理節(jié)點(diǎn),集群的參數(shù)信息如表10.1所示。表10.1虛擬機(jī)性能參數(shù)計(jì)算能力(MIPS)CPU核數(shù)硬盤大小(MB)內(nèi)存大小(MB)網(wǎng)絡(luò)帶寬(MB)節(jié)點(diǎn)13002100005121000節(jié)點(diǎn)2300210000512500節(jié)點(diǎn)315015000256500節(jié)點(diǎn)415015000256100010.1用參數(shù)定義物理設(shè)備進(jìn)行仿真下面以一個(gè)由4個(gè)虛5410.1用參數(shù)定義物理設(shè)備進(jìn)行仿真我們可以用數(shù)組來定義:doublenode[4][5]={300,2,10000,512,1000;300,2,10000,512,500;150,1,5000,256,500;150,1,5000,256,1000};對(duì)硬盤、內(nèi)存等其他設(shè)備也可以如此進(jìn)行定義,比如,硬盤可以用品牌、型號(hào)、尺寸、容量、轉(zhuǎn)速、傳輸速度等參數(shù)來定義,內(nèi)存可以用品牌、型號(hào)、容量、速度、電壓等參數(shù)來定義。在對(duì)數(shù)據(jù)中心的經(jīng)濟(jì)模型進(jìn)行仿真時(shí),我們需要對(duì)CPU核單價(jià)、硬盤空間單價(jià)、內(nèi)存空間單價(jià)、網(wǎng)絡(luò)帶寬單價(jià)等進(jìn)行定義,確定銷售經(jīng)濟(jì)模型。同時(shí),需要定義數(shù)據(jù)中心能耗費(fèi)用、維護(hù)費(fèi)用、人員成本等,從而綜合確定數(shù)據(jù)中心的經(jīng)濟(jì)模型,對(duì)數(shù)據(jù)中心建成后的營(yíng)收情況進(jìn)行預(yù)測(cè)。10.1用參數(shù)定義物理設(shè)備進(jìn)行仿真我們可以用數(shù)組來定義:5510.2云計(jì)算仿真系統(tǒng)—CloudSim10.2.1CloudSim基礎(chǔ)1.CloudSim簡(jiǎn)介CloudSim是澳大利亞墨爾本大學(xué)云計(jì)算與分布式系統(tǒng)實(shí)驗(yàn)室開發(fā)的一種通用、可擴(kuò)展的云計(jì)算仿真框架,也是一個(gè)云計(jì)算仿真工具集,提供了用于描述數(shù)據(jù)中心、虛擬機(jī)、應(yīng)用、用戶、計(jì)算資源和管理策略等核心類。對(duì)海量集群資源的模擬仿真一直是是計(jì)算機(jī)領(lǐng)域的研究課題。在網(wǎng)格計(jì)算時(shí)代出現(xiàn)了很多仿真平臺(tái),如GridSim、SimGrid、OptorSim、GangSim等,其中GridSim的開發(fā)團(tuán)隊(duì)也是澳大利亞墨爾本大學(xué)云計(jì)算與分布式系統(tǒng)實(shí)驗(yàn)室。GridSim等網(wǎng)格計(jì)算仿真軟件沒有將云計(jì)算體系中的SaaS、PaaS、IaaS層抽象出來,也沒有虛擬化模型和資源管理模型,CloudSim繼承了GridSim的編程模型,彌補(bǔ)了網(wǎng)格計(jì)算模擬軟件的不足。10.2云計(jì)算仿真系統(tǒng)—CloudSim10.2.1Cl5610.2.1CloudSim基礎(chǔ)基于CloudSim云計(jì)算仿真器,我們不僅能夠很方便地搭建可控的云環(huán)境進(jìn)而對(duì)系統(tǒng)的資源調(diào)度和負(fù)載均衡策略進(jìn)行建模和測(cè)試,還可以對(duì)云應(yīng)用進(jìn)行建模和測(cè)試。研發(fā)人員根據(jù)測(cè)評(píng)結(jié)果針對(duì)性地調(diào)整性能瓶頸。與此同時(shí),CloudSim對(duì)云系統(tǒng)建立了價(jià)格模型和能耗模型,幫助服務(wù)提供商制訂出更加合理的價(jià)格策略和節(jié)能機(jī)制。用戶可以使用CloudSim提供的組件進(jìn)行編程,構(gòu)造自己的應(yīng)用場(chǎng)景,也可以擴(kuò)展或者自己編寫類來進(jìn)行仿真,使用起來非常靈活。這一點(diǎn)與針對(duì)特定使用場(chǎng)景的仿真系統(tǒng)不同,針對(duì)特定使用場(chǎng)景的仿真系統(tǒng)在使用的時(shí)候只需填寫參數(shù)即可使用,無需編程,但無法靈活地構(gòu)建使用場(chǎng)景。10.2.1CloudSim基礎(chǔ)基于CloudSim云計(jì)算5710.2.1CloudSim基礎(chǔ)CloudSim是使用Java語言開發(fā)的,用戶只需掌握J(rèn)ava語言的用法和云計(jì)算的相關(guān)知識(shí),即可建立云計(jì)算模型進(jìn)行仿真。仿真平臺(tái)是個(gè)模擬器,并不能運(yùn)行真實(shí)的云計(jì)算平臺(tái)上的應(yīng)用程序。CloudSim在物理主機(jī)和虛擬機(jī)兩個(gè)層面進(jìn)行資源分配。物理主機(jī)中構(gòu)建的所有虛擬機(jī)共享物理資源,由CloudSim中的VmScheduler負(fù)責(zé)資源的分配;CloudSim中仿真的任務(wù)稱為Cloudlet,集群中的虛擬機(jī)有大量的Cloudlet需要資源,由CloudSim中的虛擬機(jī)資源調(diào)度器CloudletScheduler負(fù)責(zé)資源的分配。10.2.1CloudSim基礎(chǔ)CloudSim是使用Ja5810.2.1CloudSim基礎(chǔ)2.為什么要使用CloudSim
對(duì)于技術(shù)研發(fā)人員來說,大規(guī)模集群的資源調(diào)度、負(fù)載均衡、集群平臺(tái),集群拓?fù)涞妊芯咳绻谖锢頇C(jī)上進(jìn)行,需要大量的服務(wù)器、網(wǎng)絡(luò)設(shè)備資源,實(shí)驗(yàn)環(huán)境的準(zhǔn)備、實(shí)驗(yàn)數(shù)據(jù)的采集、實(shí)驗(yàn)方案的調(diào)試很不方便、成本很高,需要先在仿真實(shí)驗(yàn)平臺(tái)上進(jìn)行實(shí)驗(yàn)。對(duì)云應(yīng)用服務(wù)的測(cè)試也會(huì)比較麻煩,主要表現(xiàn)在:
(1)應(yīng)用服務(wù)商直接將應(yīng)用部署到云平臺(tái)上之后再進(jìn)行測(cè)試,無疑會(huì)帶來額外的成本開銷。一旦應(yīng)用程序接入云平臺(tái)就必須要繳納相應(yīng)的費(fèi)用,這樣在應(yīng)用沒有任何經(jīng)濟(jì)效益的情況下就產(chǎn)生了額外的費(fèi)用,對(duì)于SaaS提供商來說是不經(jīng)濟(jì)的;(2)實(shí)際運(yùn)行的云平臺(tái)環(huán)境(IaaS、PaaS)是不可控的,整個(gè)互聯(lián)網(wǎng)環(huán)境時(shí)而擁塞,時(shí)而清閑,從而導(dǎo)致了云平臺(tái)資源使用的無規(guī)律性和不可再現(xiàn)性,不利于應(yīng)用的重復(fù)測(cè)試。10.2.1CloudSim基礎(chǔ)2.為什么要使用Cloud5910.2.1CloudSim基礎(chǔ)3.CLoudSim的特點(diǎn)(1)能夠在一臺(tái)PC上建模和仿真大規(guī)模云計(jì)算基礎(chǔ)設(shè)施,如數(shù)據(jù)中心、物理主機(jī)等;(2)支持用戶任務(wù)以及服務(wù)代理的建模和仿真;(3)支持對(duì)云計(jì)算環(huán)境中的網(wǎng)絡(luò)環(huán)境進(jìn)行建模;(4)有效地利用虛擬化引擎,幫助在數(shù)據(jù)中心節(jié)點(diǎn)上創(chuàng)建、管理和銷毀多個(gè)虛擬節(jié)點(diǎn);(5)可以靈活地在基于時(shí)間共享和基于空間共享的虛擬化策略之間進(jìn)行切換;(6)支持對(duì)云數(shù)據(jù)中心的能耗行為進(jìn)行建模和仿真;(7)可以方便地建立云平臺(tái)資源的價(jià)格策略,包括存儲(chǔ)價(jià)格、帶寬價(jià)格等;(8)能夠模仿多個(gè)云廠家之間進(jìn)行透明交易,包括任務(wù)遷移、存儲(chǔ)遷移、價(jià)格協(xié)商等。10.2.1CloudSim基礎(chǔ)3.CLoudSim的特點(diǎn)6010.1CloudSim分層體系架構(gòu)10.2.2CloudSim多層體系結(jié)構(gòu)10.1CloudSim分層體系架構(gòu)10.2.2Clou6110.2.2CloudSim體系結(jié)構(gòu)1.用戶代碼層用戶代碼層處于系統(tǒng)的上層,包含仿真描述和調(diào)度策略,用戶在這一層定義云計(jì)算方案、用戶需求,進(jìn)行應(yīng)用配置,同時(shí)云應(yīng)用開發(fā)人員可以生成工作流請(qǐng)求,根據(jù)用戶的配置進(jìn)行云計(jì)算場(chǎng)景的強(qiáng)力測(cè)試。(1)仿真描述。對(duì)于云服務(wù)使用者來說,他們需要測(cè)試應(yīng)用程序在特定云平臺(tái)上的服務(wù)性能,或者測(cè)試應(yīng)用程序需要占用多少云資源,只需創(chuàng)建與特定云平臺(tái)類似的虛擬云平臺(tái),并按應(yīng)用程序的需求(如帶寬、內(nèi)存等)創(chuàng)建對(duì)應(yīng)的云任務(wù)(在CloudSim中云任務(wù)被定義為Cloudlet)。之后,就可以讓云任務(wù)運(yùn)行在虛擬的云平臺(tái)上最終得到測(cè)試結(jié)果。比如,一個(gè)亞馬遜云平臺(tái)的使用者,想在其上部署一個(gè)網(wǎng)絡(luò)硬盤的應(yīng)用程序,希望估算需要租用多少服務(wù),可以使用CloudSim進(jìn)行仿真。首先,使用CloudSim建立一個(gè)虛擬的亞馬遜云平臺(tái);然后,在其上建立一定數(shù)量的虛擬機(jī)資源對(duì)應(yīng)某一云服務(wù)性能;最后,按照自己的預(yù)期生成云服務(wù)(比如,需要多大的硬盤、帶寬、內(nèi)存等),使其運(yùn)行在之前建立的虛擬的云服務(wù)上得出測(cè)試結(jié)果。10.2.2CloudSim體系結(jié)構(gòu)1.用戶代碼層6210.2.2CloudSim體系結(jié)構(gòu)(2)調(diào)度策略。從云服務(wù)提供者的角度,服務(wù)提供者想測(cè)試云平臺(tái)任務(wù)調(diào)度策略是否合理,或者服務(wù)商提出一種新的任務(wù)調(diào)度策略,在使用之前需要對(duì)其進(jìn)行測(cè)試。測(cè)試的重心相較于CloudSim就不一樣了,測(cè)試的步驟需要先實(shí)現(xiàn)自定義的任務(wù)調(diào)度策略(主要是更改數(shù)據(jù)中心代理DatacenterBroker)。比如,亞馬遜的用戶發(fā)現(xiàn)當(dāng)前的任務(wù)調(diào)度策略沒有發(fā)揮最好的作用,設(shè)計(jì)實(shí)現(xiàn)了一種新的調(diào)度策略,可以先在CloudSim進(jìn)行仿真。首先,改寫DatacenterBroker的任務(wù)調(diào)度策略的代碼;然后,創(chuàng)建云平臺(tái)和云任務(wù)并運(yùn)行,最終得出測(cè)試結(jié)果。10.2.2CloudSim體系結(jié)構(gòu)(2)調(diào)度策略。6310.2.2CloudSim體系結(jié)構(gòu)2.CloudSim層CloudSim仿真層的主要作用是對(duì)基于虛擬化的數(shù)據(jù)中心環(huán)境中的虛擬機(jī)、內(nèi)存、存儲(chǔ)、帶寬等進(jìn)行建模仿真。將物理機(jī)切分為虛擬機(jī)、應(yīng)用程序管理、集群系統(tǒng)狀態(tài)監(jiān)控等工作由CloudSim仿真層來完成。用戶在CloudSim仿真層編寫自己的策略,就可以對(duì)虛擬化數(shù)據(jù)中心的虛擬主機(jī)分配策略進(jìn)行研究,評(píng)估不同的分配策略下數(shù)據(jù)中心的運(yùn)行情況。云應(yīng)用開發(fā)人員可以在CloudSim仿真層測(cè)試不同的云應(yīng)用的運(yùn)行效果。實(shí)際的云計(jì)算環(huán)境中基本組成元素是數(shù)據(jù)中心(Datacenter)。數(shù)據(jù)中心包含了大量的物理主機(jī),且云環(huán)境下的物理主機(jī)是可以被多個(gè)虛擬機(jī)共享的,CloudSim定義了一組資源共享策略的接口(UtilizationModel),來描述如何使用共享資源,CloudSim中的主機(jī)可以被多個(gè)虛擬機(jī)共享。資源共享策略主要有空間共享(Space-Based)策略和時(shí)間共享(Time-Based)策略。10.2.2CloudSim體系結(jié)構(gòu)2.CloudSim6410.2.2CloudSim體系結(jié)構(gòu)空間共享策略是指在某一段時(shí)間內(nèi)只把計(jì)算資源分配給某一個(gè)虛擬機(jī)/計(jì)算任務(wù)獨(dú)占;時(shí)間共享策略是指某一時(shí)間段內(nèi)計(jì)算資源可以在多個(gè)虛擬機(jī)/計(jì)算任務(wù)之間進(jìn)行共享。例如,一臺(tái)具有兩個(gè)CPU的主機(jī),CloudSim在主機(jī)上部署了2個(gè)虛擬機(jī)VM1、VM2,每個(gè)虛擬機(jī)都有4個(gè)任務(wù),VM1上的任務(wù)為t1、t2、t3、t4,VM2上的任務(wù)為t5、t6、t7、t8,如圖10.2所示圖10.2不同資源共享策略下的任務(wù)執(zhí)行情況10.2.2CloudSim體系結(jié)構(gòu)空間共享策略是指在某6510.2.2CloudSim體系結(jié)構(gòu)圖10(a)所示為主機(jī)層和虛擬機(jī)層都采用空間共享策略的計(jì)算任務(wù)時(shí)間圖,VM1先獨(dú)占2個(gè)CPU,待任務(wù)處理完再交給VM2,同時(shí)任務(wù)t1和任務(wù)t2分別獨(dú)占CPU1和CPU2,待處理完成后交給t3和t4;圖10(b)所示為主機(jī)層采用空間共享的策略,在虛擬機(jī)層采用時(shí)間共享的策略。圖10(c)所示為在主機(jī)層采用時(shí)間共享的策略,虛擬機(jī)層采用空間共享的策略;圖10(d)所示為在主機(jī)和虛擬機(jī)層都采用了時(shí)間共享策略。10.2.2CloudSim體系結(jié)構(gòu)圖10(a)所示為主6610.2.3CloudSim的使用模型場(chǎng)景CloudSim的用途十分廣泛,本節(jié)講解CloudSim的3種典型的使用模型場(chǎng)景。1.云數(shù)據(jù)中心的能耗模型云計(jì)算系統(tǒng)包含大量互相連接的主機(jī)、存儲(chǔ)設(shè)備和網(wǎng)絡(luò)設(shè)備等,維持這樣龐大的系統(tǒng)運(yùn)行需要消耗大量的電力。CloudSim提供了電力控制策略的模擬,能夠讓用戶設(shè)計(jì)出符合本地?cái)?shù)據(jù)中心特點(diǎn)的電力方案,從而節(jié)約成本,提高整個(gè)系統(tǒng)的運(yùn)行效率。在CloudSim中實(shí)現(xiàn)一個(gè)抽象類PowerModel,用來對(duì)電力策略進(jìn)行建模。用戶可以通過繼承該抽象類,編寫自己的電力供應(yīng)方案,在CloudSim上進(jìn)行仿真實(shí)驗(yàn),從而驗(yàn)證供電方案的整體效果。10.2.3CloudSim的使用模型場(chǎng)景CloudSim6710.2.3CloudSim的使用模型場(chǎng)景2.云平臺(tái)的經(jīng)濟(jì)模型云計(jì)算是基于互聯(lián)網(wǎng)的服務(wù)的增加、使用和交付模式,通常涉及通過互聯(lián)網(wǎng)來提供動(dòng)態(tài)、易擴(kuò)展且經(jīng)常是虛擬化的資源。用戶可以像使用水和電一樣使用云計(jì)算資源,只需付費(fèi)給云服務(wù)提供商就可以租用其提供的計(jì)算、存儲(chǔ)以及網(wǎng)絡(luò)等資源。對(duì)計(jì)算資源、網(wǎng)絡(luò)資源以及存儲(chǔ)資源的定價(jià)對(duì)于數(shù)據(jù)中心的運(yùn)營(yíng)非常重要。10.2.3CloudSim的使用模型場(chǎng)景2.云平臺(tái)的經(jīng)濟(jì)6810.2.3CloudSim的使用模型場(chǎng)景CloudSim中對(duì)定價(jià)策略進(jìn)行模擬分為基礎(chǔ)設(shè)施層和服務(wù)層兩個(gè)層次。(1)基礎(chǔ)設(shè)施層:這一層主要包括內(nèi)存單元的價(jià)格、外存的價(jià)格、數(shù)據(jù)傳輸?shù)膯挝怀杀疽约坝?jì)算資源的價(jià)格。(2)服務(wù)層:這一層主要是應(yīng)用程序服務(wù)使用的資源價(jià)格。如果使用者只是利用了云中的基礎(chǔ)設(shè)施而沒有在其上部署任何的應(yīng)用,比如只是創(chuàng)建了幾臺(tái)虛擬機(jī),并沒有在虛擬機(jī)上運(yùn)行任何的任務(wù),那么他將不需要為服務(wù)層付費(fèi)。CloudSim的數(shù)據(jù)中心類(Datacenter)包含了一些關(guān)于價(jià)格的參數(shù),如CPU的使用價(jià)格、網(wǎng)絡(luò)的使用價(jià)格、內(nèi)存和硬盤的使用價(jià)格等,方便價(jià)格策略的建模。10.2.3CloudSim的使用模型場(chǎng)景CloudSim6910.2.3CloudSim的使用模型場(chǎng)景3.聯(lián)合云模型先對(duì)以下幾個(gè)概念進(jìn)行區(qū)分:公有云、私有云、混合云以及聯(lián)合云。(1)公有云:面向互聯(lián)網(wǎng)大眾的云服務(wù)。其受眾是整個(gè)互聯(lián)網(wǎng)環(huán)境下的所有人,只要注冊(cè)繳納一定的費(fèi)用任何人都可以使用其提供的云服務(wù)。目前,比較流行的公有云平臺(tái)有國(guó)外的AmazonEC2、GAE(GoogleAppEngine),國(guó)內(nèi)的SAE(SinaAppEngine)、BAE(BaiduAppEngine)等。(2)私有云:面向企業(yè)內(nèi)部的云計(jì)算平臺(tái)。使用其提供的云服務(wù)需要一定的權(quán)限,一般只提供給企業(yè)內(nèi)部員工使用。其主要目的是合理地組織企業(yè)已有的軟硬件資源,提供更加可靠、彈性的服務(wù)供企業(yè)內(nèi)部使用。10.2.3CloudSim的使用模型場(chǎng)景3.聯(lián)合云模型7010.2.3CloudSim的使用模型場(chǎng)景(3)混合云:混合了私有云和公有云。一般像銀行這樣的單位,其內(nèi)部的私有云系統(tǒng)在用戶訪問高峰期的時(shí)候很難滿足要求,此時(shí)就可以接入到公有云中應(yīng)對(duì)更多的用戶請(qǐng)求。(4)聯(lián)合云:聯(lián)合多個(gè)云服務(wù)提供商的云基礎(chǔ)設(shè)施,向用戶提供更加可靠、優(yōu)惠的云服務(wù),主要針對(duì)公有云平臺(tái)。比如,部署在云平臺(tái)上的CDN(內(nèi)容分發(fā)網(wǎng)絡(luò))服務(wù),系統(tǒng)存儲(chǔ)的數(shù)據(jù)內(nèi)容在地理上是分散的,用戶也是分布在世界各地。如果A國(guó)家的用戶請(qǐng)求一個(gè)分布在B國(guó)家的數(shù)據(jù)內(nèi)容,那么數(shù)據(jù)就會(huì)途經(jīng)許多路由,增加了網(wǎng)絡(luò)的時(shí)延。聯(lián)合云能夠自動(dòng)地將用戶請(qǐng)求的數(shù)據(jù)資源遷移到距離用戶比較近的云數(shù)據(jù)中心,提高CDN的質(zhì)量保證。10.2.3CloudSim的使用模型場(chǎng)景(3)混合云:混7110.2.3CloudSim的使用模型場(chǎng)景CloudSim中定義了云協(xié)調(diào)器實(shí)體(CloudCoordinator)。它不僅負(fù)責(zé)與其他的云計(jì)算平臺(tái)進(jìn)行通信,而且負(fù)責(zé)監(jiān)控本云平臺(tái)系統(tǒng)的狀態(tài)(如任務(wù)負(fù)載情況、網(wǎng)絡(luò)延遲情況等)。在整個(gè)仿真階段,云協(xié)調(diào)器的監(jiān)控進(jìn)程始終是活躍的,從監(jiān)控進(jìn)程反饋回來的信息為以后進(jìn)行云平臺(tái)之間的任務(wù)調(diào)度作參考。在進(jìn)行聯(lián)合云仿真的時(shí)候,兩個(gè)需要被控制的基本問題是通信與監(jiān)控。通信問題主要由數(shù)據(jù)中心通過以事務(wù)為基礎(chǔ)的消息進(jìn)程進(jìn)行控制。監(jiān)控問題主要由云協(xié)調(diào)器進(jìn)行控制。每一個(gè)加入聯(lián)合云的云計(jì)算平臺(tái)都需要實(shí)例化一個(gè)云協(xié)調(diào)器實(shí)體。云協(xié)調(diào)器會(huì)根據(jù)本地?cái)?shù)據(jù)中心的狀態(tài)觸發(fā)CloudSim中聯(lián)合云的任務(wù)負(fù)載均衡進(jìn)程。云協(xié)調(diào)器監(jiān)控得到的數(shù)據(jù)是由傳感器實(shí)體(Sensor)提供的。在每次監(jiān)控時(shí),CloudCoordinator都會(huì)查詢一下Sensor,判斷數(shù)據(jù)中心的負(fù)載是否達(dá)到了事先定義好的任務(wù)轉(zhuǎn)移條件(如數(shù)據(jù)中心負(fù)載超過多少等)。如果達(dá)到了該條件,那么本地的云協(xié)調(diào)器就會(huì)與聯(lián)合云中的其他云平臺(tái)的云協(xié)調(diào)器進(jìn)行協(xié)商,進(jìn)行任務(wù)負(fù)載的轉(zhuǎn)移。10.2.3CloudSim的使用模型場(chǎng)景CloudSim7210.2.4CloudSim使用實(shí)例CloudSim是基于Java語言編寫的開源軟件,用戶使用CloudSim和Eclipse集成進(jìn)行云計(jì)算仿真實(shí)驗(yàn)和開發(fā)工作。1.下載CloudSim登錄/p/cloudsim/downloads,下載cloudsim-3.0.3.zip,解壓縮。2.準(zhǔn)備Eclipse開發(fā)環(huán)境根據(jù)用戶機(jī)器的CPU位數(shù),下載相應(yīng)的Eclipse版本并安裝。單擊“File”→“New”→“JavaProject”,新建Java項(xiàng)目,命名為“CloudSim”,如圖10.3所示。10.2.4CloudSim使用實(shí)例CloudSim是基于73工程中用到了math里面的類,需要引入commons-math3-3.2.jar這個(gè)庫。用戶下載了commons-math3-3.2.jar后,選中新建的項(xiàng)目“CloudSim”,單擊右鍵,選擇“BuildPath”→“AddExternalAchieve”,將其導(dǎo)入。圖10.3準(zhǔn)備Eclipse開發(fā)環(huán)境圖10.3準(zhǔn)備Eclipse開發(fā)環(huán)境7410.2.4CloudSim使用實(shí)例3.運(yùn)行測(cè)試程序Cloud提供了一些實(shí)例程序,使初學(xué)者對(duì)能快速了解CloudSim,實(shí)例程序存放在解壓后的CloudSim文件夾中,打開/cloudsim-3.0.3/examples/org/cloudbus/cloudsim/examples,將其中的6個(gè)示例程序CloudSimExample1.java~CloudSimExample6.java復(fù)制到工程中。這里我們打開示例程序CloudSimExample6.java,按“Ctrl+F1”快捷鍵即可運(yùn)行示例程序,顯示如下的運(yùn)行結(jié)果。10.2.4CloudSim使用實(shí)例3.運(yùn)行測(cè)試程序75第10章云計(jì)算大數(shù)據(jù)仿真技術(shù)課件7610.2.4CloudSim使用實(shí)例4.?dāng)?shù)據(jù)中心仿真實(shí)例本節(jié)我們使用CloudSim來仿真一個(gè)由兩臺(tái)雙核物理機(jī)組成的最小單元集群,體驗(yàn)CloudSim系統(tǒng)的使用。每臺(tái)物理機(jī)分為4臺(tái)虛擬機(jī),即2臺(tái)虛擬機(jī)共享1個(gè)CPU核,集群共有8臺(tái)虛擬機(jī),每臺(tái)虛擬機(jī)的運(yùn)算能力(MIPS)各不相同。這個(gè)數(shù)據(jù)中心需要處理的外部負(fù)載任務(wù)數(shù)為16。任務(wù)調(diào)度由DatacenterBroker負(fù)責(zé),本實(shí)例分別使用輪詢算法和最小執(zhí)行時(shí)間優(yōu)先算法進(jìn)行任務(wù)調(diào)度,使用CloudSim進(jìn)行數(shù)據(jù)中心的仿真運(yùn)行實(shí)驗(yàn),查看兩種算法調(diào)度的執(zhí)行情況。這兩種算法的區(qū)別在于:輪詢算法按照虛擬機(jī)的順序,依次將負(fù)載分配到虛擬機(jī)節(jié)點(diǎn);最小執(zhí)行時(shí)間優(yōu)先算法將最大的負(fù)載分配到處理能力最強(qiáng)的虛擬機(jī)。10.2.4CloudSim使用實(shí)例4.?dāng)?shù)據(jù)中心仿真實(shí)例77(1)創(chuàng)建虛擬機(jī)。在CloudSim中,我們通過使用鏡像大小、虛擬機(jī)內(nèi)存大小、CPU計(jì)算性能、帶寬等參數(shù)來定義虛擬機(jī)的性能。(1)創(chuàng)建虛擬機(jī)。78創(chuàng)建外部負(fù)載任務(wù),我們對(duì)任務(wù)的執(zhí)行長(zhǎng)度、占用空間大小、輸出文件大小、使用的CPU核數(shù)進(jìn)行定義。創(chuàng)建外部負(fù)載任務(wù),我們對(duì)任務(wù)的執(zhí)行長(zhǎng)度、占用空間大小、輸出文7910.2.4CloudSim使用實(shí)例主程序是CloudSim仿真的重點(diǎn),用CloudSim仿真的主要步驟分為6步:初始化CloudSim程序包、創(chuàng)建數(shù)據(jù)中心、創(chuàng)建數(shù)據(jù)中心代理、創(chuàng)建虛擬機(jī)和云事務(wù)、開始仿真、打印仿真結(jié)果。1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版P2P金融借款合同合規(guī)審查標(biāo)準(zhǔn)范本3篇
- 2025年度土建施工勞動(dòng)合同范本(專業(yè)版)3篇
- 2024投標(biāo)書公共設(shè)施建設(shè)項(xiàng)目合同范本3篇
- 2025年度特許經(jīng)營(yíng)合同經(jīng)營(yíng)標(biāo)的詳細(xì)描述與特許服務(wù)條款3篇
- 2025年小轎車汽車買賣及節(jié)能補(bǔ)貼協(xié)議3篇
- 二零二五年度人工智能企業(yè)向股東借款合同參考樣本3篇
- 二零二五年度壁掛爐節(jié)能產(chǎn)品認(rèn)證及檢測(cè)合同3篇
- 2024年版電力工程質(zhì)量保修與維護(hù)合同
- 課題申報(bào)書:新時(shí)代中國(guó)共產(chǎn)黨弘揚(yáng)團(tuán)結(jié)奮斗精神話語創(chuàng)新研究
- 課題申報(bào)書:新疆非遺文化基因譜系構(gòu)建及開發(fā)利用研究
- 山西太原晉陽湖總體規(guī)劃城市設(shè)計(jì)景觀方案文本
- 干部業(yè)績(jī)相關(guān)信息采集表
- 八年級(jí)上綜合性學(xué)習(xí) 我們的互聯(lián)網(wǎng)時(shí)代 練習(xí)卷(含答案)
- 中西文化概論(第三版)PPT完整全套教學(xué)課件
- 食品批發(fā)銷售記錄制度
- 2024學(xué)年上海市浦東新區(qū)物理高二上期末聯(lián)考試題含解析
- 粉塵應(yīng)急演練記錄
- 持續(xù)交付2 0:業(yè)務(wù)引領(lǐng)的DevOps精要(增訂本)
- 管理學(xué)基礎(chǔ)知識(shí)點(diǎn)總結(jié)(精華)
- (2022年整理)人民幣含硬幣教具正反面完美打印版
- 醫(yī)院心電監(jiān)護(hù)術(shù)考核表
評(píng)論
0/150
提交評(píng)論