虛擬機部署方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及云平臺應(yīng)用技術(shù)領(lǐng)域,具體涉及一種虛擬機部署方法和裝置。
【背景技術(shù)】
[0002] 基礎(chǔ)設(shè)施即服務(wù)(英文:Infrastructure-as-a_Service,縮寫:IaaS)平臺是當前 云計算平臺最重要的一種表現(xiàn)形式,通過對基礎(chǔ)設(shè)施的虛擬化,將物理資源(如服務(wù)器的 帶寬、內(nèi)存或者硬盤空間等)按需分配給用戶使用。隨著云數(shù)據(jù)中心對各種資源需求量的 增加,如何通過資源的合理調(diào)度以降低數(shù)據(jù)中心能耗、提高系統(tǒng)資源利用率已成為未來云 計算發(fā)展的重要研究方向之一。
[0003] IaaS云平臺資源調(diào)度的實質(zhì)是根據(jù)用戶資源需求進行虛擬機的優(yōu)化部署?,F(xiàn)有的 IaaS云平臺的虛擬機部署方案中通常采用啟發(fā)式算法以解決虛擬機部署的組合優(yōu)化問題, 選擇最優(yōu)的部署方案。啟發(fā)式算法是指受大自然的運行規(guī)律或者面向具體問題的經(jīng)驗、規(guī) 則啟發(fā)出來的方法。啟發(fā)式算法都是根據(jù)經(jīng)驗提出的,沒有堅實的理論基礎(chǔ)。常用的啟發(fā) 式算法主要包括模擬退火、遺傳算法、蟻群算法、粒子群算法等。隨著IaaS云平臺資源調(diào)度 中任務(wù)的增加、資源種類的多樣化以及系統(tǒng)的復雜性增強,啟發(fā)式算法這類經(jīng)驗型算法的 可擴展性有限,往往會將復雜性放大,增加了問題求解的難度。啟發(fā)式算法得到的解只是近 似最優(yōu)解,全局最優(yōu)性無法保證。這也使得算法性能不夠穩(wěn)定,有時會造成計算結(jié)果的不可 f目。
[0004] 綜上所述,現(xiàn)有的IaaS云平臺的虛擬機部署方案存在穩(wěn)定性較差以及準確度較 差的問題。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明實施例提供的虛擬機部署方法和裝置,可以解決現(xiàn)有技術(shù)方案中存在的穩(wěn) 定性較差以及準確度較差的問題。
[0006] 第一方面,本發(fā)明實施例提供一種虛擬機部署方法,所述方法包括:
[0007] 接收用戶發(fā)送的部署虛擬機的請求,根據(jù)所述接收到的請求確定待部署虛擬機的 個數(shù)n以及所述每個待部署虛擬機請求消耗的資源;
[0008] 根據(jù)預設(shè)算法以及約束條件求解目標函數(shù)min(rank(X))以獲取最優(yōu)解矩陣;
[0009] 其中,min函數(shù)為求最小值的函數(shù),rank (X)表示矩陣X的秩,矩陣X為所述n個待 部署虛擬機與m個用于部署虛擬機的物理機的映射關(guān)系矩陣,矩陣X = [Xi」,i為用于部署 虛擬機的物理機的編號且i e [l,m],j為待部署虛擬機的編號且j G [l,n],XijG {〇,1}, xy表示第j個待部署虛擬機VM」與第i個用于部署虛擬機的物理機PM ,的映射關(guān)系,當x u =1表示在所述物理機PM,上部署所述待部署虛擬機VM」,當&= 0表示不在所述物理機 PMi上部署所述待部署虛擬機VM^所述約束條件包括:| |x」1,^.為矩陣X中的第j列 向量,I I Xj I I。表示矩陣X中第j列向量x」的1。范數(shù);Q ? X T彡R,X T為矩陣X的轉(zhuǎn)置矩陣, 矩陣Q = [qj]dXn,qj為矩陣Q的列向量,表示所述待部署虛擬機VM j請求消耗的資源,R =
[A] dXm,A為矩陣R的列向量,表示所述物理機PM i提供的資源,d為所述資源的種類的個 數(shù);
[0010] 根據(jù)所述獲取的最優(yōu)解矩陣中的元素的值部署虛擬機。
[0011] 結(jié)合第一方面,在第一種可能的實現(xiàn)方式中,所述根據(jù)預設(shè)算法以及約束條件求 解目標函數(shù)min (rank (X))以獲取最優(yōu)解矩陣包括:
[0012] 將所述目標函數(shù)轉(zhuǎn)換為第二目標函數(shù)
【主權(quán)項】
1. 一種虛擬機部署方法,其特征在于,包括: 接收用戶發(fā)送的部署虛擬機的請求,根據(jù)所述接收到的請求確定待部署虛擬機的個數(shù)n以及所述每個待部署虛擬機請求消耗的資源; 根據(jù)預設(shè)算法以及約束條件求解目標函數(shù)min(rank(X))以獲取最優(yōu)解矩陣; 其中,min函數(shù)為求最小值的函數(shù),rank(X)表示矩陣X的秩,矩陣X為所述n個待部 署虛擬機與m個用于部署虛擬機的物理機的映射關(guān)系矩陣,矩陣X= [Xi』,i為用于部署 虛擬機的物理機的編號且ie[l,m],j為待部署虛擬機的編號且jG[l,n],XijG{〇,1}, xy表示第j個待部署虛擬機VM」與第i個用于部署虛擬機的物理機PM,的映射關(guān)系,當xu =1表示在所述物理機PM,上部署所述待部署虛擬機VM」,當&= 0表示不在所述物理機 PMi上部署所述待部署虛擬機VM^所述約束條件包括:| |x」1,^.為矩陣X中的第j列 向量,IIXjII。表示矩陣X中第j列向量x」的1。范數(shù);Q?XT彡R,XT為矩陣X的轉(zhuǎn)置矩陣, 矩陣Q= [qj]dXn,qj為矩陣Q的列向量,表示所述待部署虛擬機VMj請求消耗的資源,R= [rlxm,&為矩陣R的列向量,表示所述物理機PMi提供的資源,d為所述資源的種類的個 數(shù); 根據(jù)所述獲取的最優(yōu)解矩陣中的元素的值部署虛擬機。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)預設(shè)算法以及約束條件求解目 標函數(shù)min(rank(X))以獲取最優(yōu)解矩陣包括: 將所述目標函數(shù)轉(zhuǎn)換為第二目標函數(shù)
其中,X為大于或等于〇的預設(shè)值,[為矩陣\?)的F范數(shù)的平方,矩陣E= R-Q*XT為dXm的矩陣,用于表示所述m個用于部署虛擬機的物理機各自剩余的資源,矩陣Sx (E)為dXp的矩陣,用于表示部署所述n個待部署虛擬機使用的p個物理機各自剩余的 資源,d為所述資源的種類的個數(shù); 將所述約束條件中的Q?XT彡R更新為Q?XT+E=R,E彡0 ; 根據(jù)所述預設(shè)算法以及所述更新后的約束條件求解所述第二目標函數(shù)
以獲取所述最優(yōu)解矩陣。
3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)所述預設(shè)算法以及所述更新后 的約束條件求解所述第二目標函數(shù)
以獲取所述最優(yōu)解矩陣 包括: 根據(jù)拉格朗日乘數(shù)法、所述更新后的約束條件以及所述第二目標函數(shù)構(gòu)造拉格朗日函 數(shù)
;其中,拉格朗日乘數(shù)u為大于0 的預設(shè)值; 根據(jù)Et和迭代算法對所述拉格朗日函數(shù)進行求解得到矩陣Xt;其中,t為自然數(shù),當t=〇時,初始矩陣E。為隨機生成的dXm的矩陣且EAR; 根據(jù)所述矩陣Xt和所述迭代算法對所述拉格朗日函數(shù)進行求解得到矩陣Et+1; 當Et+1-Et<e時,停止迭代,則將所述矩陣X的收斂值Xjt為所述最優(yōu)解矩陣;其中,e為預設(shè)的極小值。
4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述迭代算法包括: 迭代收縮閾值算法、貪心算法或套索算法LASSO。
5. 根據(jù)權(quán)利要求1至4任一所述的方法,其特征在于,所述資源的種類包括: 操作系統(tǒng)類型、處理器CPU的頻率、處理器CPU的核心數(shù)、內(nèi)存、硬盤空間以及帶寬;相 應(yīng)的,則d= 6。
6. -種用于部署虛擬機的裝置,其特征在于,包括: 接收單元,用于接收用戶發(fā)送的部署虛擬機的請求,根據(jù)所述接收到的請求確定待部 署虛擬機的個數(shù)n以及所述每個待部署虛擬機請求消耗的資源; 計算單元,用于根據(jù)預設(shè)算法以及約束條件求解目標函數(shù)min(rank(X))以獲取最優(yōu) 解矩陣; 其中,min函數(shù)為求最小值的函數(shù),rank(X)表示矩陣X的秩,矩陣X為所述n個待部 署虛擬機與m個用于部署虛擬機的物理機的映射關(guān)系矩陣,矩陣X= [Xi』,i為用于部署 虛擬機的物理機的編號且ie[l,m],j為待部署虛擬機的編號且jG[l,n],XijG{〇,1}, xy表示第j個待部署虛擬機VM」與第i個用于部署虛擬機的物理機PM,的映射關(guān)系,當xu =1表示在所述物理機PM,上部署所述待部署虛擬機VM」,當&= 0表示不在所述物理機 PMi上部署所述待部署虛擬機VM^所述約束條件包括:| |x」1,^.為矩陣X中的第j列 向量,IIXjII。表示矩陣X中第j列向量x」的1。范數(shù);Q?XT彡R,XT為矩陣X的轉(zhuǎn)置矩陣, 矩陣Q= [qj]dXn,qj為矩陣Q的列向量,表示所述待部署虛擬機VMj請求消耗的資源,R= [rlxm,&為矩陣R的列向量,表示所述物理機PMi提供的資源,d為所述資源的種類的個 數(shù); 部署單元,用于根據(jù)所述獲取的最優(yōu)解矩陣中的元素的值部署虛擬機。
7. 根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述計算單元具體用于: 將所述目標函數(shù)轉(zhuǎn)換為第二目標函數(shù)
其中,X為大于或等于〇的預設(shè)值,為矩陣SX(E)的F范數(shù)的平方,矩陣E= R-Q*XT為dXm的矩陣,用于表示所述m個用于部署虛擬機的物理機各自剩余的資源,矩陣Sx (E)為dXp的矩陣,用于表示部署所述n個待部署虛擬機使用的p個物理機各自剩余的 資源,d為所述資源的種類的個數(shù); 將所述約束條件中的Q?XT彡R更新為Q?XT+E=R,E彡0 ; 根據(jù)所述預設(shè)算法以及所述更新后的約束條件求解所述第二目標函數(shù)
以獲取所述最優(yōu)解矩陣。
8. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述計算單元具體用于: 根據(jù)拉格朗日乘數(shù)法、所述更新后的約束條件以及所述第二目標函數(shù)構(gòu)造拉格朗日函 數(shù)
;其中,拉格朗日乘數(shù)u為大于0 的預設(shè)值; 根據(jù)Et和迭代算法對所述拉格朗日函數(shù)進行求解得到矩陣Xt;其中,t為自然數(shù),當t=〇時,初始矩陣E。為隨機生成的dXm的矩陣且EAR; 根據(jù)所述矩陣Xt和所述迭代算法對所述拉格朗日函數(shù)進行求解得到矩陣Et+1; 當Et+1-Et<e時,停止迭代,則將所述矩陣X的收斂值Xjt為所述最優(yōu)解矩陣;其中,e為預設(shè)的極小值。
9. 根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述迭代算法包括: 迭代收縮閾值算法、貪心算法或套索算法LASSO。
10. 根據(jù)權(quán)利要求6至9任一所述的裝置,其特征在于,所述資源的種類包括: 操作系統(tǒng)類型、處理器CPU的頻率、處理器CPU的核心數(shù)、內(nèi)存、硬盤空間以及帶寬;相 應(yīng)的,則d= 6。
【專利摘要】本發(fā)明實施例提供的虛擬機部署方法和裝置,包括:接收用戶發(fā)送的部署虛擬機的請求,根據(jù)所述接收到的請求確定待部署虛擬機的個數(shù)n以及每個待部署虛擬機請求消耗的資源;根據(jù)預設(shè)算法以及約束條件求解目標函數(shù)min(rank(X))以獲取最優(yōu)解矩陣;其中,rank(X)為矩陣X的秩,矩陣X為n個待部署虛擬機與m個用于部署虛擬機的物理機的映射關(guān)系矩陣,約束條件包括:||xj||0=1,||xj||0表示矩陣X中第j列向量xj的l0范數(shù);Q·XT≤R,XT為矩陣X的轉(zhuǎn)置矩陣,矩陣Q=[qj]d×n表示待部署虛擬機VMj請求消耗的資源,R=[ri]d×m表示物理機PMi提供的資源,d為資源的種類的個數(shù);根據(jù)獲取的最優(yōu)解矩陣中的元素的值部署虛擬機。通過發(fā)明的方案,能求解得到唯一最優(yōu)的虛擬機部署方案,求解穩(wěn)定性較高以及準確度較高。
【IPC分類】G06F9-455, G06F9-50
【公開號】CN104572251
【申請?zhí)枴緾N201510050846
【發(fā)明人】湯雅妃, 王志軍, 魏進武, 郭志斌
【申請人】中國聯(lián)合網(wǎng)絡(luò)通信集團有限公司
【公開日】2015年4月29日
【申請日】2015年1月30日