• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    云計算中基于cloudsim的蟻群調(diào)度算法研究

    2016-04-07 16:20:44張翰林謝曉燕
    電腦知識與技術(shù) 2016年3期
    關(guān)鍵詞:蟻群算法云計算

    張翰林 謝曉燕

    摘要:介紹了云計算仿真工具cloudsim,在描述其架構(gòu)的基礎(chǔ)上,實現(xiàn)了cloudsim模擬云環(huán)境下調(diào)度策略的過程。引入蟻群算法,并基于蟻群算法實現(xiàn)了對cloudsim中調(diào)度策略的拓展,并與輪循、貪心等傳統(tǒng)代數(shù)算法進行對比分析測試。結(jié)果表明,蟻群算法在應(yīng)對云計算中海量任務(wù)和數(shù)據(jù)處理時,由于傳統(tǒng)代數(shù)算法。

    關(guān)鍵詞:云計算,cloudsim,蟻群算法

    中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)03-0219-02

    云計算按照服務(wù)類型,大致可以分為三類:將基礎(chǔ)設(shè)置作為服務(wù)Iaas、將平臺作為服務(wù)paas、將軟件作為服務(wù)saas。然而,不管何種類型的云計算服務(wù),都有不同的、負(fù)責(zé)的組件,配置環(huán)境和部署條件的要求,因此,在異構(gòu)真實的云環(huán)境下,對云端調(diào)度分配策略的優(yōu)劣的評價,以及由調(diào)度策略所帶來的云端設(shè)備的復(fù)合、節(jié)能、系統(tǒng)規(guī)模性能進行量化、評價是非常不易的。所以,本文引入云計算仿真工具Cloudsim,構(gòu)建一個云環(huán)境下的分布式系統(tǒng)模擬器來實現(xiàn)云計算試驗的模擬。

    與此同時,目前廣泛應(yīng)用于云計算的如先到先服務(wù)FCFS算法、Greedy貪心算法[2]等,由于算法本身的特點,均是傳統(tǒng)代數(shù)算法靜態(tài)建模完成的,并不能針對網(wǎng)絡(luò)中各種不確定變化做出對應(yīng)的調(diào)整。而蟻群優(yōu)化算法作為一種智能算法,在經(jīng)過多次迭代后,任務(wù)必然能分配給一個合理的虛擬機。因此,本文在介紹Cloudsim架構(gòu)、工作原理的同時,通過cloudsim搭建了一個云計算平臺,并在此平臺下,對FCFS算法、Greedy貪心算法以及蟻群優(yōu)化算法進行的對比測試和分析。結(jié)果證明蟻群優(yōu)化算法對于網(wǎng)絡(luò)中突發(fā)情況的應(yīng)對是較優(yōu)的。

    1 cloudsim介紹

    1.1 cloudsim體系結(jié)構(gòu)

    Cloudsim是澳大利亞墨爾本大學(xué)Rajkumar Buyya教授領(lǐng)導(dǎo)團隊開發(fā)的云計算仿真器,是一個通用的、可拓展的支持建模和模擬的仿真框架,并能進行云計算基礎(chǔ)設(shè)施和管理服務(wù)的實驗。其體系結(jié)構(gòu)[1]如圖:

    1.2 cloudsim技術(shù)實現(xiàn)

    由上圖的體系結(jié)構(gòu)圖可知,開發(fā)人員主要通過cloudsim的最高層用戶代碼層來實現(xiàn)仿真模擬。通過對該層提供的一些基本實體(如主機、虛擬機、應(yīng)用、用戶數(shù)量、應(yīng)用類型等)的拓展,從而達(dá)到(1)建立應(yīng)用配置請求和任務(wù)負(fù)載分配請求(2)通過模擬出的云場景,測試自定義配置運行的魯棒性(3)基于云平臺擴展實現(xiàn)自定的調(diào)度策略。

    Cloudsim是開源的,其用戶代碼層為開發(fā)人員提供了一系列可供拓展的實力和方法,通過拓展這些接口來實現(xiàn)用戶自己的調(diào)度或分配策略,進行相關(guān)科研測試。本文主要進行調(diào)度策略的研究,故需要對DatacenterBroker類進行拓展,實現(xiàn)自定義的調(diào)度策略,完成對算法的模擬并進行測試和試驗分析。

    具體的仿真步驟如下:(1)初始化cloudsim包,主要是在其他實體創(chuàng)建前對cloudsim的參數(shù)包括日期、用戶數(shù)量、跟蹤日志等進行初始化。

    (2)創(chuàng)建數(shù)據(jù)中心,是在虛擬機的生命周期內(nèi)負(fù)責(zé)管理虛擬機的一組主機。通過調(diào)用API函數(shù),完成創(chuàng)建數(shù)據(jù)中心的工作。

    (3)創(chuàng)建數(shù)據(jù)中心代理,負(fù)責(zé)在云計算中,根據(jù)用戶的Qos要求以及現(xiàn)有云資源協(xié)調(diào)用戶和服務(wù)供應(yīng)商并部署服務(wù)。

    (4)創(chuàng)建虛擬機,并對虛擬機的參數(shù)進行設(shè)置,并提交給任務(wù)代理。

    (5)創(chuàng)建云任務(wù),生成指定參數(shù)的云任務(wù)。

    (6)調(diào)用自定義的任務(wù)調(diào)度策略,將云任務(wù)分配到虛擬機

    (7)啟動仿真,執(zhí)行整個仿真流程。

    (8)統(tǒng)計試驗結(jié)果。

    2.1 蟻群算法的原理

    覓食原則:每只螞蟻能夠在感知的環(huán)境里尋找食物,如果發(fā)現(xiàn)食物則直接向該方向前進;如果沒有,則檢查感知環(huán)境內(nèi)的食物信息素,向著信息素濃度高的地方走去。同理,尋找蟻穴的方式是感知環(huán)境內(nèi)的蟻穴信息素。

    前進原則:每只螞蟻都會向著信息素濃度高的方向前進,如果在感知范圍內(nèi)沒有相關(guān)的信息素提示,則會依照原來行進的方向繼續(xù)走下去。此外,螞蟻能夠識別剛剛走過的位置,防止螞蟻原地不動。

    躲避障礙原則:螞蟻在覓食過程中,如果遇到障礙物,會隨機選擇一個方向繼續(xù)行進;當(dāng)然,如果有信息素提示,會按照覓食原則前進。

    依據(jù)以上蟻群算法的原則,螞蟻的個體之間雖然沒有直接關(guān)聯(lián),但螞蟻同螞蟻之間通過信息素進行信息的交互傳遞。在覓食過程中,會依據(jù)之前經(jīng)過的螞蟻所留下的信息素來選擇它們要走的路徑。所以,大量螞蟻組成的群體行為實質(zhì)上形成了一種學(xué)習(xí)信息的反饋現(xiàn)象,這也就是蟻群算法的一大特點----正反饋機制。根據(jù)這一特點,通過模仿螞蟻群體的行為,實現(xiàn)最優(yōu)。整個過程如圖2所示:

    2.2 算法流程

    步驟1:任務(wù)開始;

    步驟2:任務(wù)T1、T2、…、Tn參數(shù),并進行任務(wù)分類;

    步驟3:利用蟻群算法進行資源分配;

    步驟4:所有任務(wù)是否執(zhí)行成功?若為否,返回步驟3,若為是,執(zhí)行步驟5;

    步驟5:釋放占用資源

    步驟6:任務(wù)結(jié)束

    3仿真及結(jié)果分析

    本文使用Cloudsim3.0進行仿真實驗,通過重寫DataCenterBroker類、Cloudlet類對cloudsim進行拓展,分別編寫了Greedy貪心算法和ACO蟻群算法,并將這兩種算法和Cloudsim自帶的RR輪循算法進行對比。

    仿真說明:

    一、對于虛擬機的運算速度和云任務(wù)的長度,取值大量的過高或過低都不符合實際情況,所以為了實驗的有效性,依照高斯分布在設(shè)定的長度區(qū)間內(nèi)隨機產(chǎn)生虛擬機的運算速度和云任務(wù)長度。

    二、虛擬機粒度最小化,設(shè)定單個虛擬機同一時間段內(nèi)只具有處理單個任務(wù)的能力,對于那些性能較好具有并發(fā)計算能力的虛擬機,根據(jù)它的運算能力將其劃分為多個虛擬機。

    三、對于等量的云任務(wù),調(diào)度策略完成任務(wù)時間越短則認(rèn)為該策略執(zhí)行效率越高,由于云計算中的各個虛擬機計算資源間是并發(fā)處理子任務(wù)序列的,所以完成所有子任務(wù)所需的執(zhí)行時間是各虛擬機完成子任務(wù)時間集合中的最大值,故采用MCT作為算法的評價標(biāo)準(zhǔn)。

    實驗結(jié)果如圖3所示。

    由圖3可以看出:Cloudsim自帶的RR算法的MCT是最大的,這主要是因為該算法采用的是簡單的輪循,雖然算法簡單,但卻并未進行任何優(yōu)化,自然它耗費的時間就比較多。圖中數(shù)據(jù)還可以看出,當(dāng)任務(wù)數(shù)在小于50的范圍內(nèi),ACO蟻群算法并不如Greedy貪心算法用時少,主要原因是蟻群算法的性質(zhì)適合在訓(xùn)練集龐大,訓(xùn)練時間較長的情況下進行,由于具有迭代學(xué)習(xí)的過程,其時間復(fù)雜度相對Greedy算法較高。但也正是由于該原因,當(dāng)任務(wù)數(shù)大于100后,由于ACO迭代學(xué)習(xí)的次數(shù)增加,所以能針對網(wǎng)絡(luò)環(huán)境中突發(fā)的各種情況進行應(yīng)對,因此得到的結(jié)果也更準(zhǔn)確,這一點是Greedy算法所不具備的。

    在云計算環(huán)境中的任務(wù)分配問題中,除了要考慮直接影響用戶滿意度的任務(wù)完成時間之外還應(yīng)充分考慮系統(tǒng)的負(fù)載平衡性,圖4表示了當(dāng)任務(wù)數(shù)為200的時候,各虛擬機的負(fù)載對比:

    從圖中可以看出,由于RR算法是按照順序分配的原則進行資源調(diào)度的,所以虛擬機的負(fù)載最不平衡;Greedy在設(shè)計時由于并未考慮的網(wǎng)絡(luò)中突發(fā)的各種情況,所以會當(dāng)任務(wù)數(shù)較多時,會出現(xiàn)大量的調(diào)度失敗以及重調(diào)度,所以雖然負(fù)載均衡程度由于RR算法,但是也存在不均衡的缺點;而蟻群算法通過利用自身不斷迭代學(xué)習(xí)的特性,實現(xiàn)了虛擬機的負(fù)載相對均衡。

    4總結(jié)

    由于云計算環(huán)境的復(fù)雜性、異構(gòu)性和不確定性,對資源分配的調(diào)度分配策略和負(fù)載均衡的要求也不斷提高。本文通過對蟻群算法特性的研究,利用Cloudsim云仿真工具實現(xiàn)了蟻群算法在云環(huán)境中資源分配調(diào)度策略的實現(xiàn)。

    實驗結(jié)果表明,ACO蟻群算法在應(yīng)對海量任務(wù)和數(shù)據(jù)處理的時候,無論是MCT任務(wù)最大完成時間還是負(fù)載均衡性能都由于傳統(tǒng)RR倫循算法和Greedy貪心算法。后續(xù)將繼續(xù)考察諸如云平臺中數(shù)據(jù)遷移的開銷、引入安全性約束條件、服務(wù)間資源資源共享等問題,這些都需要將現(xiàn)有的ACO蟻群算法進一步改進與完善。

    參考文獻(xiàn):

    [1] 劉鵬.云計算[M].2版.北京: 電子工業(yè)出版社,2011.

    [2] 田文洪,趙勇.云計算資源調(diào)度管理[M].國防工業(yè)出版社,2011.

    [3] 王永貴,韓瑞蓮.基于改進蟻群算法的云環(huán)境任務(wù)調(diào)度研究[J].計算機測量與控制,2011,19(5):1203-1204.

    [4] 倪慶劍,邢漢承,張志政,等.蟻群算法及其應(yīng)用研究進展[J].計算機應(yīng)用與軟件,2008(8):12-16.

    猜你喜歡
    蟻群算法云計算
    CVRP物流配送路徑優(yōu)化及應(yīng)用研究
    云計算中虛擬機放置多目標(biāo)優(yōu)化
    基于蟻群算法的一種無人機二維航跡規(guī)劃方法研究
    蟻群算法基本原理及綜述
    一種多項目調(diào)度的改進蟻群算法研究
    科技視界(2016年18期)2016-11-03 00:32:24
    志愿服務(wù)與“互聯(lián)網(wǎng)+”結(jié)合模式探究
    云計算與虛擬化
    基于云計算的移動學(xué)習(xí)平臺的設(shè)計
    實驗云:理論教學(xué)與實驗教學(xué)深度融合的助推器
    云計算中的存儲虛擬化技術(shù)應(yīng)用
    科技視界(2016年20期)2016-09-29 13:34:06
    花莲市| 盈江县| 巍山| 延津县| 桐城市| 黄平县| 九龙坡区| 松阳县| 秦安县| 永定县| 莒南县| 彭水| 龙游县| 张家界市| 恩平市| 扶沟县| 连江县| 新沂市| 弥勒县| 吉木萨尔县| 武清区| 翁牛特旗| 墨竹工卡县| 桦甸市| 固安县| 陕西省| 大荔县| 五华县| 云安县| 白山市| 谢通门县| 竹北市| 万安县| 九江县| 甘孜| 安阳市| 凤山县| 栾城县| 广河县| 象山县| 大渡口区|