本發(fā)明涉及云計(jì)算資源調(diào)度技術(shù)領(lǐng)域。更具體地,涉及一種混合云環(huán)境下時間可感知的請求調(diào)度方法。
背景技術(shù):
云計(jì)算服務(wù)可以通過網(wǎng)絡(luò)向海量的用戶提供按需的資源。云數(shù)據(jù)中心中的資源通常采用一種按需付費(fèi)使用的方式動態(tài)地向用戶提供服務(wù)。此外,云計(jì)算提供的規(guī)模經(jīng)濟(jì)吸引了越來越多的公司將其應(yīng)用部署在云數(shù)據(jù)中心中。作為一個典型的云計(jì)算模式,基礎(chǔ)設(shè)施云服務(wù)提供商(如rackspace和amazonec2)按照按需付費(fèi)的方式向用戶提供服務(wù)。
根據(jù)美國國家標(biāo)準(zhǔn)技術(shù)研究院(nationalinstituteofstandardsandtechnology,nist)的定義,私有云通常指其基礎(chǔ)設(shè)施資源被由不同用戶構(gòu)成的單一組織所獨(dú)占的云。公有云通常指其基礎(chǔ)設(shè)施資源可以對外開放使用的云。實(shí)際情況下,私有云和公有云是相對的概念。在本發(fā)明中私有云指資源相對有限并且面向特定應(yīng)用請求的基礎(chǔ)設(shè)施云服務(wù)提供商。由于管理政策和效益等因素的考慮,特定應(yīng)用的請求首先需到達(dá)私有云,然后由其決定在混合云環(huán)境下如何最優(yōu)地調(diào)度這些請求。本發(fā)明中私有云直接面對的是用戶。這些用戶發(fā)送特定應(yīng)用的請求,典型的應(yīng)用包括高性能科學(xué)計(jì)算、大規(guī)模仿真、基于mapreduce的大數(shù)據(jù)分析處理等。私有云自身的資源總是有限的,因此在其資源不足時會利用公有云中大規(guī)模的基礎(chǔ)設(shè)施資源。當(dāng)私有云無法滿足所有請求的性能要求時需要將部分請求調(diào)度到外部的公有云中執(zhí)行。每一個私有云提供商總是以一種符合成本效益的方式向用戶的請求提供服務(wù),并且保證對應(yīng)請求的服務(wù)質(zhì)量。因此,利潤最大化是私有云提供商的一個非常重要的目標(biāo)。
云數(shù)據(jù)中心中請求的到達(dá)是無規(guī)律的和非周期的,因此很難精確地預(yù)測將來到達(dá)的請求的信息,這給私有云提供商帶來了很大的挑戰(zhàn)。由于私有云提供商的資源是有限的,因此在某一時刻私有云提供商無法滿足所有到達(dá)的請求的資源需求。由于云數(shù)據(jù)中心實(shí)際的負(fù)載具有很大的波動性,即應(yīng)用負(fù)載隨時間動態(tài)地變化。如果按照最大可能負(fù)載配置服務(wù)器資源會造成服務(wù)器資源的浪費(fèi);同樣,按照最低的可能負(fù)載配置服務(wù)器資源會造成體驗(yàn)服務(wù)級目標(biāo)(servicelevelobjective,slo)的違背?,F(xiàn)有的方法通常提供訪問控制機(jī)制來拒絕超過私有云處理能力的請求。然而,這樣會降低私有云提供商的吞吐量,并且會給私有云提供商帶來利潤的損失。然而,目前的混合云機(jī)制給私有云提供商提供了一種方法,即允許私有云提供商當(dāng)其資源不足時將部分請求放到公有云上執(zhí)行。
延遲容忍型應(yīng)用的請求通常含有一個嚴(yán)格的服務(wù)延遲時間要求,比如大規(guī)模圖像處理、科學(xué)計(jì)算和海量級數(shù)據(jù)分析等。云提供商比如亞馬遜彈性計(jì)算云以虛擬機(jī)的形式向付費(fèi)用戶提供資源。實(shí)際上,私有云和公有云提供的虛擬機(jī)的單位時間使用價(jià)格隨著時間變化而變化。此外,私有云的能量價(jià)格也同樣隨著時間而變化。因此私有云提供商可以利用一種時間可感知的請求調(diào)度方法,從而在滿足每一個請求的延遲時間要求的同時最大化私有云提供商的利潤。該方法需要保證在請求延遲時間要求內(nèi),將請求調(diào)度到私有云和公有云中執(zhí)行。
因此,需要提供一種在滿足延遲容忍型請求的延遲時間要求的同時最大化私有云提供商利潤的混合云環(huán)境下時間可感知的請求調(diào)度方法。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種混合云環(huán)境下時間可感知的請求調(diào)度方法,綜合考慮公有云和私有云的單位時間使用成本、私有云的能量價(jià)格在請求延遲時間要求內(nèi)的變化,能夠智能地將所有到達(dá)的請求調(diào)度到公有云和私有云中執(zhí)行,從而最大化私有云的利潤并且保證所有請求的延遲時間要求。
為達(dá)到上述目的,本發(fā)明采用下述技術(shù)方案:
根據(jù)本發(fā)明的一個方面,建立了混合云環(huán)境下最大化私有云利潤的請求調(diào)度的非線性約束優(yōu)化模型,包括:將面向延遲容忍型應(yīng)用請求的私有云和公有云建模為一個由等長時間間隔構(gòu)成的離散時間系統(tǒng);確定私有云提供商利潤的定義方式;對私有云資源(cpu和內(nèi)存)的約束、調(diào)度到公有云中的請求數(shù)量約束、延遲容忍型應(yīng)用請求的延遲時間約束等進(jìn)行建模。進(jìn)而最終得到混合云環(huán)境下最大化私有云利潤的請求調(diào)度的非線性約束優(yōu)化模型。
根據(jù)本發(fā)明的另一方面,提供了一種時間可感知的請求調(diào)度方法,包括:設(shè)計(jì)一種懲罰函數(shù)方法,可將非線性約束優(yōu)化模型轉(zhuǎn)化為無約束優(yōu)化模型;采用一種基于模擬退火和粒子群優(yōu)化算法的混合元啟發(fā)式優(yōu)化算法來求解轉(zhuǎn)化得到的無約束優(yōu)化模型,獲得時間可感知的請求調(diào)度策略,從而最大化私有云提供商的利潤。
根據(jù)本發(fā)明的上述方面,針對目前混合云環(huán)境下處理延遲容忍型應(yīng)用請求的架構(gòu)模式的特點(diǎn),在混合云環(huán)境下時間可感知的請求調(diào)度方法基礎(chǔ)上,通過綜合考慮公有云和私有云的單位時間使用成本、私有云的能量價(jià)格在請求延遲時間要求內(nèi)的變化等因素,使得混合云環(huán)境下私有云提供商的利潤最大化。
綜上,一種混合云環(huán)境下時間可感知的請求調(diào)度方法,包括如下步驟:
s1、針對延遲容忍型應(yīng)用的請求,將私有云和公有云建模為一個由等長時間間隔構(gòu)成的離散時間系統(tǒng);
s2、根據(jù)離散時間系統(tǒng),建立混合云環(huán)境下最大化私有云利潤的請求調(diào)度的非線性約束優(yōu)化模型;
s3、采用罰函數(shù)將非線性約束優(yōu)化模型轉(zhuǎn)化為無約束優(yōu)化模型;
s4、采用基于模擬退火和粒子群優(yōu)化算法設(shè)計(jì)的混合元啟發(fā)式優(yōu)化算法求解無約束優(yōu)化模型,實(shí)現(xiàn)混合云環(huán)境下時間可感知的請求調(diào)度,從而最大化私有云提供商的利潤并且保證所有請求的延遲時間要求。
優(yōu)選地,所述非線性約束優(yōu)化模型的優(yōu)化目標(biāo)為最大化私有云提供商的利潤profit,所述非線性約束優(yōu)化模型為:
其中,revenue表示從時間間隔t到時間間隔t+b執(zhí)行請求所帶來的收益;b表示應(yīng)用請求的延遲時間要求;cost表示從時間間隔t到時間間隔t+b,私有云執(zhí)行請求所消耗的能量成本與向公有云支付的虛擬機(jī)使用成本之和;dt表示在時間間隔t內(nèi)調(diào)度到私有云中執(zhí)行的請求的個數(shù),
優(yōu)選地,所述非線性約束優(yōu)化模型的約束包括:在時間間隔t和時間間隔t+m,調(diào)度到私有云上執(zhí)行的所有請求的總cpu和內(nèi)存需求均不能超過私有云對應(yīng)資源的容量限制:
dtcput≤cpucap
dtmemt≤memcap
其中,cput表示在時間間隔t內(nèi)私有云執(zhí)行每個請求所需要的cpu的平均個數(shù);cput+m表示在時間間隔t+m內(nèi)私有云執(zhí)行每個請求所需要的cpu的平均個數(shù);memt表示在時間間隔t內(nèi)私有云執(zhí)行每個請求所需要的內(nèi)存的平均大??;memt+m表示在時間間隔t+m內(nèi)私有云執(zhí)行每個請求所需要的cpu的平均個數(shù);memcap表示私有云的cpu的容量限制;memcap表示私有云的內(nèi)存的容量限制。
優(yōu)選地,所述非線性約束優(yōu)化模型的約束還包括:如果有請求需要調(diào)度到公有云中執(zhí)行則該請求只能調(diào)度到一個公有云上,即
優(yōu)選地,所述非線性約束優(yōu)化模型的約束還包括:在每個時間間隔t-1后需更新下一個時間間隔t的參數(shù)δt-b和dt:
δt-b←δt-b-1+λt-b
dt←dt-1+dt
其中,δt-b表示到時間間隔t-b時累計(jì)到達(dá)的請求的個數(shù),λt-b表示在時間間隔t-b到達(dá)的請求的個數(shù);dt-1表示到時間間隔t-1時累計(jì)調(diào)度的請求的個數(shù)。
優(yōu)選地,所述非線性約束優(yōu)化模型的約束還包括:到時間間隔t時,所有在時間間隔t-b或之前到達(dá)的請求均已經(jīng)被調(diào)度到私有云或者公有云中執(zhí)行;到時間間隔t+m時,所有在時間間隔t+m-b或之前到達(dá)的請求均已經(jīng)被調(diào)度到私有云或者公有云中執(zhí)行;到時間間隔t+b時累計(jì)調(diào)度的請求的個數(shù)必須等于到時間間隔t時累計(jì)到達(dá)的請求的個數(shù),具體為:
優(yōu)選地,采用罰函數(shù)將非線性約束優(yōu)化模型轉(zhuǎn)化為無約束優(yōu)化模型具體為:將非線性約束優(yōu)化模型及其約束中每個不等式或者等式約束均對應(yīng)一個懲罰項(xiàng),進(jìn)行如下罰函數(shù)計(jì)算:
其中,penalty表示對應(yīng)于非線性約束優(yōu)化模型的罰函數(shù)的值;q表示等式約束的個數(shù);p表示不等式約束的個數(shù);α和β均為常數(shù);
優(yōu)選地,采用基于模擬退火和粒子群優(yōu)化算法設(shè)計(jì)的混合元啟發(fā)式優(yōu)化算法求解無約束優(yōu)化模型具體為:在每次迭代中,當(dāng)前粒子的位置(解)所對應(yīng)的目標(biāo)函數(shù)值與該粒子新產(chǎn)生的位置所對應(yīng)的目標(biāo)函數(shù)值進(jìn)行比較:如果該粒子新產(chǎn)生的位置所對應(yīng)的目標(biāo)函數(shù)值較優(yōu)則直接按照新產(chǎn)生的位置更新該粒子的位置,如果該粒子新產(chǎn)生的位置所對應(yīng)的目標(biāo)函數(shù)值較差則按照模擬退火算法中的metropolis接受法則決定是否接受該粒子新產(chǎn)生的位置;該混合算法中每個粒子按照模擬退火算法中的metropolis接受法則來更新其自身的位置,從而期望該混合算法能夠從局部最優(yōu)解處跳出來并最終收斂于全局最優(yōu)解。在該法則中,如果接受該新位置,則直接更新該粒子的位置,否者不更新該粒子的位置。以此循環(huán),直到滿足該混合優(yōu)化算法的迭代終止條件,即得到能夠最大化私有云利潤并保證所有請求延遲時間要求的請求調(diào)度策略。
本發(fā)明的有益效果如下:
本發(fā)明所述技術(shù)方案能夠解決云數(shù)據(jù)中心中請求到達(dá)的無規(guī)律性和私有云自身資源的有限性給請求調(diào)度帶來的難題,并使得私有云提供商能夠智能地調(diào)度延遲容忍型應(yīng)用的請求,從而有選擇性地將部分到達(dá)的請求放置到公有云中執(zhí)行以嚴(yán)格保證每個請求的延遲時間要求。且本發(fā)明所述技術(shù)方案綜合考慮了公有云和私有云的單位時間使用成本、私有云的能量價(jià)格在請求延遲時間要求內(nèi)的變化特點(diǎn),能夠智能地將所有到達(dá)的請求在其延遲時間要求內(nèi)調(diào)度到公有云和私有云中執(zhí)行,從而能夠最大化私有云提供商的利潤并提高其吞吐量。
附圖說明
下面結(jié)合附圖對本發(fā)明的具體實(shí)施方式作進(jìn)一步詳細(xì)的說明;
圖1示出混合云環(huán)境下時間可感知的請求調(diào)度方法的流程圖。
圖2示出面向延遲容忍型應(yīng)用的混合云架構(gòu)圖。
具體實(shí)施方式
為了更清楚地說明本發(fā)明,下面結(jié)合優(yōu)選實(shí)施例和附圖對本發(fā)明做進(jìn)一步的說明。附圖中相似的部件以相同的附圖標(biāo)記進(jìn)行表示。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,下面所具體描述的內(nèi)容是說明性的而非限制性的,不應(yīng)以此限制本發(fā)明的保護(hù)范圍。
如圖1和圖2所示,本發(fā)明公開的一種混合云環(huán)境下時間可感知的請求調(diào)度方法,包括如下步驟:
s1、針對延遲容忍型應(yīng)用的請求,將私有云和公有云建模為一個由等長時間間隔構(gòu)成的離散時間系統(tǒng):
上述離散時間系統(tǒng)主要針對延遲容忍型應(yīng)用的請求(比如大規(guī)模圖像處理、科學(xué)計(jì)算和海量級數(shù)據(jù)分析等)。這些請求的延遲時間要求可持續(xù)多個時間間隔,在請求的延遲時間要求內(nèi),公有云和私有云的單位時間價(jià)格隨時間而變化。隨著高性能的物理服務(wù)器在云數(shù)據(jù)中心中的大規(guī)模部署,越來越多的云數(shù)據(jù)中心提供多核計(jì)算,進(jìn)而并行化地運(yùn)行應(yīng)用。該系統(tǒng)中每個請求均可以分解為多個功能上相似的子任務(wù)來并行地得到處理,這些子任務(wù)可以同時地執(zhí)行在多個不同的物理服務(wù)器上。因此,本發(fā)明中的離散時間系統(tǒng)中每個請求可以在一個時間間隔內(nèi)完成。根據(jù)此,本發(fā)明公開的請求調(diào)度方法周期性地在每個時間間隔內(nèi)智能地調(diào)度所有到達(dá)的請求。
s2、根據(jù)離散時間系統(tǒng),建立混合云環(huán)境下最大化私有云利潤的請求調(diào)度的非線性約束優(yōu)化模型:
本發(fā)明采用一種私有云提供商利潤profit的計(jì)算方法,來刻畫在請求延遲時間要求內(nèi)執(zhí)行應(yīng)用請求為私有云提供商帶來的利潤,非線性約束優(yōu)化模型的優(yōu)化目標(biāo)為最大化私有云提供商的利潤profit,非線性約束優(yōu)化模型為:
其中,revenue表示從時間間隔t到時間間隔t+b執(zhí)行請求所帶來的收益;b表示應(yīng)用請求的延遲時間要求;cost表示從時間間隔t到時間間隔t+b,私有云執(zhí)行請求所消耗的能量成本與向公有云支付的虛擬機(jī)使用成本之和;dt表示在時間間隔t內(nèi)調(diào)度到私有云中執(zhí)行的請求的個數(shù),
上述非線性約束優(yōu)化模型的約束包括下述(1)~(4):
(1)在時間間隔t和時間間隔t+m,調(diào)度到私有云上執(zhí)行的所有請求的總cpu和內(nèi)存需求均不能超過私有云對應(yīng)資源(cpu和內(nèi)存)的容量限制:
dtcput≤cpucap
dtmemt≤memcap
其中,cput表示在時間間隔t內(nèi)私有云執(zhí)行每個請求所需要的cpu的平均個數(shù);cput+m表示在時間間隔t+m內(nèi)私有云執(zhí)行每個請求所需要的cpu的平均個數(shù);memt表示在時間間隔t內(nèi)私有云執(zhí)行每個請求所需要的內(nèi)存的平均大小;memt+m表示在時間間隔t+m內(nèi)私有云執(zhí)行每個請求所需要的cpu的平均個數(shù);memcap表示私有云的cpu的容量限制;memcap表示私有云的內(nèi)存的容量限制。
(2)如果有請求需要調(diào)度到公有云中執(zhí)行則該請求只能調(diào)度到一個公有云上,即
(3)在每個時間間隔t-1后需更新下一個時間間隔t的參數(shù)δt-b和dt:
δt-b←δt-b-1+λt-b
dt←dt-1+dt
其中,δt-b表示到時間間隔t-b時累計(jì)到達(dá)的請求的個數(shù),λt-b表示在時間間隔t-b到達(dá)的請求的個數(shù);dt-1表示到時間間隔t-1時累計(jì)調(diào)度的請求的個數(shù)。
(4)到時間間隔t時,所有在時間間隔t-b或之前到達(dá)的請求均已經(jīng)被調(diào)度到私有云或者公有云中執(zhí)行;到時間間隔t+m時,所有在時間間隔t+m-b或之前到達(dá)的請求均已經(jīng)被調(diào)度到私有云或者公有云中執(zhí)行;到時間間隔t+b時累計(jì)調(diào)度的請求的個數(shù)必須等于到時間間隔t時累計(jì)到達(dá)的請求的個數(shù),具體為:
s3、采用罰函數(shù)將非線性約束優(yōu)化模型轉(zhuǎn)化為無約束優(yōu)化模型:
將步驟s2得到的非線性約束優(yōu)化模型及其約束中每個不等式或者等式約束均對應(yīng)一個懲罰項(xiàng),進(jìn)行如下罰函數(shù)計(jì)算:
其中,penalty表示對應(yīng)于非線性約束優(yōu)化模型的罰函數(shù)的值;q表示等式約束的個數(shù);p表示不等式約束的個數(shù);α和β均為常數(shù);
令augprofit表示轉(zhuǎn)化后的無約束優(yōu)化模型的新的增廣目標(biāo)函數(shù)值:
s4、采用基于模擬退火和粒子群優(yōu)化算法設(shè)計(jì)的混合元啟發(fā)式優(yōu)化算法求解無約束優(yōu)化模型,實(shí)現(xiàn)混合云環(huán)境下時間可感知的請求調(diào)度,從而最大化私有云提供商的利潤并且保證所有請求的延遲時間要求:
在每次迭代中,當(dāng)前粒子的位置(解)所對應(yīng)的目標(biāo)函數(shù)值與該粒子新產(chǎn)生的位置所對應(yīng)的目標(biāo)函數(shù)值進(jìn)行比較:如果該粒子新產(chǎn)生的位置所對應(yīng)的目標(biāo)函數(shù)值較優(yōu)則直接按照新產(chǎn)生的位置更新該粒子的位置,如果該粒子新產(chǎn)生的位置所對應(yīng)的目標(biāo)函數(shù)值較差則按照模擬退火算法中的metropolis接受法則決定是否接受該粒子新產(chǎn)生的位置;該混合算法中每個粒子按照模擬退火算法中的metropolis接受法則來更新其自身的位置,從而期望該混合算法能夠從局部最優(yōu)解處跳出來并最終收斂于全局最優(yōu)解。在該法則中,如果接受該新位置,則直接更新該粒子的位置,否者不更新該粒子的位置。以此循環(huán),直到滿足該混合優(yōu)化算法的迭代終止條件,即得到能夠最大化私有云利潤并保證所有請求延遲時間要求的請求調(diào)度策略。
顯然,本發(fā)明的上述實(shí)施例僅僅是為清楚地說明本發(fā)明所作的舉例,而并非是對本發(fā)明的實(shí)施方式的限定,對于所屬領(lǐng)域的普通技術(shù)人員來說,在上述說明的基礎(chǔ)上還可以做出其它不同形式的變化或變動,這里無法對所有的實(shí)施方式予以窮舉,凡是屬于本發(fā)明的技術(shù)方案所引伸出的顯而易見的變化或變動仍處于本發(fā)明的保護(hù)范圍之列。