一種基于網(wǎng)絡感知的新型云數(shù)據(jù)中心資源分配方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設及一種基于網(wǎng)絡感知的新型云數(shù)據(jù)中屯、資源分配方法,屬于計算機網(wǎng)絡
技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002] 隨著互聯(lián)網(wǎng)的迅猛發(fā)展和信息數(shù)據(jù)規(guī)模的爆發(fā)式增長,工業(yè)界和學術(shù)界對大規(guī)模 計算和海量數(shù)據(jù)處理的需求也日益增多。云計算作為一種新型的商業(yè)計算模型和服務模式 應運而生,它將計算任務分配在由大量計算節(jié)點構(gòu)成的大型數(shù)據(jù)中屯、上,使得各種應用能 夠按需獲取計算能力、存儲空間和信息服務。
[0003] 資源分配問題是云數(shù)據(jù)中屯、能夠提供高效服務的關(guān)鍵問題之一。資源規(guī)模的巨 大、虛擬化技術(shù)的運用W及應用請求的實時多變性都對云數(shù)據(jù)中屯、的資源分配提出了諸多 挑戰(zhàn)。云數(shù)據(jù)中屯、的資源分配需要考慮W下幾個問題。第一是性能保證,在數(shù)據(jù)中屯、的網(wǎng) 絡性能實時變化的情況下,如何保證用戶的作業(yè)獲取穩(wěn)定性能;第二,對于數(shù)據(jù)中屯、而言, 用戶的資源需要是動態(tài)變化的;第=,數(shù)據(jù)中屯、的資源是多元化的,包括CPU、內(nèi)存和網(wǎng)絡 等,而用戶的資源需求也是多元化的;第四,無論是企業(yè)的私有云,還是數(shù)據(jù)中屯、運營商,都 要考慮運營成本和實際效益。
[0004] 現(xiàn)有的資源分配技術(shù)往往只針對上述的其中一個或幾個角度來進行設計,例如在 滿足用戶資源需求多元化的基礎(chǔ)上,卻無法保證網(wǎng)絡性能的效率,從而也就增加了數(shù)據(jù)中 屯、的運營成本,降低了實際效益;在保證網(wǎng)絡性能的前提下,卻忽略了數(shù)據(jù)中屯、的資源多元 化問題。 陽〇化]本發(fā)明所提供的基于網(wǎng)絡感知的新型云數(shù)據(jù)中屯、資源分配方法,根據(jù)云數(shù)據(jù)中屯、 自身所具有的樹狀網(wǎng)絡拓撲特征進行算法設計,同時通過引入"二維背包"算法來解決用戶 及數(shù)據(jù)中屯、資源的多元化問題,與現(xiàn)有技術(shù)相比可W更好的應對上述四個問題。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明提供了一種基于網(wǎng)絡感知的新型云數(shù)據(jù)中屯、資源分配方法,可W有效降低 云數(shù)據(jù)中屯、內(nèi)部網(wǎng)絡帶寬消耗,提升用戶服務性能,同時還可W滿足云數(shù)據(jù)中屯、資源和用 戶所需資源的多元化特性。
[0007] 本發(fā)明的處理流程如圖1所示,首先,依據(jù)云數(shù)據(jù)中屯、內(nèi)部的拓撲結(jié)構(gòu),由云數(shù)據(jù) 中屯、內(nèi)部的資源分配模塊構(gòu)建包含交換機和物理機的邏輯樹(具體構(gòu)建方法可參考實施 例,另外邏輯樹的具體結(jié)構(gòu)由云數(shù)據(jù)中屯、內(nèi)部交換機和物理機之間的拓撲結(jié)構(gòu)決定),其 中物理機服務器為該邏輯樹的葉子節(jié)點,云數(shù)據(jù)中屯、的所有已用和可用計算資源(即虛擬 機)皆放置在各葉子節(jié)點對應的物理機上,并通過樹形拓撲連接的交換機實現(xiàn)彼此的通 信。顯然,為了降低虛擬機之間的通信代價,提高通信效率,應該盡可能的將那些彼此之間 通信需求較大的虛擬機集合分配到同一個葉子節(jié)點上或者邏輯距離相近的幾個不同葉子 節(jié)點上。
[0008] 因此,本發(fā)明的核屯、思想在于當云數(shù)據(jù)中屯、接收到用戶發(fā)來的虛擬機需求集合 時(包括所需虛擬機的數(shù)量,每個虛擬機所需要配置的CPU、內(nèi)存大小,W及虛擬機之間的 通信需求),依次W該數(shù)據(jù)中屯、中的每個結(jié)點(即所有的交換機和物理機)為根構(gòu)建邏輯 子樹,其中對于每個邏輯子樹,分別進行后續(xù)遍歷物理機,對于遍歷過程中遇到的每個物理 機,依次采用二維背包原則將還未分配的虛擬機集合中通信量最大的虛擬機子集預分配到 該物理機上。
[0009] 運樣,如果整個數(shù)據(jù)中屯、含有M個結(jié)點,則存在M個邏輯子樹,分別后續(xù)遍歷后,可 W得到最多M種用戶虛擬機預分配方案。最終,選擇樹高最低的邏輯子樹所對應的預分配 方案作為最終分配方案(即用戶虛擬機所在物理機之間的邏輯距離最近,連接所有虛擬機 所需的交換機層級最少)。 陽010] 本發(fā)明的技術(shù)方案為:
[0011] 一種基于網(wǎng)絡感知的新型云數(shù)據(jù)中屯、資源分配方法,其步驟為:
[0012] 1)根據(jù)云數(shù)據(jù)中屯、的拓撲結(jié)構(gòu)為該云數(shù)據(jù)中屯、構(gòu)建一邏輯樹;其中,云數(shù)據(jù)中屯、 的物理機為該邏輯樹的葉子節(jié)點,物理機通過樹形拓撲連接的交換機實現(xiàn)彼此的通信;
[0013] 2)當該云數(shù)據(jù)中屯、接收到一虛擬機需求集合時,W該邏輯樹中的每個節(jié)點為根分 別構(gòu)建一邏輯子樹;
[0014] 扣對于每一邏輯子樹,遍歷其中的物理機,對遍歷到的每個物理機,采用二維背包 原則將該虛擬機需求集合中還未分配的通信量最大的虛擬機子集預分配到該物理機上;如 果該虛擬機需求集合分配成功,則保存該邏輯子樹對應的虛擬機預分配方案;
[0015] 4)從步驟3)得到的若干種虛擬機預分配方案中選擇一樹高最低的邏輯子樹對應 的預分配方案作為該虛擬機需求集合的最終分配方案。
[0016] 進一步的,所述虛擬機需求集合的信息包括:所需虛擬機的數(shù)量,每個虛擬機所需 要配置的物理資源,W及虛擬機之間的通信需求。
[0017] 進一步的,分別W該云數(shù)據(jù)中屯、的每一物理機、交換機為根構(gòu)建一邏輯子樹。
[0018] 進一步的,所述云數(shù)據(jù)中屯、保存每一物理機的物理資源。
[0019] 進一步的,所述物理資源包括物理機的可用CPU總數(shù)、可用內(nèi)存總數(shù)。
[0020] 與現(xiàn)有技術(shù)相比,本發(fā)明的積極效果為:
[0021] 本發(fā)明根據(jù)云數(shù)據(jù)中屯、自身的網(wǎng)絡拓撲結(jié)構(gòu)特點構(gòu)造相應的云數(shù)據(jù)中屯、邏輯樹, 來實現(xiàn)基于網(wǎng)絡感知的資源分配的目的,并且通過引入二維背包原則,來滿足用戶的資源 需求多元化及數(shù)據(jù)中屯、計算資源多元化的特征,提高資源分配的實用性,具有W下優(yōu)點:
[0022] (1)本發(fā)明所提供基于網(wǎng)絡感知的新型云數(shù)據(jù)中屯、資源分配方法能夠有效降低待 分配虛擬機之間的通信代價,提高數(shù)據(jù)中屯、的通信效率;
[0023] (2)本發(fā)明所提供基于網(wǎng)絡感知的新型云數(shù)據(jù)中屯、資源分配方法能夠滿足用戶的 計算資源多元化需求,同時滿足了云數(shù)據(jù)中屯、資源多元化的特性。
【附圖說明】
[0024] 圖1為本發(fā)明的處理方法流程圖;
[0025] 圖2為數(shù)據(jù)中屯、內(nèi)部拓撲示意圖; 陽0%] 圖3為邏輯子樹拓撲示意圖。
【具體實施方式】
[0027]每個數(shù)據(jù)中屯、對應一個邏輯樹,其中所包含的邏輯子樹的數(shù)量也是固定,其中的 物理機用來存放用戶所需的虛擬機集合。一個典型的采用二叉樹結(jié)構(gòu)部署的數(shù)據(jù)中屯、,其 邏輯樹如附圖2所示。 陽02引其中包含3個交換機和4個物理機共計7個結(jié)點,相應的該數(shù)據(jù)中屯、的邏輯樹如 附圖2所示,其中包含了 7個邏輯子樹。當收到一用戶的待分配虛擬機需求時,對于其中每 一個邏輯子樹,后續(xù)遍歷其中的每個物理機,對于遍歷過程中遇到的每個物理機,依次采用 二維背包原則將還未分配的虛擬機集合中彼此通信量最大的虛擬機子集預分配到該物理 機上。其中每個物理機上可用的CPU和內(nèi)存數(shù)如附表1所示。每個用戶虛擬機所需CPU、內(nèi) 存數(shù)如附表2所示。用戶虛擬機之間的通信需求如附表3所示,運里設定每個虛擬機的通 信需求等于該虛擬機和其他虛擬機通信需求之和。
[0029] 附表1.數(shù)據(jù)中屯、可用CPU、內(nèi)存總數(shù)
[0030]
[0031] 附表2.用戶虛擬機所需CPU、內(nèi)存數(shù)
[0032]
陽0;33]附表3.用戶虛擬機間通信需求情況
[0034]
陽035]附表4為針對上述7個邏輯子樹進行預分配后的結(jié)果。W第6個邏輯子樹為例, 該子樹交換機2"為根,包含"物理機2"和"物理機3"共計兩個物理機,如附圖3所示。 首先對"物理機2"根據(jù)二維背包原則對用戶虛擬機集合進行預分配,預分配的結(jié)果是虛擬 機1,2, 3, 5, 6, 7被預分配到"物理機2"上面;然后我們對剩下的4個虛擬機在"物理機3" 上面進行同樣的預分配過程,預分配的結(jié)果是剩余的4個虛擬機全部被預分配到"物理機 3"上面,從而成功生成一種用戶虛擬機預分配方案,該方案對應的子樹樹高=2。
[0036] 如附表4所示,分別對上述7個邏輯子樹進行預分配后,共計成功生成3種預分配 方案(其中前4個邏輯子樹未能尋找到合適的物理機來存放用戶的虛擬機),其中第5個邏 輯子樹的樹高最低,故選擇該子樹所對應的預分配方案作為最終分配方案。
[0037] 附表4.子樹預分配結(jié)果
【主權(quán)項】
1. 一種基于網(wǎng)絡感知的新型云數(shù)據(jù)中心資源分配方法,其步驟為: 1) 根據(jù)云數(shù)據(jù)中心的拓撲結(jié)構(gòu)為該云數(shù)據(jù)中心構(gòu)建一邏輯樹;其中,云數(shù)據(jù)中心的物 理機為該邏輯樹的葉子節(jié)點,物理機通過樹形拓撲連接的交換機實現(xiàn)彼此的通信; 2) 當該云數(shù)據(jù)中心接收到一虛擬機需求集合時,以該邏輯樹中的每個節(jié)點為根分別構(gòu) 建一邏輯子樹; 3) 對于每一邏輯子樹,遍歷其中的物理機,對遍歷到的每個物理機,采用二維背包原則 將該虛擬機需求集合中還未分配的通信量最大的虛擬機子集預分配到該物理機上;如果該 虛擬機需求集合分配成功,則保存該邏輯子樹對應的虛擬機預分配方案; 4) 從步驟3)得到的若干種虛擬機預分配方案中選擇一樹高最低的邏輯子樹對應的預 分配方案作為該虛擬機需求集合的最終分配方案。2. 如權(quán)利要求1所述的方法,其特征在于,所述虛擬機需求集合的信息包括:所需虛擬 機的數(shù)量,每個虛擬機所需要配置的物理資源,以及虛擬機之間的通信需求。3. 如權(quán)利要求1或2所述的方法,其特征在于,分別以該云數(shù)據(jù)中心的每一物理機、交 換機為根構(gòu)建一邏輯子樹。4. 如權(quán)利要求3所述的方法,其特征在于,所述云數(shù)據(jù)中心保存每一物理機的物理資 源。5. 如權(quán)利要求4所述的方法,其特征在于,所述物理資源包括物理機的可用CPU總數(shù)、 可用內(nèi)存總數(shù)。
【專利摘要】本發(fā)明公開了一種基于網(wǎng)絡感知的新型云數(shù)據(jù)中心資源分配方法。本方法為:1)根據(jù)云數(shù)據(jù)中心的拓撲結(jié)構(gòu)為該云數(shù)據(jù)中心構(gòu)建一邏輯樹;2)當該云數(shù)據(jù)中心接收到一虛擬機需求集合時,以該邏輯樹中的每個節(jié)點為根分別構(gòu)建一邏輯子樹;3)對于每一邏輯子樹,遍歷其中的物理機,對遍歷到的每個物理機,采用二維背包原則將該虛擬機需求集合中還未分配的通信量最大的虛擬機子集預分配到該物理機上;如果該虛擬機需求集合分配成功,則保存該邏輯子樹對應的虛擬機預分配方案;4)從步驟3)得到的若干種虛擬機預分配方案中選擇一樹高最低的邏輯子樹對應的預分配方案作為該虛擬機需求集合的最終分配方案。本發(fā)明能夠大大提高云數(shù)據(jù)中心的通信效率。
【IPC分類】H04L29/08, H04L12/911
【公開號】CN105430058
【申請?zhí)枴緾N201510736537
【發(fā)明人】尉遲學彪, 李曉東
【申請人】中國互聯(lián)網(wǎng)絡信息中心
【公開日】2016年3月23日
【申請日】2015年11月3日