本發(fā)明屬于云計(jì)算領(lǐng)域,尤其涉及一種高效的云市場彈性期限計(jì)算資源拍賣機(jī)制。
背景技術(shù):
云計(jì)算的出現(xiàn)為用戶提供了快速的資源按需分配,例如CPU、RAM及磁盤存儲器的資源分配。在過去的數(shù)十年里,兩種云平臺在互聯(lián)網(wǎng)上蓬勃發(fā)展,第一種是大規(guī)?;ヂ?lián)網(wǎng)數(shù)據(jù)中心,如AmazonEC2、微軟Azure和Linode這些可以管理共享資源池的云平臺;第二種是托管數(shù)據(jù)中心,通常位于大城市,物理位置相同的不同用戶使用的相對較小的云資源,托管數(shù)據(jù)中心共同管理這些云資源且為用戶提供服務(wù)。
虛擬技術(shù)把云產(chǎn)商的資源收集到一起,打包成各種不同類型的虛擬機(jī),再分配給云用戶。比如,AmazonEC2目前提供7類共23種不同類型的虛擬機(jī),每種虛擬機(jī)都有自己的優(yōu)勢且針對不同的作業(yè)。通常,大型的計(jì)算作業(yè)需要多個虛擬機(jī)實(shí)例合作進(jìn)行。比如,社交游戲和企業(yè)應(yīng)用通常由前段web服務(wù)器層、負(fù)載均衡層及后端數(shù)據(jù)存儲層組成,每層適用于在特定類型的資源,如帶寬、CPU或者存儲充足的虛擬機(jī)上執(zhí)行作業(yè)。
云計(jì)算作業(yè)可根據(jù)計(jì)算需求是否有彈性分為兩類。非彈性云作業(yè),如大規(guī)模web服務(wù)將云服務(wù)作為公共設(shè)施,要求租用的虛擬機(jī)一直運(yùn)行且適應(yīng)可能的作業(yè)大小變化。這些云作業(yè)與電網(wǎng)中需要不間斷電能供應(yīng)的用戶類似。彈性云作業(yè),如大數(shù)據(jù)分析和谷歌數(shù)據(jù)爬取處理通常是批處理,它們需要特定的計(jì)算作業(yè)能在虛擬機(jī)不是一直開啟的情況下完成,并且可以容忍作業(yè)完成過程中特定級別的延遲。這些用戶與電網(wǎng)中需要定量能源來處理提供的作業(yè)但時間窗靈活的能源用戶相似。
現(xiàn)有的云計(jì)算市場機(jī)制,特別是拍賣機(jī)制中已有針對非彈性云作業(yè)的機(jī)制。在只有一輪的云資源拍賣或在線云資源拍賣中,一旦某個投標(biāo)中標(biāo),相對應(yīng)的虛擬機(jī)的服務(wù)時間窗口就確定了,即服務(wù)時間要么是本輪,要么是投標(biāo)中要求的時間段。這種拍賣算法不需要考慮接受的作業(yè)的完成順序。與之形成鮮明對比的是,一個設(shè)計(jì)優(yōu)良的彈性云作業(yè)市場機(jī)制不僅需要考慮是否接受投標(biāo),也要注意在投標(biāo)中的時限信息的基礎(chǔ)上考慮何時執(zhí)行投標(biāo)中的作業(yè)。例如,假設(shè)有一個云用戶(投標(biāo)者)為人類染色體組分析作業(yè)競拍虛擬機(jī)資源,這個作業(yè)在有特定虛擬機(jī)的情況下可以在3小時內(nèi)完成,但只要在接下來的24小時內(nèi)拍賣商能分配計(jì)算資源完成這一作業(yè)用戶就能滿意,這24小時就是我們所說的彈性期限(soft deadline)。彈性期限在時間上給作業(yè)調(diào)度留下了充足的空間,一個好的拍賣算法如果能充分利用這一點(diǎn),就可以達(dá)到資源利用和社會效益(拍賣商的效益與中標(biāo)的投標(biāo)者的效益之和)最大化。比如,可以在彈性期限內(nèi)選擇需求低的時段執(zhí)行該用戶的作業(yè)。
但由于即使每個投標(biāo)者都是誠實(shí)的(即用自己對計(jì)算資源的真實(shí)估價進(jìn)行投標(biāo)),計(jì)算社會效益(social welfare)最大的方案也是一個屬于NP-hard的整數(shù)線性規(guī)劃問題(integer linear program,ILP),而傳統(tǒng)線性規(guī)劃又無法模擬及解決彈性期限問題。再加上還需要拍賣是在線的,即可以即時處理所有的投標(biāo),又增加了問題的難度。所以目前,還沒有針對彈性期限的云計(jì)算資源在線拍賣機(jī)制既在計(jì)算上高效,又能達(dá)到較高社會效益且保證拍賣的誠實(shí)性。
技術(shù)實(shí)現(xiàn)要素:
為了解決上述技術(shù)問題,本發(fā)明提供了一種高效的云市場彈性期限計(jì)算資源拍賣機(jī)制。先通過使用posted pricing拍賣框架保證誠實(shí)性,再通過緊湊指數(shù)型整數(shù)線性規(guī)劃和dual oracles處理彈性期限約束問題。最后,通過使用基于線性規(guī)劃對偶的經(jīng)典原始對偶算法,達(dá)到最優(yōu)社會效益。
本發(fā)明所采用的技術(shù)方案是:
一種高效的云市場彈性期限計(jì)算資源拍賣機(jī)制,其特征在于,包括:
云數(shù)據(jù)中心:云數(shù)據(jù)中心的資源池中有K種資源,資源能夠動態(tài)地分配到不同類型的虛擬機(jī)中;
虛擬機(jī):設(shè)置在資源池中,第k種類型的虛擬機(jī)一共有ck個單位;[X]代表整數(shù)集{1,2,...,X};
云服務(wù)供應(yīng)商:作為拍賣商,以拍賣的方式向用戶出租虛擬機(jī);用戶的投標(biāo)在大的時間跨度{1,2,...,T}上隨機(jī)地出現(xiàn);
其中,多個投標(biāo)會同時到來或者以隨機(jī)的次序到來;令有I個用戶參與拍賣,每個用戶需要多個類型的虛擬機(jī),且會提交多個投標(biāo),將投標(biāo)總數(shù)記為J;
具體拍賣步驟如下:
步驟1:定義對每個用戶i的所有bij≠vij,都有uij(vij)≥uij(bij),即用戶都會用自己的真實(shí)估價進(jìn)行投標(biāo),也就是bij=vij,這時拍賣機(jī)制是誠實(shí)的,利用緊湊指數(shù)型整數(shù)線性規(guī)劃將社會效益最大化寫成如下整數(shù)線性規(guī)劃形式:
限制條件:
其中,ζi.代表能在期限內(nèi)完成作業(yè)的時間安排;
步驟2:引入對偶變量pk(t)和用戶i的效用ui,其中,時間t時每單位k類型資源的臨界定價,用原始對偶算法寫出對偶線性規(guī)劃:
限制條件:
令當(dāng)ui>0時,拍賣商接受用戶i的投標(biāo),并用達(dá)到最大值時的時間來調(diào)度任務(wù)的執(zhí)行;當(dāng)ui=0時,拍賣商拒絕用戶i的投標(biāo);
步驟3:初始化原始變量和對偶變量;xij=0,yi(t)=0,ui=0,pk(t)=0,zk(t)=0;l∈ζi,xil=0;
步驟4:在每個用戶i的投標(biāo)到來時,通過dual oracle選擇可以使用戶i效用最大化的投標(biāo)j*及對應(yīng)的執(zhí)行調(diào)度即對用戶i的調(diào)度的每個期限dij,選擇t∈[ti,dij]中價格最低時隙數(shù)wi,記錄所對應(yīng)的作業(yè)執(zhí)行安排lj;
步驟5:如果用戶i效用ui=0,拒絕該用戶的投標(biāo);如果用戶i效用ui>0,則更新原始變量yi(t)=1,并更新zk(t)(t時間內(nèi)被分配出去的k類資源的數(shù)目),和價格pk(t);由于這里決定價格pk(t)的定價機(jī)制屬于posted pricing機(jī)制,也就是說價格與用戶i的投標(biāo)價格無關(guān),所以本發(fā)明的拍賣機(jī)制是誠實(shí)的;此時,若所有用戶均已投標(biāo),則結(jié)束算法;反之則回到步驟5。
在上述的一種高效的云市場彈性期限計(jì)算資源拍賣機(jī)制,用戶i的投標(biāo)包含:
約束條件一:需要的第k種類型的虛擬機(jī)的總量
約束條件二:完成該計(jì)算作業(yè)需要的槽(slot)的數(shù)量wi;
約束條件三:完成作業(yè)的期限dij,
約束條件四:每個期限對應(yīng)的競價bij;此外,作業(yè)的完成過程不需要是連續(xù)的,用戶i的作業(yè)可以在任何時間槽中執(zhí)行,只要在期限內(nèi)該作業(yè)的執(zhí)行時間之和達(dá)到wi;表示用戶i在ti時間提交的投標(biāo)。
在上述的一種高效的云市場彈性期限計(jì)算資源拍賣機(jī)制,定義整個拍賣過程中每個用戶最多中一次標(biāo);每個投標(biāo)出現(xiàn)時,拍賣商會立即決定是否接受這一投標(biāo),如果接受,則還要決定選擇哪個期限及如何安排投標(biāo)中的作業(yè)的執(zhí)行時間;二元參數(shù)xij=1代表用戶i的第j個投標(biāo)中標(biāo);否則,xij=0;另一個二元參數(shù)yi(t)=1表示用戶i的作業(yè)在時間t被執(zhí)行;否則yi(t)=0;拍賣商向用戶i收取的費(fèi)用為pi;vij是用戶i對第j個投標(biāo)的真實(shí)估價,這個投標(biāo)的效用uij(bij)=vij-pi(如果xij=1);如果xij=0,uij(bij)=0;如果對所有bij≠vij,都有uij(vij)≥uij(bij),則這一拍賣機(jī)制是誠實(shí)的(truthful);社會效益是用戶效用∑i∈[I]∑j∈[J]vijxij-∑i∈[I]pi與拍賣商效用∑i∈[I]pi之和,也就是∑i∈[I]∑j∈[J]vijxij。
因此,本發(fā)明具有如下優(yōu)點(diǎn):本發(fā)明通過posted pricing拍賣框架保證在線投標(biāo)的誠實(shí)性,還通過緊湊指數(shù)型整數(shù)線性規(guī)劃和dual oracles處理彈性期限帶來的限制,并通過基于線性規(guī)劃對偶的經(jīng)典原始對偶算法提出了高效的社會收益近似算法。
附圖說明
圖1是本發(fā)明實(shí)施例的流程圖。
圖2是本發(fā)明實(shí)施例與離線拍賣算法獲得社會效益的對比圖。
圖3是本發(fā)明實(shí)施例在不同用戶數(shù)目和投標(biāo)數(shù)目時獲得的社會收益圖。
具體實(shí)施方式
為了便于本領(lǐng)域普通技術(shù)人員理解和實(shí)施本發(fā)明,下面結(jié)合附圖及實(shí)施例對本發(fā)明作進(jìn)一步的詳細(xì)描述,應(yīng)當(dāng)理解,此處所描述的實(shí)施示例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。
首先介紹一下本發(fā)明的具體方法:考慮一個擁有資源池的云數(shù)據(jù)中心,資源池中有K種資源,包括CPU、RAM和磁盤存儲,這些資源可以動態(tài)地分配到不同類型的虛擬機(jī)中。在這個資源池中,第k種類型的虛擬機(jī)一共有ck個單位。[X]代表整數(shù)集{1,2,...,X}。云服務(wù)供應(yīng)商作為拍賣商,以拍賣的方式向用戶出租虛擬機(jī)。用戶的投標(biāo)在大的時間跨度{1,2,...,T}上隨機(jī)地出現(xiàn)。需要注意的是,多個投標(biāo)可能會同時到來,也可能會以隨機(jī)的次序到來。令有I個用戶參與拍賣,每個用戶需要多個類型的虛擬機(jī),且會提交多個投標(biāo),將投標(biāo)總數(shù)記為J。用戶i的投標(biāo)包含:(1)需要的第k種類型的虛擬機(jī)的總量(2)完成該計(jì)算作業(yè)需要的時隙數(shù)(slot)的數(shù)量wi;(3)完成作業(yè)的期限dij,(4)每個期限對應(yīng)的競價bij。此外,作業(yè)的完成過程不需要是連續(xù)的,用戶i的作業(yè)可以在任何槽中執(zhí)行,只要在期限內(nèi)該作業(yè)的執(zhí)行時間之和達(dá)到wi。表示用戶i在ti時間提交的投標(biāo)。
假設(shè)整個拍賣過程中每個用戶最多中一次標(biāo)。每個投標(biāo)出現(xiàn)時,拍賣商會立即決定是否接受這一投標(biāo),如果接受,則還要決定選擇哪個期限及如何安排投標(biāo)中的作業(yè)的執(zhí)行時間。二元參數(shù)xij=1表示用戶i的第j個投標(biāo)中標(biāo);否則,xij=0。另一個二元參數(shù)yi(t)=1表示用戶i的作業(yè)在時間t被執(zhí)行;否則yi(t)=0。拍賣商向用戶i收取的費(fèi)用為pi。vij是用戶i對第j個投標(biāo)的真實(shí)估價,這個投標(biāo)的效用uij(bij)=vij-pi(如果xij=1);如果xij=0,uij(bij)=0。如果對所有bij≠vij,都有uij(vij)≥uij(bij),則這一拍賣機(jī)制是誠實(shí)的(truthful)。社會效益是用戶效用∑i∈[I]∑j∈[J]vijxij-∑i∈[I]pi與拍賣商效用∑i∈[I]pi之和,也就是∑i∈[I]∑j∈[J]vijxij,具體包括:
步驟1:假設(shè)對每個用戶i的所有bij≠vij,都有uij(vij)≥uij(bij),即用戶都會用自己的真實(shí)估價進(jìn)行投標(biāo),也就是bij=vij,這時拍賣機(jī)制是誠實(shí)的?;诖思僭O(shè),可以將社會效益最大化寫成如下整數(shù)線性規(guī)劃形式:
限制條件:
步驟2:利用緊湊指數(shù)型整數(shù)線性規(guī)劃(compact-exponential ILP)簡化步驟1中的線性規(guī)劃:
限制條件:
其中,ζi.代表能在期限內(nèi)完成作業(yè)的時間安排。
步驟3:引入對偶變量pk(t)(時間t時每單位k類型資源的臨界定價)和用戶i的效用ui,用原始對偶算法寫出對偶線性規(guī)劃:
限制條件:
令在之后的步驟中,當(dāng)ui>0時,拍賣商接受用戶i的投標(biāo),并用達(dá)到最大值時的時間來安排作業(yè)的執(zhí)行;當(dāng)ui=0時,拍賣商拒絕用戶i的投標(biāo)。
步驟4:初始化原始變量和對偶變量。xij=0,yi(t)=0,zk(t)=0,ui=0,pk(t)=0;l∈ζi,xil=0。
步驟5:在用戶i的投標(biāo)到來時,通過dual oracle選擇可以使用戶i效用最大化的投標(biāo)j*及對應(yīng)的執(zhí)行安排即對用戶i的作業(yè)的每個期限dij,選擇t∈[ti,dij]中價格最低時隙數(shù)wi,記錄所對應(yīng)的作業(yè)執(zhí)行安排lj。
步驟6:如果用戶i效用ui=0,拒絕該用戶的投標(biāo)。如果用戶i效用ui>0,則更新原始變量yi(t)=1,并更新zk(t)(t時間內(nèi)被分配出去的k類資源的數(shù)目),和價格pk(t)。由于這里決定價格pk(t)的定價機(jī)制屬于posted pricing機(jī)制,也就是說價格與用戶i的投標(biāo)價格無關(guān),所以本發(fā)明的拍賣機(jī)制是誠實(shí)的。此時,若所有用戶均已投標(biāo),則結(jié)束算法;反之則回到步驟5。
在本實(shí)施例中,我們設(shè)置用戶人數(shù)分別為40、50、60、70、80、90、100,每個用戶的投標(biāo)數(shù)J為2、4、6。
步驟1:先假設(shè)每個用戶i都會用自己的真實(shí)估價進(jìn)行投標(biāo),也就是bij=vij。由于拍賣機(jī)制是誠實(shí)的,因此可以將社會效益最大化寫成如下整數(shù)線性規(guī)劃形式:
限制條件:
步驟2:利用緊湊指數(shù)型整數(shù)線性規(guī)劃(compact-exponential ILP)簡化步驟1中的線性規(guī)劃:
限制條件:
其中,ζi.代表能在期限內(nèi)完成作業(yè)的時間安排。
步驟3:引入對偶變量pk(t)(時間t時每單位k類型資源的臨界定價)和用戶i的效用ui,用原始對偶算法寫出對偶線性規(guī)劃:
限制條件:
令
步驟4:初始化原始變量和對偶變量。xij=0,yi(t)=0,zk(t)=0,ui=0,pk(t)=0;l∈ζi,xil=0。
步驟5:在用戶i的投標(biāo)到來時,通過dual oracle選擇可以使用戶i效用最大化的投標(biāo)j*及對應(yīng)的執(zhí)行安排
步驟6:如果用戶i效用ui=0,拒絕該用戶的投標(biāo)。如果用戶i效用ui>0,則更新原始變量yi(t)=1,并更新zk(t)(t時間內(nèi)被分配出去的k類資源的數(shù)目),和價格pk(t)。此時,若所有用戶均已投標(biāo),則結(jié)束算法;反之則回到步驟5。
本發(fā)明研究了云市場彈性期限計(jì)算資源拍賣問題,通過研究使用posted pricing拍賣框架、緊湊指數(shù)型整數(shù)線性規(guī)劃和dual oracles,保證了拍賣的誠實(shí)性、高社會效益,且該拍賣算法能在多項(xiàng)式時間內(nèi)完成,比一般算法更高效。
應(yīng)當(dāng)理解的是,本說明書未詳細(xì)闡述的部分均屬于現(xiàn)有技術(shù),上述針對較佳實(shí)施例的描述較為詳細(xì),并不能因此而認(rèn)為是對本發(fā)明專利保護(hù)范圍的限制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的啟示下,在不脫離本發(fā)明權(quán)利要求所保護(hù)的范圍情況下,還可以做出替換或變形,均落入本發(fā)明的保護(hù)范圍之內(nèi),本發(fā)明的請求保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。