專利名稱:一種云計(jì)算中基于綠色計(jì)算的虛擬機(jī)調(diào)度方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種云計(jì)算中的虛擬機(jī)調(diào)度方法,并涉及綠色計(jì)算的思想,可降低系統(tǒng)能耗,屬于分布式計(jì)算和計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用領(lǐng)域。
背景技術(shù):
云計(jì)算是目前國內(nèi)外商業(yè)和科研機(jī)構(gòu)研究的熱點(diǎn)之一,它將計(jì)算任務(wù)分布在大量計(jì)算機(jī)構(gòu)成的資源池上,使各種應(yīng)用系統(tǒng)能夠按需獲取計(jì)算力、存儲(chǔ)空間和信息服務(wù)。伴隨著對(duì)計(jì)算需求的增長,云中的IT設(shè)備越來越多,規(guī)模越來越大,能耗成本問題也越來越明顯。據(jù)美國環(huán)保署(us EPA)報(bào)告,2006年美國數(shù)據(jù)中心共消耗了高達(dá)610億千瓦的電量。 另一方面,來自環(huán)境保護(hù)組織的數(shù)據(jù)表明,當(dāng)前世界范圍內(nèi)數(shù)據(jù)中心碳的排放量要比荷蘭和阿根廷兩個(gè)國家的排放量還要多,約占全球二氧化碳排放量的2%。在能耗成本和碳排放量如此驚人的情況下,計(jì)算機(jī)與服務(wù)器的使用者們都期待一種綠色節(jié)能的新技術(shù)——綠色計(jì)算。目前對(duì)綠色計(jì)算還沒有統(tǒng)一的定義,維基百科認(rèn)為,綠色計(jì)算指利用各種軟/硬件先進(jìn)技術(shù),將目前大量計(jì)算機(jī)系統(tǒng)的工作負(fù)載降低,提高其運(yùn)算效率(如flop/watt指標(biāo)),減少計(jì)算機(jī)系統(tǒng)數(shù)量,進(jìn)一步降低系統(tǒng)配套電源能耗,同時(shí),改善計(jì)算機(jī)系統(tǒng)的設(shè)計(jì),提高其資源利用率和回收率,降低二氧化碳/溫室氣體排放,從而達(dá)到節(jié)能、環(huán)保和節(jié)約的目的。綠色計(jì)算其實(shí)并不復(fù)雜,它主要體現(xiàn)了節(jié)能降耗、保護(hù)環(huán)境的理念。云環(huán)境下的虛擬機(jī)調(diào)度實(shí)現(xiàn)在應(yīng)用層和虛擬資源層。云計(jì)算采用虛擬化技術(shù)將主機(jī)的資源映射到虛擬機(jī)層,執(zhí)行用戶的任務(wù)。虛擬機(jī)調(diào)度問題是將任務(wù)與資源以一定的優(yōu)化目標(biāo)為原則進(jìn)行映射,云計(jì)算機(jī)制簡(jiǎn)化了任務(wù)與資源的匹配,使任務(wù)所需資源以一臺(tái)虛擬機(jī)的形式體現(xiàn),則資源搜索過程被封裝為搜索虛擬機(jī)的過程。虛擬機(jī)在物理機(jī)上的調(diào)度有基于優(yōu)先級(jí)、基于用戶期待和基于負(fù)載均衡的調(diào)度。例如,一篇中國發(fā)明專利文獻(xiàn)(申請(qǐng)?zhí)枮?00910241371. 8,授權(quán)公告號(hào)為CN 101706743 A)公開了一種多核環(huán)境下的虛擬機(jī)調(diào)度方法,該方法是在系統(tǒng)啟動(dòng)時(shí)將CPU資源按照調(diào)度策略類型進(jìn)行分區(qū),并在系統(tǒng)運(yùn)行時(shí)實(shí)時(shí)監(jiān)控各分區(qū)的CPU負(fù)載情況,動(dòng)態(tài)調(diào)整分區(qū)CPU資源的大小,并使用相同調(diào)度策略的虛擬機(jī)在同一個(gè)分區(qū)中進(jìn)行調(diào)度,提高了調(diào)度的效率,通過動(dòng)態(tài)調(diào)整分區(qū)CPU資源的大小達(dá)到資源負(fù)載均衡的目的,實(shí)現(xiàn)了資源的充分利用,減少了資源的浪費(fèi),但是沒有考慮到任務(wù)執(zhí)行消耗能耗的問題。本發(fā)明主要從節(jié)能的角度來考慮云計(jì)算中的虛擬機(jī)調(diào)度問題,體現(xiàn)綠色計(jì)算的理念。將任務(wù)調(diào)度到虛擬機(jī)上執(zhí)行,需經(jīng)過網(wǎng)絡(luò)互聯(lián)設(shè)備傳輸?shù)接?jì)算機(jī)設(shè)備上,因此本發(fā)明中考慮了傳輸能耗;由于計(jì)算機(jī)設(shè)備消耗電力資源,本發(fā)明考慮了計(jì)算能耗。并把計(jì)算能耗和傳輸能耗的和作為綠色計(jì)算的主要指標(biāo),進(jìn)行虛擬機(jī)調(diào)度。
發(fā)明內(nèi)容
本發(fā)明的目的是將綠色計(jì)算的思想應(yīng)用于云計(jì)算中進(jìn)行虛擬機(jī)調(diào)度,提出了一種云計(jì)算中基于綠色計(jì)算的虛擬機(jī)調(diào)度方法。本發(fā)明的方法主要是首先對(duì)任務(wù)按優(yōu)先級(jí)進(jìn)行排序,得到任務(wù)列表
Γ = {ΑΓ2,…, ;},m表示當(dāng)前總?cè)蝿?wù)數(shù)。然后估算任務(wù)在所有可用虛擬機(jī)上的計(jì)算能耗和
傳輸能耗之和,選擇每個(gè)任務(wù)的最小能耗對(duì)應(yīng)的虛擬機(jī)進(jìn)行調(diào)度,并周期性監(jiān)控主機(jī)負(fù)載, 調(diào)整調(diào)度計(jì)劃,待任務(wù)全部執(zhí)行完后銷毀虛擬機(jī)。一種云計(jì)算中基于綠色計(jì)算的虛擬機(jī)調(diào)度方法詳細(xì)設(shè)計(jì)
在云計(jì)算環(huán)境中,綠色計(jì)算主要通過降低能耗來體現(xiàn)。能耗是指系統(tǒng)在一段時(shí)間內(nèi)消耗電力資源的總量。云計(jì)算中的能耗主要體現(xiàn)在計(jì)算機(jī)設(shè)備、網(wǎng)絡(luò)互聯(lián)設(shè)備及存儲(chǔ)設(shè)備上。 計(jì)算機(jī)設(shè)備上產(chǎn)生的能耗叫做計(jì)算能耗,與任務(wù)大小、虛擬機(jī)處理速度和功耗相關(guān),用公式 (2)計(jì)算。網(wǎng)絡(luò)互聯(lián)設(shè)備產(chǎn)生的能耗主要體現(xiàn)在任務(wù)與虛擬機(jī)的位置上,與距離及任務(wù)的大小有關(guān)。本發(fā)明把網(wǎng)絡(luò)互聯(lián)設(shè)備上產(chǎn)生的能耗叫做傳輸能耗,用公式(3)計(jì)算。存儲(chǔ)設(shè)備能耗主要與存儲(chǔ)設(shè)備產(chǎn)品與存儲(chǔ)方法有關(guān),與本發(fā)明的調(diào)度方法關(guān)系不大,因此本發(fā)明的虛擬機(jī)調(diào)度方法在云平臺(tái)上產(chǎn)生的能耗主要考慮了前兩種,即當(dāng)虛擬機(jī)的狀態(tài)為可用時(shí), 能耗用計(jì)算能耗和傳輸能耗之和來表示,當(dāng)虛擬機(jī)的狀態(tài)為不可用時(shí),能耗用無窮大表示, 如公式(1)所示。
^ _ οο 若狀態(tài)為不可用
權(quán)利要求
1.1、一種云計(jì)算中基于綠色計(jì)算的虛擬機(jī)調(diào)度方法,其特征在于,包括以下步驟 步驟1)接收用戶提交的任務(wù),并按照任務(wù)的優(yōu)先級(jí),對(duì)到達(dá)的任務(wù)進(jìn)行排序,得到一個(gè)需調(diào)度的當(dāng)前任務(wù)列表T = P^r2,…,?;},其中m表示當(dāng)前總?cè)蝿?wù)數(shù),如果是首次接收用戶任務(wù),則執(zhí)行下一步驟;否則,轉(zhuǎn)向步驟3);步驟2)系統(tǒng)初始化,包括初始化矩陣MCTE,根據(jù)任務(wù)數(shù),創(chuàng)建虛擬機(jī),虛擬機(jī)個(gè)數(shù)與用戶提交的任務(wù)數(shù)相同,得到一個(gè)虛擬機(jī)列表= (FM1,VM2,…,F(xiàn)MJ,其中n表示虛擬機(jī)個(gè)數(shù),然后初始化各個(gè)虛擬機(jī)的參數(shù),包括虛擬機(jī)編號(hào)(ID)、中央處理器(CPU)數(shù)量、分配內(nèi)存大小、帶寬、功率、處理速度和狀態(tài),初始時(shí)每個(gè)虛擬機(jī)的狀態(tài)為可用;步驟3)判斷任務(wù)列表是否為空,如果是,則銷毀虛擬機(jī),全過程結(jié)束;否則,執(zhí)行下一步驟;步驟4)根據(jù)最小能耗策略,選擇任務(wù)對(duì)應(yīng)能耗最小的虛擬機(jī)進(jìn)行調(diào)度; 步驟5)判斷時(shí)鐘周期是否到期,如果是,則執(zhí)行下一步驟;否則,轉(zhuǎn)向步驟1); 步驟6)根據(jù)主機(jī)負(fù)載,調(diào)整調(diào)度計(jì)劃,轉(zhuǎn)向步驟1)。
2.2、根據(jù)權(quán)利要求1所述的虛擬機(jī)調(diào)度方法,其特征在于所述步驟4)根據(jù)最小能耗策略,選擇任務(wù)對(duì)應(yīng)能耗最小的虛擬機(jī)進(jìn)行調(diào)度包括以下步驟步驟401)用一個(gè)mXn的矩陣MCTE來表示m個(gè)任務(wù)在η個(gè)虛擬機(jī)上消耗的能耗,矩陣中的每一行代表同一個(gè)任務(wù)在η個(gè)虛擬機(jī)上的能耗,每一列代表m個(gè)任務(wù)在同一個(gè)虛擬機(jī)上的能耗,這里,用 !表示T中的第i個(gè)任務(wù),VMj表示VM中的第j個(gè)虛擬機(jī),Eii表示忑在上執(zhí)行消耗的能耗;步驟402)讀取當(dāng)前任務(wù)列表T,按下式估算T中所有任務(wù)在每個(gè)虛擬機(jī)上消耗的能耗乓,填入矩陣MCTE的第i行,第j列,即MCTE [i,j] =馬·;Γ ,若KlfiW狀態(tài)為不可用B·· = {(1)δ若KMi的狀態(tài)為可用
3. 3、根據(jù)權(quán)利要求1所述的虛擬機(jī)調(diào)度方法,其特征在于所述步驟6)根據(jù)主機(jī)負(fù)載, 調(diào)整調(diào)度計(jì)劃包括以下步驟步驟601)本發(fā)明中,從能耗的角度,某一時(shí)刻主機(jī)的負(fù)載最終體現(xiàn)在主機(jī)的功耗大小上,這里,用表示第b個(gè)主機(jī),b e [i,j], y為主機(jī)總數(shù),主機(jī) 某一時(shí)刻的功耗用m表示,主機(jī)H、的最大功耗用證辦表示,用冬=HF/'HMPh作為某一時(shí)刻主機(jī)的功耗利用率,為主機(jī)的功耗利用率閾值; 步驟602)對(duì)每個(gè)主機(jī),若4 <aS0 力休眠因子,aeCO, 10%),則待Ib上的虛擬機(jī)執(zhí)行完任務(wù)后,銷毀虛擬機(jī),并休眠該主機(jī);步驟603)對(duì)每個(gè)主機(jī),若冬>Srj,則說明Hh負(fù)載過重,在本時(shí)鐘周期內(nèi),將在該主機(jī)上運(yùn)行的所有虛擬機(jī)的狀態(tài)標(biāo)志為不可用,即不能再向該主機(jī)上的虛擬機(jī)分配任務(wù);步驟604)若大于存的主機(jī)功耗利用率而,存為過載因子,於e(70%,100 ),則說明大部分主機(jī)都負(fù)載過重,喚醒休眠的主機(jī)并在其上創(chuàng)建虛擬機(jī),喚醒的主機(jī)數(shù)目不超過本時(shí)鐘周期已經(jīng)過載的主機(jī)數(shù)目。
全文摘要
本發(fā)明提出了一種云計(jì)算中基于綠色計(jì)算的虛擬機(jī)調(diào)度方法,屬于計(jì)算機(jī)網(wǎng)絡(luò)領(lǐng)域。本發(fā)明將綠色計(jì)算的思想應(yīng)用于云計(jì)算中進(jìn)行虛擬機(jī)調(diào)度,首先按照優(yōu)先級(jí)對(duì)任務(wù)排序,然后估算每個(gè)任務(wù)在各個(gè)虛擬機(jī)上的能耗總和,選擇每個(gè)任務(wù)的最小能耗對(duì)應(yīng)的虛擬機(jī)進(jìn)行調(diào)度,并周期性監(jiān)控主機(jī)負(fù)載,調(diào)整調(diào)度計(jì)劃。本發(fā)明降低了虛擬機(jī)調(diào)度的能耗,考慮了能量負(fù)載均衡,體現(xiàn)了綠色計(jì)算。
文檔編號(hào)G06F9/48GK102508714SQ20111034258
公開日2012年6月20日 申請(qǐng)日期2011年11月3日 優(yōu)先權(quán)日2011年11月3日
發(fā)明者徐小龍, 潘鈺, 程春玲 申請(qǐng)人:南京郵電大學(xué)