• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于資源配置等效性的數(shù)據(jù)中心能耗優(yōu)化①

      2016-12-06 05:17:42孫發(fā)強鄢貴海李華偉韓銀和
      高技術(shù)通訊 2016年4期
      關(guān)鍵詞:資源分配功耗能效

      孫發(fā)強 鄢貴海 李華偉 韓銀和

      (中國科學院計算技術(shù)研究所 計算機體系結(jié)構(gòu)國家重點實驗室 北京 100190)

      ?

      基于資源配置等效性的數(shù)據(jù)中心能耗優(yōu)化①

      孫發(fā)強②鄢貴海 李華偉③韓銀和

      (中國科學院計算技術(shù)研究所 計算機體系結(jié)構(gòu)國家重點實驗室 北京 100190)

      針對數(shù)據(jù)中心服務(wù)器的低能效問題,進行了利用資源配置的等效性來優(yōu)化服務(wù)器能效比的研究。研究發(fā)現(xiàn),應(yīng)用程序的多種資源分配方案具有相同的性能,但表現(xiàn)出較大的能耗差異,這種現(xiàn)象叫做 “基于性能等效的資源配置”,簡稱“等效配置”?;谶@種觀察,提出了兩種優(yōu)化能效比的算法——SmartRank算法和SmartBalance算法。SmartRank算法使用資源等效替換的方法尋找能耗最低的資源配置,來達到局部最優(yōu)的能效比;SmartBalance算法通過評估資源需求向量與剩余資源間的關(guān)系來均衡資源分配,同時兼顧單個應(yīng)用的能耗開銷,從而達到全局最大能效比。實驗表明,通過對這兩個算法的優(yōu)化,可實現(xiàn)平均節(jié)省3%的系統(tǒng)能耗,局部最大可以節(jié)省12.5%的能耗。

      功耗管理, 數(shù)據(jù)中心, 資源等效替換, 資源利用率, 資源分配

      0 引 言

      數(shù)據(jù)中心IT設(shè)備的能耗通常占數(shù)據(jù)中心能耗的50%以上[1],IT設(shè)備低能效是導(dǎo)致功耗成本大的主要原因。例如文獻[2]中的實例表明,一座功耗7600萬瓦的數(shù)據(jù)中心,提升IT設(shè)備5.2%的能效比就能夠節(jié)省100萬美元的功耗開銷,因此提高IT設(shè)備能效至關(guān)重要。引起數(shù)據(jù)中心IT設(shè)備低能效的主要因素是數(shù)據(jù)中心服務(wù)器能耗與資源利用率不成比例,服務(wù)器資源利用率低[1,3]。針對數(shù)據(jù)中心服務(wù)器的低能效問題,本項目進行了利用資源配置的等效性來提高服務(wù)器能效比的研究,并提出了兩種優(yōu)化能效比的算法,即SmartRank算法和SmartBalance算法,而且通過實驗驗證其有效性。

      1 相關(guān)研究

      服務(wù)器能耗與資源利用率不成比例的原因,除了服務(wù)器本身閑置(idle)態(tài)功耗過高外,更重要的是應(yīng)用程序資源分配不當。不同的資源分配方案導(dǎo)致不同的資源使用行為,而不同的資源具有不同的功耗特性。在數(shù)據(jù)中心服務(wù)器中一個CPU的典型峰值功耗為80~160W,一個32G內(nèi)存的典型操作功耗為6~12W,單碟硬盤的工作功耗約為10W。因此不同資源配置可能具有較大的功耗差異。然而迥異的資源配置,可能具有相似的性能,如圖1(a)所示,Hadoop Grep在不同資源配置下表現(xiàn)出相似的性能,例如資源配置為3GB內(nèi)存,60%CPU使用率和資源配置為4GB內(nèi)存,55% CPU使用率時的性能相近。而前者的能耗比后者高出5%。顯然為應(yīng)用程序分配合適的資源,可以提高服務(wù)器的能效比。

      服務(wù)器資源分配不均衡是導(dǎo)致服務(wù)器資源利用率低的主要原因之一。資源分配不均衡是指服務(wù)器的某種資源的分配量小于或大于其他資源的分配量。在資源隔離的環(huán)境下,一種資源過多的分配會導(dǎo)致其他應(yīng)用程序由于該資源無法滿足而不能分配到本服務(wù)器上,從而導(dǎo)致服務(wù)器低利用率和低吞吐量[4]。例如分配給CPU密集型應(yīng)用WordCount 80%的CPU資源[5],將導(dǎo)致CPU需求率大于20%的應(yīng)用程序無法分配,進而浪費掉大量的I/O資源。因此保持服務(wù)器資源均衡分配能夠提高服務(wù)器利用率,進而提升服務(wù)器能效比。

      (a) Hadoop Grep應(yīng)用中CPU與Memory組合的等效配置 (b) Hadoop Sort應(yīng)用中硬盤I/O速率與Memory組合的等效配置

      國內(nèi)外學者們通過功耗管理和任務(wù)調(diào)度來優(yōu)化服務(wù)器的能效比。文獻[6-10]通過動態(tài)電壓頻率調(diào)整(DVFS)和動態(tài)功耗管理(DPM)等功耗管理的方式來調(diào)整服務(wù)器功耗/能耗。DVFS方式通過調(diào)整資源的供電電壓和頻率來優(yōu)化性能和功耗;DPM方法通過調(diào)整資源所處于的睡眠狀態(tài)來優(yōu)化服務(wù)器的性能和功耗。文獻[6]發(fā)現(xiàn)使用DVFS方式可以節(jié)省20%的功耗;文獻[7]使用DPM獲得了74%的功耗減少。文獻[6]使用反饋的機制,根據(jù)應(yīng)用程序QoS的變化不斷地調(diào)整CPU的電壓和頻率;文獻[7,8]使用服務(wù)器的深度睡眠狀態(tài)(S5)來減少服務(wù)器空閑時的功耗,進而提高服務(wù)器的能效比;文獻[9]針對不同的應(yīng)用程序,權(quán)衡開啟S3睡眠狀態(tài)引起的性能損失和功耗節(jié)省來提高能效比;文獻[10] 結(jié)合DVFS和DPM的特征,并且根據(jù)應(yīng)用程序的特征和負載情況,動態(tài)調(diào)整服務(wù)器中各個芯片的功耗狀態(tài)(power state)來達到高能效比。

      在應(yīng)用程序級,文獻[11-15]通過任務(wù)調(diào)度將應(yīng)用程序整合在一起的方式來提高資源的利用率,進而提高服務(wù)器能效比。文獻[11,12]將具有資源互補性的應(yīng)用程序整合到一起。文獻[13-15]使用資源隔離的方式將不同應(yīng)用程序整合到同一服務(wù)器上。

      研究者還通過感知服務(wù)器資源利用率,使用虛擬機遷移的方式來提高服務(wù)器的利用率和能效比。虛擬機遷移的核心思想是將虛擬機從資源利用率低的服務(wù)器遷移到其它機器上,然后關(guān)閉資源利用率低的服務(wù)器。

      然而這些方法或者針對單一的資源,如CPU等,動態(tài)調(diào)整資源的分配,或者著眼于任務(wù)調(diào)度,粗略地分配資源。然而不同的資源間存在著依賴關(guān)系,有關(guān)資源組合對功耗和性能的影響缺少研究,還有資源間的均衡分配對利用率的影響。因此將這些方法應(yīng)用在數(shù)據(jù)中心這類資源分配復(fù)雜、應(yīng)用多樣化、以資源隔離為資源分配基礎(chǔ)的系統(tǒng)上時存在明顯的局限性。

      本文通過研究各種資源組合對系統(tǒng)性能的影響,發(fā)現(xiàn)不同的資源組合在某些情況下存在“等效性能”的現(xiàn)象?;谶@種等效特性,在優(yōu)化能效比上,本文提出了兩個核心算法:SmartRank算法和SmartBalance算法。SmartRank算法使用資源等效替換的方法尋找能耗最低的資源配置,來優(yōu)化單個應(yīng)用程序(局部)的能效比。SmartBalance算法通過評估資源需求向量與剩余資源間的關(guān)系來均衡資源分配,同時兼顧單個應(yīng)用的能耗開銷,從而達到服務(wù)器(全局)最大能效比。實驗表明,通過這兩個算法的優(yōu)化,系統(tǒng)可以獲得最大12.5%的局部能耗節(jié)省,平均3%的全局能耗節(jié)省。

      2 等效資源配置概念

      為了提高資源的利用率,現(xiàn)代數(shù)據(jù)中心采用多個應(yīng)用程序共享一個物理主機,比如Apache的Yarn和Twitter的Mesos架構(gòu)。在多程序共享的環(huán)境下,為了避免一個應(yīng)用程序占有絕大部分的資源或保證應(yīng)用程序足夠的資源供應(yīng)量,通常使用資源隔離的方式來滿足服務(wù)需求,即限制應(yīng)用程序使用資源的最大量。最常用的資源隔離的方法有虛擬機資源隔離、應(yīng)用隔離及Cgroup隔離。這樣應(yīng)用程序的資源配置R=[s1,s2,…,sn]和性能P間的關(guān)系可以記為P=f(R)。

      對于同一應(yīng)用程序來說,相似的性能,有不同的資源配置方案。比如Hadoop Grep應(yīng)用程序。如圖1(a)所示,對于不同的CPU配額(最大允許利用率)和內(nèi)存大小,Hadoop Grep具有不同的性能。隨著CPU配額的增加,Hadoop Grep的運行時間不斷減少;同時在同一CPU配額下,隨著內(nèi)存容量的增加性能也相應(yīng)地增加??傮w來說,性能沿著資源分布圖的斜對角線呈增長趨勢。在對角線兩側(cè)或相鄰的區(qū)域,Hadoop Grep的性能相差很小,如圖中雙向箭頭所示。如果忽略應(yīng)用程序運行時的隨機誤差[16,17],我們可以把它們看作是相同的性能。Hadoop Sort應(yīng)用在內(nèi)存與硬盤I/O帶寬資源組合中,也存在這種資源配置與性能多對一的現(xiàn)象,如圖1(b)所示。我們把這種資源配置不同,但性能相近的現(xiàn)象叫做等效資源配置。也就是,給定資源配置R1、R2及性能關(guān)系P1=f(R1)、P2=f(R2),如果P1等于P2,那么R1與R2在性能上等效,稱R1、R2為等效資源配置。

      資源組合的這種等效特性, 為能耗優(yōu)化和資源均衡分配提供了優(yōu)化空間。由于不同資源消耗的能耗差異較大,例如一個CPU的峰值功耗為100瓦,而硬盤單碟的典型工作功耗為10瓦,32GB內(nèi)存工作功耗典型值為8瓦左右,因此在這樣的服務(wù)器上工作時,不同資源配置下同一應(yīng)用程序具有不同的能耗開銷。從這些等效配置中,選取能耗最小的配置就可以盡可能地提高單個應(yīng)用程序的能效,即局部最優(yōu)化。

      資源配置在性能上等效的特性也可以均衡資源的使用,提高服務(wù)器的利用率和能效比。在資源分配不均衡的情況下,某一種資源過度分配,將導(dǎo)致其他應(yīng)用程序無法獲得相應(yīng)的資源,降低服務(wù)器的利用率。如圖2所示,在這里我們使用長方形來代表資源的一種配置方案,長方形的水平方向表示該配置最大允許使用的內(nèi)存資源,垂直方向表示CPU資源的最大使用率,那么應(yīng)用程序APP1、APP2的等效資源配置如圖2(a)所示,其中標記E代表應(yīng)用程序在該資源配置下消耗多少個單位能耗;圖2(b)~圖2(e)為APP1、APP2的四種可能的資源配置方案及相應(yīng)的總能耗開銷。如果一味地追求局部應(yīng)用程序能效比的最大化,將導(dǎo)致服務(wù)器CPU資源無法滿足APP1的需求,使得APP2無法分配到服務(wù)器上,最終降低利用率,如圖2(b)所示;而圖2(c)~圖2(e)借助資源配置的等效性,使得APP1、APP2能夠同時運行。然而不同的資源等效配置方案,能耗差異較大,圖2(d)能耗相對于圖2(e)則增長了30%。因此在資源配置等效替換時,需要協(xié)調(diào)應(yīng)用程序間的資源分配,才能提高服務(wù)器的利用率及能效比。

      綜上所述,從應(yīng)用程序的性能出發(fā),服務(wù)器的各種資源配置間存在等效替換的特性;在局部范圍,資源配置的等效替換可以提高單個應(yīng)用程序的能效比;協(xié)調(diào)應(yīng)用間的資源配置可以優(yōu)化服務(wù)器的能效比,屬于組合優(yōu)化問題?;谶@些觀察和發(fā)現(xiàn),本文提出用SmartRank算法來提高單個應(yīng)用程序的能效比,用SmartBalance算法來提高服務(wù)器能效比。

      圖2 利用不同資源配置性能等效的特性優(yōu)化全局資源分配(E代表應(yīng)用程序在該資源配置下消耗多少個單位能耗)

      3 基于資源配置等效性的能耗優(yōu)化算法

      3.1 問題描述

      為了方便問題的形式化描述,我們首先定義三個關(guān)鍵變量——等效區(qū)間ER、等效資源配置EC及資源約束函數(shù)dj(R)。我們將應(yīng)用程序在某一性能點上允許波動的范圍定義為等效區(qū)間ER,例如圖1中性能區(qū)間(0.92~0.95)可以稱為Hadoop Grep的一個ER。我們使用EC(ER,A)來表示應(yīng)用程序集A在等效區(qū)間ER上的等效資源配置集,相應(yīng)的EC(eri,ai)表示應(yīng)用程序ai在等效區(qū)間eri上的等效資源配置集。比如圖2中APP1的等效配置為C1和C2;APP2的等效配置為C3和C4;那么該應(yīng)用程序組{APP1,APP2}的等效配置為單個應(yīng)用等效配置的組合(C1,C3)、(C1,C4),(C2,C3)和(C2,C4)。dj(R)表示資源配置R的第j種資源的需求量。我們將這些符號整理到表1中。

      那么利用資源等效替換優(yōu)化服務(wù)器能效比的目標函數(shù)為:

      min E(R)

      (1)

      S.T.

      R∈EC(ER,A)

      (2)

      dj(R)≤yj, j=1,…,n

      (3)

      其中yj表示服務(wù)器上第j種資源的上限,R為應(yīng)用程序集A在ER上的一種資源等效配置,E(R)代表該配置下的能耗值。

      表1 符號標記說明

      該優(yōu)化目標面臨一個挑戰(zhàn):獲取應(yīng)用程序等效配置集。獲取應(yīng)用程序的等效配置集,需要應(yīng)用程序在不同的配置下進行運行。在實際生產(chǎn)環(huán)境中,很難滿足這種要求。我們發(fā)現(xiàn)通過機器學習的方式可以獲得某些應(yīng)用程序的等效配置集,比如在線應(yīng)用,入侵檢測和日志分析等周期執(zhí)行的服務(wù)。應(yīng)用程序每次執(zhí)行的時候,我們改變其資源配置并記錄下相應(yīng)性能和能耗。然后將性能落在相應(yīng)等效區(qū)間的配置作為等效資源配置存儲在相應(yīng)的數(shù)據(jù)庫中。這樣我們解決了該挑戰(zhàn)。

      對于單個應(yīng)用程序來說(局部優(yōu)化),只需要算法遍歷該應(yīng)用的等效配置集,找到滿足資源限制的能耗最小的配置即可; 而全局優(yōu)化則存在時間復(fù)雜度的問題。由上文可知,一組應(yīng)用程序的等效資源配置集是由單個應(yīng)用程序的等效資源配置組合而成。因而求解最優(yōu)資源配置是一個組合優(yōu)化問題,即NP問題。在實際的應(yīng)用環(huán)境中,需要使用啟發(fā)式算法來加快求解過程。本文針對這兩種情況,分別提出了SmartRank算法優(yōu)化局部資源配置,和啟發(fā)式方法SmartBalance來優(yōu)化全局資源配置。SmartBalance算法通過引入WET標準,優(yōu)先選擇WET值小的配置來近似最優(yōu)解。

      3.2 SmartRank 算法

      SmartRank算法的主要思想是遍歷所有等效資源配置,找到滿足資源限制并且能耗最小的資源配置向量。該算法的復(fù)雜度為O(N),偽代碼如下:

      SmartRank算法輸入:等效區(qū)間eri,資源與性能關(guān)系矩陣M,及相應(yīng)能耗矩陣EN輸出:資源配置向量optR1 MinE=inf;optR=NULL2 Ωp=EC(eri,ai)3 Foreach R1 IN Ωp4 If E(R1)< MinE and Satisfy(R1)==15 MinE=E(R1)6 optR=R17 End8 Done

      其中Satisfy(R1)函數(shù)為判斷資源配置R1是否滿足服務(wù)器物理資源限制,滿足的話返回1,否則返回0。

      3.3 SmartBalance 算法

      由上文可知,使用資源配置等效替換來獲取全局最優(yōu)解是組合優(yōu)化問題,因此在實際的應(yīng)用環(huán)境中,需要使用啟發(fā)式算法來加快求解過程。貪心的選擇局部最優(yōu)的資源配置向量,會導(dǎo)致某一資源分配過量,進而無法分配資源給其他應(yīng)用程序,如圖2(b)所示。資源分配不均衡是導(dǎo)致貪心選擇失效的主要原因。因此均衡資源分配是改善貪心選擇方法低利用率的關(guān)鍵。鑒于此,本文提出了SmartBalance啟發(fā)式算法來優(yōu)化全局資源配置。SmartBalance算法的基本思想是盡量保持各種資源相對均衡的分配,從而達到服務(wù)器有足夠的資源滿足未來的應(yīng)用程序。通俗來講,就是哪種資源剩余較多,分配哪種資源相應(yīng)多點。

      研究發(fā)現(xiàn)資源配置向量與服務(wù)器剩余資源向量間的夾角大小可以衡量資源分配的均衡性。資源分配越均衡,服務(wù)器資源利用率越高。如圖3所示。在圖3(a)中,應(yīng)用程序的資源分配向量R與服務(wù)器剩余資源向量Q有較大的夾角,最終導(dǎo)致了服務(wù)器只能再分配2個應(yīng)用程序;而在圖3(b)中,資源分配向量與服務(wù)器資源余量始終保持一致的方向,資源分配相對均衡,因而在分配完2個應(yīng)用后,還有足夠的資源供其他應(yīng)用程序使用。由此可知,保持與服務(wù)器資源余量相同的方向,資源分配相對均衡,有利于提高服務(wù)器的利用率。資源分配向量R與服務(wù)器剩余資源向量Q方向上的差異程度,本文使用它們之間的夾角θR來衡量,如下式所示:

      (4)

      其中為R和Q的內(nèi)積,|Q |為Q的模。θR越小代表資源分配越均衡,反之資源分配越不均衡。為了提高服務(wù)器利用率,應(yīng)該盡量減小θR的值。

      圖3 不同的資源分配方案(相同顏色塊為等效配置)

      優(yōu)先分配能耗差異較大的應(yīng)用程序,能夠使服務(wù)器獲得較少的能耗。這是因為,即使隨后的應(yīng)用程序的資源配置方案不是能耗最小的,該應(yīng)用程序消耗的能耗與最優(yōu)解相比也相差較小,降低對整體能耗的影響。而且全局最優(yōu)解是整體能耗開銷最小的資源配置方案,將每個應(yīng)用程序的等效資源配置按照能耗從小到大排序,可以加快搜索速度。同時全局優(yōu)化需要兼顧資源分配均衡。因此對于等效資源配置的優(yōu)先選擇上,需要兼顧能耗和整體資源分配均衡。本文使用加權(quán)能量通量(weighted energy throughput,WET)來作為等效資源配置優(yōu)先級衡量的標準,定義如下:

      WET=(1-ρ)·E(R)+ρ·θR

      (5)

      其中ρ為資源分配均衡程度占整體的比重。它表示在選擇資源配置時,我們更傾向于能耗還是利用率。當ρ=0時,貪心選擇等價于能耗優(yōu)先,當ρ=1時,貪心選擇等價于利用率優(yōu)先。為了降低搜索空間,對每一個應(yīng)用程序我們?nèi)ET最小的N個等效資源配置。那么SmartBalance算法過程如下。

      SmartBalance算法輸入:應(yīng)用程序集A,服務(wù)器資源余量Q輸出:資源配置方案optR 1 optR=[];flag=0;cand={} 2 B=Sorted(A) 3 Iteration(1) 4 optR=MinOpt(cand)

      Iteration(j)函數(shù) 1 Ifj>m 2 cand=cand∪optR 3 ELSE 4 K=EC(erj,Bj);flag=0 5 For each conf IN TopN(K) 6 If Satisfy(conf)==1then 7 optR=optR∪conf;Q=Q-conf; 8 Iteration(j+1);flag=1 9 End 10 If flag==1then 11 Q=Q+conf 12 optR=optR-conf;flag=0 13 End 14 End 15 End

      其中Sorted()函數(shù)按照應(yīng)用程序在等效配置集中的能耗變化,由大到小排序程序;TopN()為WET最小的N個配置;MinOpt()函數(shù)是在所有可行的資源配置方案中尋找能耗最小的資源配置。Iteration()函數(shù)為回溯迭代過程,遍歷搜索空間尋找所有能夠滿足資源約束的資源配置方案,一旦找到就將其保存到全局變量cand中,該過程的算法復(fù)雜度為O(Nm-1),其中m為應(yīng)用程序的個數(shù),N為最大的等效資源配置數(shù); SmartBalance算法關(guān)鍵在于回溯迭代尋找可行解,因此算法的復(fù)雜度為O(Nm)。雖然算法的復(fù)雜度看起來比較高,但是我們發(fā)現(xiàn),當N取3時,SmartBalance算法的解與最優(yōu)解的差距平均為0.5%(如圖6所示)。因此本算法在實際應(yīng)用中,可操作性很強。

      4 實驗結(jié)果與分析

      4.1 實驗平臺及測試程序

      為了驗證資源配置等效替換的優(yōu)勢,本文使用Cgroup來控制KVM虛擬機CPU使用率、硬盤I/O讀寫速率。KVM運行在對稱多處理器(SMP)結(jié)構(gòu)的曙光服務(wù)器上,服務(wù)器總共具有24個處理器核、24GB內(nèi)存,硬盤平均讀速率為170MB/s、寫速率為140MB/s。KVM使用2個處理器核,啟動KVM后,使用Cgroup將KVM綁定到相應(yīng)的處理器核上,同時限制處理器的CPU最大使用率、硬盤的I/O最大讀寫速率;使用libvirt來控制KVM的運行內(nèi)存的大小。

      本文使用BigDataBench[18]中的測試程序來獲取應(yīng)用程序在不同的資源配置向量下的性能,應(yīng)用負載見表2;使用CPU利用率來獲取應(yīng)用程序運行時消耗的能耗[19]。本文以單核5%的粒度來調(diào)整CPU的利用率、20MB/s的速率改變硬盤I/O的讀寫性能、1GB的大小改變內(nèi)存資源分配。測試用例來自四類:微基準測試(Micro Bechmarks)、web應(yīng)用、機器學習算法及HDFS基準測試。Hadoop版本為2.7.0,默認塊大小為128MB; Mahout版本為0.6。KVM虛擬機運行在Ubuntu 14.04,Java版本為1.7.0。

      表2 資源配置及負載

      4.2 結(jié)果分析

      我們分別從局部和全局來分析等效資源替換在能耗上的優(yōu)化結(jié)果。能耗優(yōu)化的程度不但取決于應(yīng)用程序本身,而且還取決于應(yīng)用程序的等效區(qū)間和算法的資源選擇。

      應(yīng)用程序等效區(qū)間間的能耗變化迥異。我們選用較小的性能片段作為應(yīng)用程序的等效區(qū)間,如圖4中的ER1、ER2和ER3。由圖4可知,不同的等效區(qū)間上,應(yīng)用程序的能耗差異較大。如ER2上Hadoop dfsio能耗差異達到6%,而在ER3上能耗差異只有2.5%。這將導(dǎo)致應(yīng)用程序使用等效資源配置時,有些應(yīng)用程序能耗降低明顯,有的不明顯,如圖5所示。該發(fā)現(xiàn)啟發(fā)我們求解近似全局最優(yōu)解時,優(yōu)先選擇能耗降低明顯的應(yīng)用程序。

      圖4 Hadoop-dfsio 應(yīng)用在不同資源配置下的能耗差異分布

      本文對單個應(yīng)用程序進行能耗優(yōu)化研究發(fā)現(xiàn),等效資源配置使應(yīng)用程序獲得了不同程度的能耗節(jié)省。實驗結(jié)果如圖5所示(這里我們設(shè)置等效區(qū)間長度為0.05)。利用資源等效配置,SmartRank使Hadoop Sort最大可以獲得12.5%的能耗節(jié)省,而Hadoop PageRank最大獲得6.8%的能耗節(jié)省。然而SmartRank算法僅考慮單個應(yīng)用的能耗節(jié)省,沒有考慮服務(wù)器整體的利用率,即忽略了資源分配的均衡性。我們在此基礎(chǔ)上使用WET來均衡資源分配。實驗結(jié)果顯示,在服務(wù)器剩余資源為[80,100,5]的情況下,SmartRank算法也能獲得較高的能耗節(jié)省,如圖5深色柱體所示。在局部使用WET優(yōu)化能耗,雖然不能夠保證應(yīng)用程序獲得最大的能耗節(jié)省,但是能夠盡可能地接近最優(yōu)值。如Hadoop Sort、Hadoop Grep與Hadoop PageRank獲得了最大的能耗節(jié)省,Hadoop Bayesian、Hadoop Conn和Hadoop Kmeans能耗節(jié)省僅次于最優(yōu)解,而Hadoop dfsio與最優(yōu)解相差30%。這是因為WET參數(shù)不但注重能耗優(yōu)化的量,而且還兼顧系統(tǒng)的利用率。當最優(yōu)資源配置與當前的資源剩余量有較大的差異時,相對于能耗值來說,資源的均衡使用占據(jù)主導(dǎo),SmartRank選擇了與資源剩余量相近,并且能耗較小的配置。能耗優(yōu)化量與資源分配均衡間的比重可以使用參數(shù)ρ來調(diào)節(jié);下文中我們將研究ρ對能耗節(jié)省的影響。

      圖5 SmartRank能耗優(yōu)化評估。“H”代表Hadoop程序

      接下來我們研究SmartBalance對服務(wù)器能耗的優(yōu)化效果。我們通過對4個應(yīng)用負載W1、W2、W3和W4(如表2所示)在總資源配置為[420,620,34],服務(wù)器資源余量為[400,580,30]的情況下的能耗變化來分析SmartBalance的有效性。為了比較SmartBalance算法在能耗優(yōu)化上的優(yōu)勢,我們使用隨機選擇算法(Random),即在所有可能的資源配置方案中,隨機選擇一種配置,窮舉算法(Oracle)作對比。同時為了避免隨機(Random)算法選取最壞的情況或最優(yōu)的情況,我們選擇能耗節(jié)省處于平均值的資源配置。如圖6所示,SmartBalance算法整體能耗僅比最優(yōu)值多0.5%的功耗,而隨機算法平均比最優(yōu)解多3.3%的能耗開銷。不同的負載下,不同的資源配置具有不同的能耗差異,導(dǎo)致SmartBalance算法具有不同的優(yōu)化空間。比如在負載W1下,不同資源配置平均具有4.5%的能耗差異;W2只有2.8%的能耗差異。因此SmartBalace算法最大減少4%的能耗, 最小獲得2.5%的能耗節(jié)?。豢傮w來說,SmartBalace算法平均獲得3%的能耗節(jié)省。

      圖6 隨機、SmartBalance和窮舉算法的能耗優(yōu)化對比

      在本文中,我們使用權(quán)重值ρ來調(diào)節(jié)資源均衡使用和能耗節(jié)省之間的重要程度。ρ值取0時,SmartBalance算法相當于能耗優(yōu)先的算法;當ρ取1時,SmartBalance算法相當于利用率優(yōu)先的算法。我們在服務(wù)器剩余資源為[80,100,5]下,研究ρ對局部最優(yōu)解的能耗影響。如圖7所示,隨著ρ值的增大,能耗開銷不斷地增大;Hadoop Grep、Hadoop Connect component及Hadoop PageRank在ρ值大于0.54時,能耗已經(jīng)達到最大值;而Hadoop Bayesian、Hadoop sort、Hadoop kmeans及Hadoop dfsio在ρ值達到0.78以上時,能耗逐漸接近最大值。權(quán)衡資源使用與能耗支出,ρ應(yīng)該小于0.54, 在本文中我們傾向選擇ρ=0.3。

      圖7 權(quán)重ρ對能耗優(yōu)化的影響

      5 結(jié) 論

      本文使用資源配置等效替換的策略,改善在局部由于資源分配不當引起的額外能耗開銷,和整體資源分配時,由于資源分配不均衡導(dǎo)致的服務(wù)器低利用率、低吞吐量等性能損失, 來提高數(shù)據(jù)中心服務(wù)器的能效比。針對局部資源不當導(dǎo)致的能耗浪費,本文提出了SmartRank算法,該算法能降低12.5%的能耗浪費;在全局上,我們提出了啟發(fā)式算法SmartBalance,該算法獲得與最優(yōu)資源配置相似的能耗節(jié)省,僅差0.5%。

      本文通過資源重新組合的方法來提高能效比,彌補了傳統(tǒng)功耗管理單一資源調(diào)整等不足,及資源分配不均引起的利用率低等問題,因此本方法與這些方法是正交的。協(xié)同傳統(tǒng)功耗管理方法和資源配置等效替換方法,最大化服務(wù)器能效比是我們將來需要探尋的方向。

      [1] Zhang Q, Shi W S. UPS-aware workload placement in enterprise data centers.IEEEComputerMagazine, 2015,(1):1-7

      [2] Barroso L A, Holzle U. The case for energy-proportional computing.Computer, 2007, 40(12): 33-37

      [3] Barroso L A, Clidaras J, Hoelzle U. The Datacenter as A Computer: An Introduction to The Design of Warehouse-scale Machines. Morgan & Claypool Publishers, 2013. 1-154

      [4] Lee S, Panigrahy R, Prabhakaran V, et al. Validating heuristics for virtual machines consolidation, MSR-TR-2011-9. Microsoft Research, 2011

      [5] Huang S S, Huang J, Dai J Q, et al. The HiBench benchmark suite: Characterization of the MapReduce-based data analysis. In: Proceedings of the 2010 IEEE 26th International Conference on Data Engineering Workshops, California, USA, 2010. 41-51

      [6] Lo D, Cheng L Q, Govindaraju R, et al. Towards energy proportionality for large-scale latency-critical workloads. In: Proceeding of the 41st Annual International Symposium on Computer Architecuture, Minneapolis, USA, 2014. 301-312

      [7] Meisner D, Gold B T, Wenisch T F. PowerNap: eliminating server idle power. In: Proceedings of the 14th International Conference on Architectural Support for Programming Languages and Operating Systems, Washington, USA , 2009. 205-216

      [8] Meisner D, Wenisch T F. DreamWeaver: architectural support for deep sleep. In: Proceedings of the 17th International Conference on Architectural Support for Programming Languages and Operating Systems, London, United Kingdom, 2012. 313-324

      [9] Isci C, McIntosh S, Kephart J, et al. Agile, efficient virtualization power management with low-latency server power states. In: Proceedings of the 40th Annual International Symposium on Computer Architecture, Tel-Aviv, Israel, 2013. 96-107

      [10] Liu Y P, Draper S C, Kim N S. SleepScale: Runtime joint speed scaling and sleep states management for power efficient data centers. In: Proceedings of the 41st Annual International Symposium on Computer Architecture, Minneapolis, USA, 2014. 313-324

      [11] Delimitrou C, Kozyrakis C. Quasar: resource-efficient and QoS-aware cluster management. In: Proceedings of the 19th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), Salt Lake City, USA, 2014. 127-144

      [12] Delimitrou C, Kozyrakis C, Paragon: QoS-aware scheduling for heterogeneous datacenters. In: Proceedings of the 18th International Conference on Architectural Support for Programming Languages and Operating Systems, Houston, USA, 2013. 77-88

      [13] Lo D, Cheng L Q, Govindaraju R, et al. Heracles: improving resource efficiency at scale. In: Proceedings of the 42nd Annual International Symposium on Computer Architecture, Portland, USA, 2015. 450-462

      [14] Ma J, Sui X F, Sun N H, et al. Supporting differentiated services in computers via programmable architecture for resourcing-on-demand(PARD). In: Proceedings of the 20th International Conference on Architectural Support for Programming Languages and Operating Systems, Istanbul, Turkey, 2015. 131-143

      [15] Yang H L, Breslow A, Mars J, et al. Bubble-flux: precise online QoS management for increased utilization in warehouse scale computers. In: Proceedings of the 40th Annual International Symposium on Computer Architecture, Tel-Aviv, Israel, 2013. 607-618

      [16] Chen T S, Guo Q, Temam O, et al. Statistical performance comparisons of computers.IEEETransactionsonComputers, 2015, 64(5): 1442-1455

      [17] Yan G H, Sun F Q, Li H W, et al. CoreRank: Redeeming “Sick Silicon” by dynamically quantifying core-level healthy condition.IEEETransactionsonComputers, 2015, 65(3):716-729

      [18] Wang L, Zhan J F, Luo C J,et al. BigDataBench: A big data benchmark suite from internet services. In: Proceedings of the 20th IEEE International Symposium On High Performance Computer Architecture, Orlando, USA, 2014. 488-499

      [19] Fan X, Weber W D, Barroso L A. Power provisioning for a warehouse-sized computer. In: Proceedings of the 34th Annual International Symposium on Computer Architecture, New York, USA, 2007. 13-23

      Improvement of datacenters’ energy efficiency based on resource allocation equivalency

      Sun Faqiang, Yan Guihai, Li Huawei, Han Yinhe

      (Key Laboratory of Computer System and Architecture, Institute of Computing Technology,Chinese Academy of Science, Beijing 100190)

      The equivalence of resource allocation was used to improve the energy-efficiency proportion of servers to solve the low energy efficiency problem of modern datacenters. The study observed that variety of resource allocation schemes for applied programs have the same performance but they are apparently different in energy consumption. This phenomenon was called the equivalent allocation. Based on the observation, two algorithms for improving the energy-efficiency proportion, named SmartRank and SmartBalance, were proposed. The SmartRank algorithm uses the resource equivalent replacement to seek the resource allocation consuming lowest energy to achieve the energy-efficiency proportion of local optimization. The SmartBalance algorithm balances the resource allocation through evaluation of the relation between the vector of resource demand and the surplus resources while takes account of the cost for energy consumption to achieve the maximum local energy-efficiency proportion. The experiments show that the SmartRank algorithm can reduce the energy of a single application as much as 12.5%, and the SmartBalance algorithm can save 3% of energy of the whole system on average.

      power management, datacenter, resource equivalent replacement, resource utilization, resource allocation

      10.3772/j.issn.1002-0470.2016.04.001

      ①國家自然科學基金(61221062, 61376043, 61432017, 61572470, 61532017)資助項目。

      ,E-mail: lihuawei@ict.ac.cn(

      2015-12-29)

      ②男,1986年生,博士;研究方向:數(shù)據(jù)中心能效優(yōu)化和資源管理;E-mail: sunqle2010@gmail.com

      猜你喜歡
      資源分配功耗能效
      新研究揭示新冠疫情對資源分配的影響 精讀
      英語文摘(2020年10期)2020-11-26 08:12:20
      上海:穩(wěn)中有進 能效趨優(yōu)
      一種基于價格競爭的D2D通信資源分配算法
      關(guān)注能效
      揭開GPU功耗的面紗
      個人電腦(2016年12期)2017-02-13 15:24:40
      數(shù)字電路功耗的分析及優(yōu)化
      電子制作(2016年19期)2016-08-24 07:49:54
      “功耗”說了算 MCU Cortex-M系列占優(yōu)
      電子世界(2015年22期)2015-12-29 02:49:44
      IGBT模型優(yōu)化及其在Buck變換器中的功耗分析
      淺談實現(xiàn)高能效制造的未來發(fā)展趨勢
      自動化博覽(2014年6期)2014-02-28 22:32:07
      OFDMA系統(tǒng)中容量最大化的資源分配算法
      計算機工程(2014年6期)2014-02-28 01:25:32
      石景山区| 阳江市| 象州县| 丰镇市| 宕昌县| 永和县| 阳朔县| 尼勒克县| 大石桥市| 兖州市| 三门峡市| 三原县| 绥德县| 达孜县| 石河子市| 霍州市| 广饶县| 潜江市| 安岳县| 雷波县| 盘锦市| 溧阳市| 正镶白旗| 太湖县| 舞钢市| 大埔区| 北海市| 宝山区| 泰和县| 新河县| 安塞县| 富源县| 平江县| 子洲县| 上犹县| 南宫市| 边坝县| 天祝| 新龙县| 城口县| 谷城县|