1.一種斷電時(shí)云系統(tǒng)提供持續(xù)服務(wù)的調(diào)度算法,其特征在于,包括如下步驟:
(1)初始化k=1,
(2)當(dāng)且
時(shí)計(jì)算
如果
則進(jìn)行Ak=REVENUEBUNDLE(V,(J\Sk-1)≤t,激活一臺(tái)新的物理機(jī)PM來運(yùn)行Ak中的虛擬機(jī)VMs,令Sk=Sk-1∪Ak,k=k+1,
判斷是否剩余能量充足以繼續(xù)循環(huán)激活新一臺(tái)PM或結(jié)束;
(3)計(jì)算令
如果Sk中的收益比
大,則返回Sk的收益;否則,返回
中的收益;其中,J為數(shù)據(jù)中心斷電前運(yùn)行的虛擬機(jī)的集合;V為單個(gè)物理機(jī)PM的資源數(shù);sj為第j臺(tái)虛擬機(jī)所需要的cpu資源大小;dj為第j臺(tái)虛擬機(jī)的截止時(shí)間;J≤t為虛擬機(jī)集合J中滿足dj≤t的集合;pj為第j臺(tái)虛擬機(jī)在截止時(shí)間前運(yùn)行完成所帶來的利潤;T為數(shù)據(jù)中心供電恢復(fù)的時(shí)間;I為數(shù)據(jù)中心中物理機(jī)的集合;U為數(shù)據(jù)中心中斷電后可供使用的緊急供電總量;Ak為在第k輪迭代中被分配的虛擬機(jī)子集;Sk為前k輪中已被分配的虛擬機(jī)集合,即Sk=∪1≤i≤kAi;
為算法中,對于滿足給定截止時(shí)間下的剩余未被分配的虛擬機(jī)子集中,滿足給定資源容量上限并使所獲得收益最大化的子集合;
為算法中,單位時(shí)間內(nèi)
中收益最大化的截止時(shí)間;
為在容量V下單個(gè)物理機(jī)下分配物理機(jī)集
時(shí)能得到的最大收益;
為在容量V下單個(gè)物理機(jī)下分配物理機(jī)集
時(shí)達(dá)到最大收益的物理機(jī)集合。