專利名稱:一種節(jié)能的云計算數(shù)據(jù)中心虛擬機放置方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種節(jié)能的云計算 數(shù)據(jù)中心虛擬機放置方法,更具體的說,尤其涉及一種最大限度地將所有待創(chuàng)建虛擬機集中放置的節(jié)能的云計算數(shù)據(jù)中心虛擬機放置方法。
背景技術(shù):
云計算(Cloud Computing)是網(wǎng)格計算、分布式計算、并行計算、網(wǎng)絡(luò)存儲、虛擬化等傳統(tǒng)計算機和網(wǎng)絡(luò)技術(shù)發(fā)展融合的產(chǎn)物。它是一種商業(yè)計算模型,它將計算任務(wù)分布在大量物理計算機構(gòu)成的資源池上,使各種應(yīng)用系統(tǒng)能夠按需獲取計算能力、存儲空間和信息服務(wù)。其核心是服務(wù)資源池,其通常是一些可以自我維護和管理的虛擬化資源,包括計算服務(wù)器、存儲服務(wù)器和帶寬資源。云計算包括以下幾個層次的服務(wù)基礎(chǔ)設(shè)施即服務(wù)(Infrastructure as a Service簡稱IaaS),指消費者通過Internet 從完善的計算機基礎(chǔ)設(shè)施獲得服務(wù),包括處理、存儲、網(wǎng)絡(luò)和其它基本的計算資源,用戶可以在其上自由的部署與運行任意軟件。
軟件即服務(wù)(Software as a Service),是指一種通過Internet提供軟件服務(wù)的模式,用戶無需購買軟件,而是向提供商租用基于Web的軟件,來管理企業(yè)經(jīng)營活動。
平臺即服務(wù)(Platform as a Service簡稱PaaS),指將軟件研發(fā)平臺作為一種服務(wù),以SaaS的模式提交給用戶。Paas是SaaS模式的一種應(yīng)用。PaaS的出現(xiàn)可以加快SaaS 的發(fā)展,尤其是加快SaaS應(yīng)用的開發(fā)速度。
云數(shù)據(jù)中心目前主要采用虛擬數(shù)據(jù)中心的方式構(gòu)建,虛擬數(shù)據(jù)中心,是指利用服務(wù)器虛擬化技術(shù),采用互相獨立、隔離的虛擬主機提供等同物理機的功能,其成本遠遠低于物理數(shù)據(jù)中心。虛擬數(shù)據(jù)中心的核心是虛擬機,所謂虛擬機,就是計算機軟件,其運行于物理硬件或物理計算機之上,它可以運行操作系統(tǒng)(稱為客戶操作系統(tǒng))和應(yīng)用程序,它有自己的虛擬硬件。虛擬機不是仿真器和模擬器,它們是真實的計算機,可以實現(xiàn)與物理計算機相同甚至超過物理計算機的功能。
用戶可以使用虛擬化技術(shù)基于少量的物理服務(wù)器提供大規(guī)模的虛擬化服務(wù),因此大大降低了云數(shù)據(jù)中心的構(gòu)建費用。目前,電能消耗成為云計算數(shù)據(jù)中心的主要運營成本。 以Google為例,據(jù)已有公開信息,Google在全球共有36個數(shù)據(jù)中心,一年消耗大約790億千瓦時電力;2011年,全美國的數(shù)據(jù)中心共消耗電能10000億千瓦時,折合74億美元。節(jié)能問題已經(jīng)成為云數(shù)據(jù)中心運營急需解決的一大難題。在云計算數(shù)據(jù)中心運營中,其通過其龐大的物理服務(wù)器集群為為用戶提供虛擬機自助服務(wù),虛擬機主要創(chuàng)建在各個物理服務(wù)器之上,虛擬機的創(chuàng)建會使得物理服務(wù)器集群產(chǎn)生大量廢熱,從而使周圍的溫度升高,據(jù)測算,最高問題可達50多度,溫度的升高會引起空調(diào)制冷系統(tǒng)的工作,通過空調(diào)制冷系統(tǒng)來保持?jǐn)?shù)據(jù)中心的標(biāo)準(zhǔn)溫度,由此引起的電能消耗,約占云數(shù)據(jù)中心電能消耗的40%。虛擬機的集中放置,其核心思想是將虛擬機的創(chuàng)建集中于較少的物理服務(wù)器之上,從而減少物理服務(wù)器廢熱的產(chǎn)生,節(jié)省電能消耗。因此,通過高效的虛擬機集中放置降低制冷系統(tǒng)的電能消耗成為云數(shù)據(jù)中心節(jié)能的一個重要途徑。
當(dāng)今主流的虛擬機放置方法主要包括打包法,分條法,負(fù)載感知法及內(nèi)存親近法。
打包法的基本思想是以盡少使用節(jié)點為目標(biāo),將虛擬機集中在部分云計算中的節(jié)點上運行,實現(xiàn)方式上,采用虛擬機運行數(shù)目最多優(yōu)先原則,即當(dāng)需要為新建虛擬機選擇宿主機時,選擇擁有最多數(shù)量虛擬機運行的宿主機,打包法的優(yōu)點是該方法可使大量的虛擬機集中在少數(shù)的物理節(jié)點上運行,可降低物理服務(wù)器成本,打包法的不足是虛擬機過于集中,致使虛擬機資源搶占概率過大,為保證虛擬服務(wù)器的質(zhì)量,大量虛擬機的遷移及資源調(diào)整行為必不可少,這樣會產(chǎn)生大量的開銷。
分條法基本思想是以最大化單個服務(wù)器節(jié)點可用資源為目標(biāo),將虛擬機散布在所有節(jié)點上運行,實現(xiàn)方式上,采用虛擬機運行數(shù)目最少優(yōu)先原則,即當(dāng)需要為新建虛擬機選擇宿主機是,選擇擁有最少數(shù)量虛擬機運行的宿主機,其基本思路是受集群負(fù)載均衡啟發(fā), 是虛擬機按數(shù)量均勻分布,降低虛擬機資源搶占概率,其缺點是依據(jù)虛擬機數(shù)量進行放置, 把虛擬機數(shù)量僅僅抽象為節(jié)點上的負(fù)載值,過于單一,并且無法區(qū)別不同資源(如CPU,內(nèi)存,硬盤等)請求的虛擬機對節(jié)點造成的實際負(fù)載,不夠細(xì)化,難以實現(xiàn)更細(xì)粒度和精度的資源分配需求。
負(fù)載感知法的目標(biāo)與分條法相同,力求最大化單個節(jié)點上的可用資源?;驹O(shè)計思路是受節(jié)點負(fù)載最小啟發(fā),將新建虛擬機放置在具有最小負(fù)載的節(jié)點上運行。實現(xiàn)方式上,采用最大CPU空閑率優(yōu)先原則,即當(dāng)需要為新建虛擬機選擇宿主機是,選擇CPU空閑率最大的宿主機。其優(yōu)點與分條法相同,受負(fù)載均衡啟發(fā),由于考慮節(jié)點上的CPU資源使用情況,可達到分布式計算系統(tǒng)范圍內(nèi)的CPU資源負(fù)載均衡。其缺點是該方法只考慮了 CPU資源,對節(jié)點的內(nèi)存,網(wǎng)絡(luò)和磁盤使用情況等集群節(jié)點負(fù)責(zé)的重要組成,缺乏考慮。
內(nèi)存親近法是由Timothy Wood博士提出的一種基于內(nèi)存共享感知的虛擬機放置系統(tǒng),包括一個內(nèi)存識別系統(tǒng),能夠有效判斷一組虛擬機之間的內(nèi)存共享潛能,并計算出更有效的放置方式。另外,隨著負(fù)荷變化,系統(tǒng)還將利用在線遷移優(yōu)化虛擬機放置,其優(yōu)點是從集群范圍尋找虛擬內(nèi)存頁相同的虛擬機,是他們遷移到同一個集群節(jié)點,共享虛擬內(nèi)存, 可提高物理內(nèi)存利用率,節(jié)約內(nèi)存,提升集群的虛擬機容納數(shù)量。其缺點是由于需要通過虛擬機遷移實現(xiàn)虛擬機放置,方法過程較為復(fù)雜,并且若共享虛擬內(nèi)存的虛擬機過多,無法保證虛擬服務(wù)器的服務(wù)質(zhì)量。
對于以上提出的虛擬機放置方法,僅從虛擬機放置本身來考慮問題并未結(jié)合空調(diào)制冷系統(tǒng)能耗的因素進行設(shè)計,對于打包法,其思想是盡量將多個虛擬機集中放置到較少的物理服務(wù)器中,從而實現(xiàn)電能的減少,但是該方法僅考慮了物理服務(wù)器邏輯上的集中,實際中,部署的服務(wù)器可能位于不同的物理機柜區(qū)域,按此方法部署會使得不同物理服務(wù)器區(qū)域的溫度上升,造成制冷系統(tǒng)的工作,從而消耗電能;對于分條法、負(fù)載感知、內(nèi)存親近的方法,其思想是將虛擬機分散到多個物理結(jié)點,從而實現(xiàn)負(fù)載均衡的功能,該類方法會引起大規(guī)模范圍內(nèi)溫度的上升,引起制冷空調(diào)的大面積工作。因此上述方法在實現(xiàn)過程中無法實現(xiàn)空調(diào)制冷系統(tǒng)的節(jié)能。發(fā)明內(nèi)容
本發(fā)明為了克服上述技術(shù)問題的缺點,提出了一種最大限度地將所有待創(chuàng)建虛擬機集中放置的節(jié)能的云計算數(shù)據(jù)中心虛擬機放置方法。
本發(fā)明的節(jié)能的云計算數(shù)據(jù)中心虛擬機放置方法,其特別之處在于a.建立物理服務(wù)器區(qū)域,將空調(diào)制冷系統(tǒng)的一個出風(fēng)口覆蓋的所有物理服務(wù)器劃分為同一物理服務(wù)器分區(qū),形成基于云計算的物理服務(wù)器區(qū)域;并設(shè)物理服務(wù)器區(qū)域在橫向、縱向上所包含的物理服務(wù)器分區(qū)數(shù)目分別為x、y個,x>y均為正整數(shù);b.獲取物理服務(wù)器信息,獲取步驟a中所有物理服務(wù)器的資源使用信息和所在分區(qū)信息;c.計算待創(chuàng)建虛擬機資源,獲取每個待創(chuàng)建虛擬機的CPU、內(nèi)存和硬盤大小,并計算出要創(chuàng)建所有虛擬機所需的請求資源;設(shè)所需的CPU、內(nèi)存和硬盤的請求資源分別為C^tZdaaand、iMM 和DiSKdeamd ;d.對物理服務(wù)器進行排序,對所有物理服務(wù)器依據(jù)可用資源的大小進行排序,形成物理服務(wù)器序列集合, 該序列集合記為Plf ;e.建立待創(chuàng)建虛擬機與物理服務(wù)器之間的映射,在可用資源滿足待創(chuàng)建虛擬機請求資源的基礎(chǔ)上,搜索滿足需求的物理服務(wù)器資源序列;并按照序列中包含物理服務(wù)器數(shù)量的多少對該資源序列進行分類,形成物理服務(wù)器序列集合,分別記為W1,,…,W4,其中FMn表示包含n個物理服務(wù)器且可用資源滿足需求的所有序列的集合, η為正整數(shù);f.判斷是否有單個物理服務(wù)器滿足需求,如果有集合W1存在,則FAi1中任何一臺物理服務(wù)器的可用資源均可創(chuàng)建出所有虛擬機,選擇其中任一物理服務(wù)器作為待創(chuàng)建虛擬機的節(jié)點;如不存在集合FM1,則執(zhí)行步驟g;g.判斷是否存在同一分區(qū)內(nèi)的滿足要求的物理服務(wù)器序列,遍歷物理服務(wù)器序列集合W2,…,,尋找出位于同一物理服務(wù)器分區(qū)內(nèi)的物理服務(wù)器序列,在該物理服務(wù)器序列上創(chuàng)建所有虛擬機;如不存在處于同一分區(qū)內(nèi)的滿足要求的物理服務(wù)器序列,則執(zhí)行步驟h ;h.選取空調(diào)能耗成本最小、且物理服務(wù)器數(shù)量最少的服務(wù)器序列,來創(chuàng)建所有虛擬機;空調(diào)能耗成本大小與物理服務(wù)器集中程度大小成反比。
步驟a中,每個物理服務(wù)器分區(qū)中應(yīng)設(shè)置各自的溫度傳感器,以便空調(diào)制冷系統(tǒng)根據(jù)檢測的溫度來控制相應(yīng)出風(fēng)口的開閉;物理服務(wù)器分區(qū)簡稱分區(qū)。步驟b中,物理服務(wù)器的資源使用信息為CPU、內(nèi)存和硬盤的使用信息,所在分區(qū)信息為物理服務(wù)器所在分區(qū)的坐標(biāo)信息。步驟C中,CPtZtoi為所有待創(chuàng)建虛擬機的CPU之和,SAMdmmd為所有待創(chuàng)建虛擬機的內(nèi)存之和,DEK-為所有待創(chuàng)建虛擬機的硬盤之和。步驟d中,對物理服務(wù)器進行排序,是為了步驟e中便于與待創(chuàng)建虛擬機形成映射。步驟e中,形成了滿足資源需求的所有物理服務(wù)器序列集合,以便于選擇出能耗最低的虛擬機放置方案。步驟f中,如果有集合FM1存在,則表明有一臺物理服務(wù)器的可用資源即可滿足創(chuàng)建所有虛擬機的要求,則在一臺物理服務(wù)器上進行創(chuàng)建,以便達到最佳的節(jié)能目的。步驟g中,在同一分區(qū)內(nèi)的物理服務(wù)器上創(chuàng)建所有虛擬機,也有利于服務(wù)器的集中散熱,達到較佳的節(jié)能目的。步驟h中, 如果不存在一個或同一分區(qū)的物理服務(wù)器滿足創(chuàng)建虛擬機的要求,則選取兩個或兩個以上分區(qū)內(nèi)的物理服務(wù)器來創(chuàng)建虛擬機,選取物理服務(wù)器集中程度最大的服務(wù)器序列來放置虛擬機,以降低能耗成本。
本發(fā)明的節(jié)能的云計算數(shù)據(jù)中心虛擬機放置方法,設(shè)物理服務(wù)器分區(qū)的位置用二維坐標(biāo)P= (i,j)表示;空調(diào)能耗成本用cost標(biāo)示,定義
權(quán)利要求
1.一種節(jié)能的云計算數(shù)據(jù)中心虛擬機放置方法,其特征在于,包括以下步驟 a.建立物理服務(wù)器區(qū)域,將空調(diào)制冷系統(tǒng)的一個出風(fēng)口覆蓋的所有物理服務(wù)器劃分為同一物理服務(wù)器分區(qū),形成基于云計算的物理服務(wù)器區(qū)域;并設(shè)物理服務(wù)器區(qū)域在橫向、縱向上所包含的物理服務(wù)器分區(qū)數(shù)目分別為X、y個,X、y均為正整數(shù); b.獲取物理服務(wù)器信息,獲取步驟a中所有物理服務(wù)器的資源使用信息和所在分區(qū)信息; c.計算待創(chuàng)建虛擬機資源,獲取每個待創(chuàng)建虛擬機的CPU、內(nèi)存和硬盤大小,并計算出要創(chuàng)建所有虛擬機所需的請求資源;設(shè)所需的CPU、內(nèi)存和硬盤的請求資源分別為CfPJjRAM 知 DIi^Fr d.對物理服務(wù)器進行排序,對所有物理服務(wù)器依據(jù)可用資源的大小進行排序,形成物理服務(wù)器序列集合,該序列集合記為/W ; e.建立待創(chuàng)建虛擬機與物理服務(wù)器之間的映射,在可用資源滿足待創(chuàng)建虛擬機請求資源的基礎(chǔ)上,搜索滿足需求的物理服務(wù)器資源序列;并按照序列中包含物理服務(wù)器數(shù)量的多少對該資源序列進行分類,形成物理服務(wù)器序列集合,分別記為WK1 , VM2 ,…,其中FM,表示包含n個物理服務(wù)器且可用資源滿足需求的所有序列的集合,n為正整數(shù); f.判斷是否有單個物理服務(wù)器滿足需求,如果有集合WK存在,則KM1中任何一臺物理服務(wù)器的可用資源均可創(chuàng)建出所有虛擬機,選擇其中任一物理服務(wù)器作為待創(chuàng)建虛擬機的節(jié)點;如不存在集合FAf1,則執(zhí)行步驟g ; g.判斷是否存在同一分區(qū)內(nèi)的滿足要求的物理服務(wù)器序列,遍歷物理服務(wù)器序列集合VM2,…,F(xiàn)Mtt ,尋找出位于同一物理服務(wù)器分區(qū)內(nèi)的物理服務(wù)器序列,在該物理服務(wù)器序列上創(chuàng)建所有虛擬機;如不存在處于同一分區(qū)內(nèi)的滿足要求的物理服務(wù)器序列,則執(zhí)行步驟h; h.選取空調(diào)能耗成本最小、且物理服務(wù)器數(shù)量最少的服務(wù)器序列,來創(chuàng)建所有虛擬機;空調(diào)能耗成本大小與物理服務(wù)器集中程度大小成反比。
2.根據(jù)權(quán)利要求I所述的節(jié)能的云計算數(shù)據(jù)中心虛擬機放置方法,設(shè)物理服務(wù)器分區(qū)的位置用二維坐標(biāo)P= (i,j)表示;空調(diào)能耗成本用cost標(biāo)示,定義
3.根據(jù)權(quán)利要求I或2所述的節(jié)能的云計算數(shù)據(jù)中心虛擬機放置方法,其特征在于步驟d中,所述的物理服務(wù)器的可用資源包括CPU、內(nèi)存和硬盤的可用資源,分別用、AIM-勵和msm分別采用以下公式進行計算酬減迦=OPUtgml -CPUlisei-CPUi^JMilif _娘}^ = RAMmei - RAM- PAM 其中,右下標(biāo)注為total的表示資源總量,為used的表示已用資源量,為threshold的表示設(shè)定的預(yù)留閥值; 步驟e中,如果一個或多個物理計算機的CPU、內(nèi)存和硬盤的可用資源分別大于或等于CPUm、MMtend和Hdemand ,則認(rèn)為該序列為滿足需求的物理服務(wù)器資源序列。
全文摘要
本發(fā)明的節(jié)能的云計算數(shù)據(jù)中心虛擬機放置方法,包括a.建立物理服務(wù)器區(qū)域;b.獲取物理服務(wù)器信息;c.計算待創(chuàng)建虛擬機資源;d.對物理服務(wù)器進行排序;e.建立待創(chuàng)建虛擬機與物理服務(wù)器之間的映射;f.判斷是否有單個物理服務(wù)器滿足需求;g.判斷是否存在同一分區(qū)內(nèi)的滿足要求的物理服務(wù)器序列;h.選取空調(diào)能耗成本最小、且物理服務(wù)器數(shù)量最少的服務(wù)器序列。本發(fā)明的云計算數(shù)據(jù)中心虛擬機放置方法,優(yōu)先選用單個物理服務(wù)器來創(chuàng)建虛擬機,再選用同一分區(qū)內(nèi)的物理服務(wù)器來創(chuàng)建虛擬機;在前兩者都不存在的情況下,最終選用集中程度最高的物理服務(wù)器序列來創(chuàng)建虛擬機,實現(xiàn)云計算中心虛擬機的節(jié)能放置,節(jié)能效果顯著,便于應(yīng)用推廣。
文檔編號H04L29/08GK102929687SQ20121038596
公開日2013年2月13日 申請日期2012年10月12日 優(yōu)先權(quán)日2012年10月12日
發(fā)明者王魯, 楊美紅, 孫萌, 馬駿, 張新常, 張瑋, 史慧玲 申請人:山東省計算中心