麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

一種斷電時云系統提供持續服務的調度算法的制作方法

文檔序號:11154616閱讀:481來源:國知局
一種斷電時云系統提供持續服務的調度算法的制造方法與工藝

本發明涉及云系統技術領域,尤其是一種斷電時云系統提供持續服務的調度算法。



背景技術:

在云系統中,保持服務的持續性是至關重要的,斷電是一個對持續性最常見也最嚴重的威脅。為了提高斷電時云的恢復能力,云服務供應商通常會在數據中心部署緊急電力供應如電池和發電機,也可能會在斷電發生時將服務復制到其他的數據中心。但上述方法都存在缺陷,能量的供給是有限的,每一個服務在受影響的數據中心需求的服務時間是不一樣的,需要高效的云服務持續性調度算法提高服務收益。



技術實現要素:

本發明所要解決的技術問題在于,提供一種斷電時云系統提供持續服務的調度算法,可以確保激活物理機時每單元通電時間的使用效率,最大化物理機上被操作的虛擬機的收益。

為解決上述技術問題,本發明提供一種斷電時云系統提供持續服務的調度算法,包括如下步驟:

(1)初始化k=1,

(2)當且時計算如果則進行Ak=REVENUEBUNDLE(V,(J\Sk-1)≤t,激活一臺新的物理機PM來運行Ak中的虛擬機VMs,令Sk=Sk-1∪Ak,k=k+1,判斷是否剩余能量充足以繼續循環激活新一臺PM或結束;

(3)計算令如果Sk中的收益比大,則返回Sk的收益;否則,返回中的收益;其中,J為數據中心斷電前運行的虛擬機的集合;V為單個物理機PM的資源數;sj為第j臺虛擬機所需要的cpu資源大小;dj為第j臺虛擬機的截止時間;J≤t為虛擬機集合J中滿足dj≤t的集合;pj為第j臺虛擬機在截止時間前運行完成所帶來的利潤;T為數據中心供電恢復的時間;I為數據中心中物理機的集合;U為數據中心中斷電后可供使用的緊急供電總量;Ak為在第k輪迭代中被分配的虛擬機子集;Sk為前k輪中已被分配的虛擬機集合,即Sk=∪1≤i≤kAi;為算法中,對于滿足給定截止時間下的剩 余未被分配的虛擬機子集中,滿足給定資源容量上限并使所獲得收益最大化的子集合; 為算法中,單位時間內中收益最大化的截止時間;為在容量V下單個物理機下分配物理機集時能得到的最大收益;為在容量V下單個物理機下分配物理機集時達到最大收益的物理機集合。

本發明的有益效果為:對于斷電情況下如何利用有限備用能源的問題,提供了一個在平均性能上能夠逼近最優解的解決方案,可以確保激活物理機時每單元通電時間的使用效率,最大化物理機上被操作的虛擬機的收益,從而保證能源的使用效率。

附圖說明

圖1為本發明的斷電時云系統的結構示意圖。

圖2為持續服務所需時間的評估方式示意圖。

圖3為本發明的算法流程示意圖。

圖4(a)為本發明的在可獲得的物理機和通電時間有限的情況下的虛擬機數量不同對于收益值影響的示意圖。

圖4(b)為本發明的不同的物理機為可利用狀態時收益變化的示意圖。

具體實施方式

如圖1所示,一種斷電時云系統的結構,本地數據中心擁有物理機、物理機和緊急備用電力(UPS等),遠端數據中心(公有云等)提供備用虛擬機服務。當災難或斷電情況發生時,本地數據中心對本地資源數和虛擬機持續性所需時間、收益進行評估,運行云系統持續服務調度算法,借助遷移或重定向到遠端數據中心實現服務持續性。其中,服務所需時間根據不同情況進行評估。

如圖2所示,斷電情況下,虛擬機維持持續性所需時間可由以下不同情況進行評估:當選擇本地執行完時所需時間由虛擬機本地遷移和任務執行所需時間確定;當需要重定向到遠端數據中心時,如果遠端已有對應的虛擬機則所需時間由重定向時間確定,而如果遠端無對應的虛擬機,則通過區分新建虛擬機、建虛擬機且遷移數據、移植虛擬機三種子情況確定所需時間。

如圖3所示,一種斷電時云系統提供持續服務的調度算法,包括如下步驟:

(1)初始化k=1,

(2)當且時計算如果則進行Ak=REVENUEBUNDLE(V,(J\Sk-1)≤t,激活一臺新的物理機PM來運行Ak中的虛擬機VMs,令Sk=Sk-1∪Ak,k=k+1,判斷是否剩余能量充足以繼續循環激活新一臺PM或結束;

(3)計算令如果Sk中的收益比大,則返回Sk的收益;否則,返回中的收益;其中,J為數據中心斷電前運行的虛擬機的集合;V為單個物理機PM的資源數;sj為第j臺虛擬機所需要的cpu資源大小;dj為第j臺虛擬機的截止時間;J≤t為虛擬機集合J中滿足dj≤t的集合;pj為第j臺虛擬機在截止時間前運行完成所帶來的利潤;T為數據中心供電恢復的時間;I為數據中心中物理機的集合;U為數據中心中斷電后可供使用的緊急供電總量;Ak為在第k輪迭代中被分配的虛擬機子集;Sk為前k輪中已被分配的虛擬機集合,即Sk=U1≤i≤kAi;為算法中,對于滿足給定截止時間下的剩余未被分配的虛擬機子集中,滿足給定資源容量上限并使所獲得收益最大化的子集合; 為算法中,單位時間內中收益最大化的截止時間;為在容量V下單個物理機下分配物理機集時能得到的最大收益;為在容量V下單個物理機下分配物理機集時達到最大收益的物理機集合。

假定有t個單位的通電時間,在[0,t)區間內從J中選擇多個虛擬機在單個容量為V的物理機上運行,定義是最終期限滿足dj≤t的虛擬機的集合,只有最終期限不大于t的虛擬機能夠在這樣一個物理機上運行。因此,只需要考慮J≤t。

從已得的集合找到一個虛擬機的子集,該集合滿足總收益在被選擇的虛擬機的總資源需求不超過V的限制條件下最大化。已得一個虛擬機集合和容量V,使程序procedure返回需求的子集,同時為最大收益。定義是在v容量前提下只使用前j個虛擬機的最大收益。收益當第j個虛擬機沒有被選擇的時候等于或者是當第j個虛擬機被選擇的時候等于由此,遞歸函數是:

通過編譯執行編譯rev(n,V,J)的時間復雜度是O(nV)。一旦需要,能夠更進一步通過將它縮放到δV移除值V的時間復雜度的依賴性來達成收益至少(1-δ)rev(n,V,J),在誤差范圍為δ的條件下使用運行時間。

為了解決這個關鍵子問題,只需要調用程序REVENUEBUNDLE(V,J≤t),這里的J≤t是 截止時間滿足dj≤t的虛擬機集合。

在上述方案的基礎上解決有大量物理機的CSC問題。激活一個物理機來運行多個虛擬機,這樣能夠高效地利用資源容量并能首先滿足通電時間的使用效率,然后在滿足通電時間約束的條件下迭代地激活虛擬機。

在有了REVENUEBUNDLE算法的幫助下,已知區間[0,t),計算最大收益rev(V,J≤t)。第一批虛擬機在所有可能的t∈[0,T]條件下達到最大值接下來,這個算法迭代地找到剩下的虛擬機。

這個算法的具體設計在BRP有展現。這個算法迭代地選擇虛擬機的一個子集,并為了他們激活一個新的物理機。設Ak為分配在迭代k和Sk=∪1≤i≤kAi上的虛擬機子集。在迭代k中,該算法調用程序REVENUEBUNDLE(V,(J\Sk-1)≤t)來測試每個時間t∈[1,T]以找到一個時間并設Ak為t滿足rev(V,(J\sk-1)≤t)的虛擬機。它激活一個新的物理機來分配Ak的虛擬機,消耗t時間單元來獲得收益這個算法迭代地找到接下來的集合Sk+1并在所有的虛擬機都被選擇或者所有的時間在增加了集合Sk+1后達到了容量U的情況下結束。當這種情況出現,這個算法返回有更大Sk和之間的收益的集合。此時是在有J個虛擬機輸入,U個時間單元,一個物理機的情況下可達到的最大收益。

因為計算云服務持續性問題CSC的最優解是NP-hard的,我們將本發明調度算法稱之為CSC-SCHEDULE的執行和簡單貪心、最優解的上界進行比較。最優解表示為OPT UB,這是通過將ILP(整數規劃)放松成xij∈[0,1]的LP(線性規劃)得到的。本發明算法的評估如下所示。

圖4(a)表示了在可獲得的物理機和通電時間是有限的情況下的虛擬機數量不同對于收益值的影響。在這種情況下,虛擬機的數量n∈[50,500],物理機的數量m=100,通電時間U=5000。

通常來說,這三種種算法的收益都隨著虛擬機的數量的增長而增長。當虛擬機數量小于200時,三種種算法的差異是微不足道的。在此之后,本發明算法的收益保持穩定因為通電時間處于瓶頸。平均來說,本發明算法比貪心算法好不少,且收益至多為OPT UB的0.41倍。

圖4(b)闡述了當不同的物理機為可利用狀態時收益的變化。物理機數量在[50,200]間變化,虛擬機數固定為500。平均來說,本發明算法比貪心算法好不少,且收益十分逼近最優解。

盡管本發明就優選實施方式進行了示意和描述,但本領域的技術人員應當理解,只要不超出本發明的權利要求所限定的范圍,可以對本發明進行各種變化和修改。

當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 广南县| 伊金霍洛旗| 阳城县| 曲阜市| 张家界市| 沾益县| 赤水市| 梁河县| 河北区| 衡山县| 河南省| 南投市| 彰武县| 东乌| 岚皋县| 牙克石市| 陇川县| 天峨县| 宜宾县| 青冈县| 财经| 乐安县| 南郑县| 双辽市| 凤山县| 德阳市| 昌吉市| 青田县| 富顺县| 绥江县| 进贤县| 颍上县| 习水县| 团风县| 东山县| 华容县| 濮阳市| 胶南市| 睢宁县| 巴林右旗| 敖汉旗|