天天看點

IaaS-雲計算智能遷移資源均衡算法

一、目的:

   該算法的目的是保證雲計算環境的計算平均分攤到各個資源上,提升整體資源使用率;該算法從全局考慮了穩定因素,從一定程度上防止了頻繁遷移導緻系統“顫抖”。

二、算法描述:

假定前提:

實體機:P1,P2,……,Pn

按照實體機性能設定每個實體機權值:LD1,LD2,……,LDn

虛拟機:V1,V2,……,Vn

平均化計算周期:T

需要遷出的最高限定值:H

需要遷入的最低限定值:L

需要遷入的實體機隊列:IQ

需要遷出的實體機隊列:OQ

需要遷移的虛拟機清單:VQ

算法描述

1、  平均法去掉瞬時尖峰值計算所有實體機,以及虛拟機某段時長的平均cpu使用率;

在遷移過程要防止因為瞬時峰值引起雲計算内部應用服務頻繁遷移,導緻雲計算内部的“顫動”,計算方式如下:每個實體機擁有一個隊列,儲存T周期的m個性能資料,每次新的監控資料cpu使用率進入後,将最久的監控資料移出,将新資料加入到隊列裡,計算隊列中剩餘值,計算公式如下:AVGOFCPU=(SUMi-1+DATAnew-DATAlast)/m;

注:如果隊列中沒有儲存一個T周期的資料不做計算,不列入本次計算範圍内。

2、  按照遷出的最高限定值,以及遷入的最低限定值與各個實體機AVGOFCPU相比,得到兩個隊列:

      AVGOFCPU>H,加入到OQ,OQ={OP1,OP2,….}

      AVGOFCPU<L,加入到 IQ,IQ={IP1,IP2,……}

3、  計算OQ,以及IQ所有實體機中剩餘計算能力:

公式如下:剩餘計算能力=(1-AVGOFCPU)*LD

将OQ,IQ中所用實體機中的剩餘計算能力,求平均,得到平均剩餘計算能力;

将IQ中所用實體機按剩餘計算能力從高到低進行排序;

4、  取得OQ中實體機所擁有的虛拟機,評估其目前占用的計算能力值:

其計算公式如下:

虛拟機占有的絕對計算能力=所在實體機AVGOFCPU*該實體機權值*虛拟機cpu監控值*虛拟機cpu個數/(該實體機上所有虛拟機虛拟機cpu監控值*虛拟機cpu數之和)   

根據占有計算能力值從高到低進行排序,生成VQ清單。

5、  采用貪婪算法計算那些虛拟機需要遷移,以及遷移目的實體機。

算法描述:

A、從VQ中取得占用的計算能力值最高的虛拟機V,從IQ中取得剩餘計算能力最大的實體機IP,設該虛拟機所在實體機為OP:

  判斷:OP剩餘計算能力+V占用計算能力<IP剩餘計算能力-V占用計算能力

        是:則可以遷移

             —〉V遷移到OP。

              OP剩餘計算能力= OP剩餘計算能力+V占用計算能力

              IP剩餘計算能力= IP剩餘計算能力-V占用計算能力

              對IQ按照剩餘計算能力重新排序。

        否:不能遷移,将該資訊進入告警隊列

B、将V從VQ隊列中移出,判斷VQ是否為空,如為空,則進行下一步操作,否則重複進行A操作。

6、依次周遊待遷隊列,執行遷移操作,遷移成功後,清空相應的實體機,以及虛拟機的監控統計資料隊列,以確定在T周期内這些實體機,以及虛拟機不再參與遷移。

繼續閱讀