本發(fā)明涉及網絡數(shù)據(jù)中心的耗能管理技術領域,更為具體來說,本發(fā)明為一種數(shù)據(jù)中心能耗的管理方法及裝置。
背景技術:
對于典型的數(shù)據(jù)中心,能耗狀況是數(shù)據(jù)中心重要組成部分。網絡關鍵物理基礎設施的10年總擁有成本可以高達每機架80000-150000美元。在總擁有成本中,電能消耗占相當大的比重,約為總成本的20%。
綠色數(shù)據(jù)中心的構建與可再生能源利用在最近幾年成為國內外關注的熱點。學術界也開始逐漸轉向對關于數(shù)據(jù)中心能耗控制的相關問題進行研究,從不同角度面向節(jié)能對數(shù)據(jù)中心資源管理、任務調度、負載均衡等方法進行研究。有人根據(jù)當前負載的需求,動態(tài)的控制集群中節(jié)點的開關來節(jié)約能耗,同時也提出了對負載進行均衡或非均衡決策的系列方法。但這種以啟動和關閉節(jié)點的方式帶來的損耗也較大,此外啟動已關閉節(jié)點時帶來時間上的延遲往往是不可忽略的,這對負載的及時處理也會有較大不利影響。還有人針對虛擬化集群面向節(jié)能的動態(tài)資源配置進行了研究,在滿足多種應用需求的平臺中部署能耗管理策略,在達到性能要求的同時控制能量的消耗,其過程主要通過虛擬機的啟動、關閉和遷移來實現(xiàn),但這種方法仍然會造成較大程度的電能浪費。
但是,所消耗的許多電能并沒有被充分的利用,如果根據(jù)當前能源狀況對其進行合理的調用,相當一部分浪費是可以避免的,可目前的用戶和管理者并不知道如何才能達到優(yōu)化能效的目的。
因此,如何能夠使數(shù)據(jù)中心在及時處理任務的前提下避免電能的浪費、提高數(shù)據(jù)中心的能源效率,成為了本領域技術人員研究的重點。
技術實現(xiàn)要素:
為解決現(xiàn)有技術無法克服數(shù)據(jù)中心工作的電能浪費問題,本發(fā)明提供了一種數(shù)據(jù)中心能耗的管理方法及裝置,從任務需求和當前儲能的角度確定單個周期內程序的執(zhí)行個數(shù)和運行模式,避免電能浪費情況發(fā)生,使得當前電能儲能能夠被充分利用,提高電能的利用率。
為實現(xiàn)上述的技術目的,本發(fā)明公開了一種數(shù)據(jù)中心能耗的管理方法,所述數(shù)據(jù)中心用于接收以及處理用戶發(fā)出的任務需求,該方法包括如下步驟,
步驟1,獲取任務需求列表的程序總數(shù);
步驟2,根據(jù)待運行程序的數(shù)量和當前儲存的電量,確定任務需求中本周期內并發(fā)執(zhí)行的程序個數(shù);
步驟3,通過預估每個并發(fā)執(zhí)行的程序可能耗電量的方式確定各程序運行的模式;
步驟4,并發(fā)執(zhí)行的程序以確定后的模式運行、消耗電能。
本發(fā)明使得程序運行需求能夠更好地符合電能或能源的供給量,達到需求和供給的高度統(tǒng)一,使數(shù)據(jù)中心變成一種可變可控的“電力負載”,極大地提高了對電能或能源的利用率。而且,本發(fā)明通過對能耗的管理而有效地減少了任務處理的等待時間,提高了數(shù)據(jù)中心的服務質量。
進一步地,步驟2中,按照任務需求列表的順序依次獲取待運行的每個程序,其運行于中精度模式下的耗電量分別為m1、m2、m3…mk…mi,其中i為需要運行的程序總數(shù),依次累加m1+…+mk后得到的總和與當前儲存的電量E比較,如果m1+…+mk-1≤E≤m1+…+mk且k≤i,則本周期內并發(fā)執(zhí)行的程序個數(shù)為k-1;如果E≥m1+…+mi,則本周期內并發(fā)執(zhí)行的程序個數(shù)為i;
其中,每個程序具有至少兩種運行模式,中精度模式為程序運行時耗電量處于中等的模式;將程序運行于所有模式下的耗電量由大到小排序,如果模式個數(shù)為奇數(shù),則將排序后對應中間序號的模式確定為中精度模式,如果模式個數(shù)為偶數(shù),則將排序后對應中間序號的兩個值中序號較大值的模式為中精度模式。
在程序即將運行的周期內,本發(fā)明依據(jù)各程序的平均耗電量判斷當前儲存的電能能夠滿足多少數(shù)量的程序運行。這種方法科學、有效地判斷出了當前儲能的能力范圍,避免單個周期運行程序數(shù)量過少而導致的能源浪費問題,同時避免了單個周期運行程序數(shù)量過多而導致的任務延遲的問題。
進一步地,該方法還包括如下步驟,
步驟5,當本周期結束后,如果本周期內并發(fā)執(zhí)行的程序個數(shù)為k-1,則返回步驟2,繼續(xù)執(zhí)行未完成的任務;如果本周期內并發(fā)執(zhí)行的程序個數(shù)為i,則返回步驟1,獲取新的任務需求。
在節(jié)約能效的基礎上,通過對本周期任務完成數(shù)量的統(tǒng)計以及判斷,合理地安排程序的執(zhí)行,本發(fā)明能夠保證及時有效地完成任務。
進一步地,步驟3中,為本周期內并發(fā)執(zhí)行的每個程序分配權重系數(shù),利用權重系數(shù)計算每個并發(fā)執(zhí)行的程序單獨運行耗電量,去掉單獨運行耗電量中的能耗差部分,得到可能耗電量,確定耗電量與所述可能耗電量差值最小的模式作為程序運行的模式。
為節(jié)約更多的能源,本發(fā)明能夠按需確定各程序的運行模式,而保證電能被程序有效地利用,提高能源的應用效率。
進一步地,步驟3中,獲取權重系數(shù)的方法為優(yōu)先級加權法,按照任務需求列表中的程序順序由大到小地分配權重系數(shù),第j個程序權重系數(shù)的計算方式為:
其中,ηj為權重系數(shù),n為本周期內并發(fā)執(zhí)行的程序個數(shù),1≤j≤n。
通過使用優(yōu)先級加權法,本發(fā)明使數(shù)據(jù)中心的能源利用率達到91.9318%。優(yōu)先級加權法能夠使程序以更高的精度運行,在提高能耗效率的基礎上,提高數(shù)據(jù)中心的服務質量。
進一步地,步驟3中,獲取權重系數(shù)的方法為最高精度能耗加權法,按需求順序程序單獨運行時最高精度模式能耗值分別為w1、w2、w3…wn,則第j個程序權重系數(shù)的計算方式為:
其中,ηj為權重系數(shù),n為本周期內并發(fā)執(zhí)行的程序個數(shù),1≤j≤n;所述最高精度模式為程序運行時耗電量最大的模式。
在充分利用能源的前提下進行按照能耗量分配,讓每個程序的運行模式精度盡可能的達到最好,通過使用最高精度能耗加權法,本發(fā)明使數(shù)據(jù)中心的能源利用率達到91.9266%。在提高能耗效率的基礎上,通過最高精度能耗加權法,數(shù)據(jù)中心處理任務的速度快,而且提高了數(shù)據(jù)中心的服務質量。
進一步地,步驟3中,獲取權重系數(shù)的方法為運行時間加權法,按需求順序程序單獨運行時最高精度模式的運行時間分別為t1、t2、t3…tn,則第j個程序權重系數(shù)的計算方式為:
其中,ηj為權重系數(shù),n為本周期內并發(fā)執(zhí)行的程序個數(shù),1≤j≤n;所述最高精度模式為程序運行時耗電量最大時的模式。
在充分利用能源的前提下,使用時最短的程度獲得更大的權重,加快了并發(fā)程序的運行效率。通過使用運行時間加權法,本發(fā)明使數(shù)據(jù)中心的能源利用率達到91.9225%。在提高能耗效率的基礎上,運行時間加權法能夠最大程度地提高數(shù)據(jù)中心的服務質量。
進一步地,步驟2中,所述當前儲存的電量來源于可再生能源。
本發(fā)明對于電量來源于可再生能源的數(shù)據(jù)中心的節(jié)能效果更為明顯,本發(fā)明能夠盡可能的跟隨能源變化的趨勢,對現(xiàn)有的儲能進行合理地分配,充分地利用可再生能源,具有明顯提高數(shù)據(jù)中心應用間歇性可再生能源利用率的技術效果。
本發(fā)明的另一發(fā)明目的在于提供一種數(shù)據(jù)中心能耗的管理裝置,所述數(shù)據(jù)中心用于接收以及處理用戶發(fā)出的任務需求,該裝置包括任務獲取模塊、個數(shù)確定模塊、模式確定模塊及任務執(zhí)行模塊;
所述任務獲取模塊,用于獲取任務需求列表的程序總數(shù);
所述個數(shù)確定模塊,根據(jù)待運行程序的數(shù)量和當前儲存的電量,確定任務需求中本周期內并發(fā)執(zhí)行的程序個數(shù);
所述模式確定模塊,通過預估每個并發(fā)執(zhí)行的程序可能耗電量的方式確定各程序運行的模式;
所述任務執(zhí)行模塊,并發(fā)執(zhí)行的程序以確定后的模式運行、消耗電能。
通過本發(fā)明的數(shù)據(jù)中心能耗的管理裝置,本發(fā)明使得程序運行需求能夠更好地符合電能或能源的供給量,達到需求和供給的高度統(tǒng)一,使數(shù)據(jù)中心變成一種可變可控的“電力負載”,極大地提高了對電能或能源的利用率。而且,本發(fā)明通過對能耗的管理而有效地減少了任務處理的等待時間,提高了數(shù)據(jù)中心的服務質量。
進一步地,該裝置還包括循環(huán)判斷模塊,用于判斷單個周期是否完成當前任務需求。
在節(jié)約能效的基礎上,通過循環(huán)判斷模塊對本周期任務完成數(shù)量的統(tǒng)計以及判斷,合理地安排程序的執(zhí)行,本發(fā)明能夠保證及時有效地完成任務。
本發(fā)明的有益效果為:本發(fā)明在權衡數(shù)據(jù)中心性能和精度的前提下,提供了一種具有顯著節(jié)能效果的數(shù)據(jù)中心能耗的管理方法及裝置,對能效的優(yōu)化效果較好。
附圖說明
圖1為數(shù)據(jù)中心能耗的管理方法流程示意圖。
圖2為數(shù)據(jù)中心能耗的管理裝置組成示意圖。
圖3為實施例一中的數(shù)據(jù)中心能耗的管理方法流程圖。
具體實施方式
下面結合說明書附圖對本發(fā)明數(shù)據(jù)中心能耗的管理方法及裝置進行詳細的解釋和說明。
實施例一
如圖1、3所示,本發(fā)明提供了一種數(shù)據(jù)中心能耗的管理方法,數(shù)據(jù)中心用于接收以及處理用戶發(fā)出的任務需求,該方法包括如下步驟,
步驟1,獲取任務需求列表的程序總數(shù),各程序可分別表示為A1、A2、A3…Ai-1、Ai,A1、A2、A3…Ai-1、Ai按順序排在任務需求列表中。
步驟2,根據(jù)待運行程序的數(shù)量和當前儲存的電量,確定任務需求中本周期T內并發(fā)執(zhí)行的程序個數(shù),并發(fā)執(zhí)行的程序個數(shù)會隨著儲能的改變而改變;具體來說,按照任務需求列表的順序依次獲取待運行的每個程序,其運行于中精度模式下的耗電量分別為m1、m2、m3…mk…mi,其中i為需要運行的程序總數(shù),依次累加m1+…+mk后得到的總和與當前儲存的電量E比較,如果m1+…+mk-1≤E≤m1+…+mk且k≤i,則本周期內并發(fā)執(zhí)行的程序個數(shù)為k-1;如果E≥m1+…+mi,則本周期內并發(fā)執(zhí)行的程序個數(shù)為i。
需要說明的是,每個程序具有至少兩種運行模式,每個程序對應的可調用模式可分別表示為:B11、B12…B1j1,B21、B22…B2j2,B31、B32…B3j3,…,Bi1、Bi2…Biji,其中,ji表示第i個程序的模式個數(shù)。中精度模式為程序運行時耗電量處于中等的模式;將程序運行于所有模式下的耗電量由大到小排序,如果模式個數(shù)為奇數(shù),則將排序后對應中間序號的模式確定為中精度模式,即ji/2+1;如果模式個數(shù)為偶數(shù),則將排序后對應中間序號的兩個值中序號較大值的模式為中精度模式,即ji/2。
另外,本發(fā)明中涉及的當前儲存的電量來源于可再生能源。比如,將太陽能輻射作為可再生能源接入。正是因為太陽輻射值具有很強的非線性特征以致其難以精確預測,本發(fā)明使得程序耗電量能夠有效地跟隨太陽能輻射能源變化,能夠較好的適應這種非線性的能源供給。
本實施例中,對于能耗測算采用如下方法。通過JConsole工具監(jiān)聽運行程序的CPU占用率,取平均后得到CPU占用率,帶入能效模型計算功率P:
P(f3,ω)=Af3+Bωf3+Cω+D;
其中,f為CPU頻率,取值2.8GHz;A、B、C、D為系數(shù),在單機環(huán)境下對CPU占用率(t)和計算機功率p(t)進行測量。通過上述中提出的當f(t)固定時,(t)和p(t)的線性關系;隨后驗證當(t)固定時,p(t)和f(t)的三次方之間的線性關系;最后,推算公式中的A、B、C、D這4個系數(shù)的值,A=0.15,B=1.4,C=15.2,D=50.8。計算出功率后帶入能耗計算公式:W=P·t,其中t為運行時間。
步驟3,通過預估每個并發(fā)執(zhí)行的程序可能耗電量的方式確定各程序運行的模式;具體來說,為本周期內并發(fā)執(zhí)行的每個程序分配權重系數(shù),利用權重系數(shù)計算每個并發(fā)執(zhí)行的程序單獨運行耗電量,去掉單獨運行耗電量中的能耗差部分,得到可能耗電量,確定耗電量與可能耗電量差值最小的模式作為程序運行的模式。本發(fā)明中涉及的“可能耗電量”為根據(jù)各個程序在各個模式下的歷史耗電量而得到的經驗值。
并發(fā)程序的總耗電量往往要大于并發(fā)程序中每個程序單獨運行時的耗電量總和,因此需要找到并發(fā)程序中單個程序能耗疊加值與實際測量值的關系,對通過2個、3個、4個、5個程序并發(fā)進行隨機抽查,然后進行大量測試取平均得到并發(fā)個數(shù)與能耗差的擬合關系,本實施例中,能耗差y=669.9x2-3124.6x+5574.5,其中,y表示能耗差,x表示并發(fā)程序中的程序個數(shù)。
更為具體地,本發(fā)明提供了三種獲取權重系數(shù)的方法。
(1)獲取權重系數(shù)的方法為優(yōu)先級加權法,按照任務需求列表中的程序順序由大到小地分配權重系數(shù),在任務需求列表中,程序在列表中的順序表示了程序的優(yōu)先級,優(yōu)先級越高的程序所占的權重越高,則分配的電能越多。第j個程序權重系數(shù)的計算方式為:
其中,ηj為權重系數(shù),n為本周期內并發(fā)執(zhí)行的程序個數(shù),1≤j≤n。
(2)獲取權重系數(shù)的方法為最高精度能耗加權法,按需求順序程序單獨運行時最高精度模式能耗值分別為w1、w2、w3…wn,則第j個程序權重系數(shù)的計算方式為:
其中,ηj為權重系數(shù),n為本周期內并發(fā)執(zhí)行的程序個數(shù),1≤j≤n;最高精度模式為程序運行時耗電量最大的模式。
在不同的模式下,同一程序的能耗值是不同的,如下表。
(3)獲取權重系數(shù)的方法為運行時間加權法,按需求順序程序單獨運行時最高精度模式的運行時間分別為t1、t2、t3…tn,則第j個程序權重系數(shù)的計算方式為:
其中,ηj為權重系數(shù),n為本周期內并發(fā)執(zhí)行的程序個數(shù),1≤j≤n;最高精度模式為程序運行時耗電量最大時的模式。
在不同的模式下,同一程序的運行時間是不同的,如下表。
步驟4,并發(fā)執(zhí)行的程序以確定后的模式運行、消耗電能。
步驟5,當本周期結束后,如果本周期內并發(fā)執(zhí)行的程序個數(shù)為i,則返回步驟1,獲取新的任務需求。經過上述步驟的處理,并發(fā)程序運行時的實際耗電量與預估可能耗電量非常接近。
如圖2、3、1所示,本發(fā)明還公開了一種數(shù)據(jù)中心能耗的管理裝置,數(shù)據(jù)中心用于接收以及處理用戶發(fā)出的任務需求,該裝置包括任務獲取模塊、個數(shù)確定模塊、模式確定模塊、任務執(zhí)行模塊及循環(huán)判斷模塊;
任務獲取模塊,用于獲取任務需求列表的程序總數(shù)。
個數(shù)確定模塊,根據(jù)待運行程序的數(shù)量和當前儲存的電量,確定任務需求中本周期內并發(fā)執(zhí)行的程序個數(shù);個數(shù)確定模塊具體按照如下的方式工作:按照任務需求列表的順序依次獲取待運行的每個程序,其運行于中精度模式下的耗電量分別為m1、m2、m3…mk…mi,其中i為需要運行的程序總數(shù),依次累加m1+…+mk后得到的總和與當前儲存的電量E比較,如果m1+…+mk-1≤E≤m1+…+mk且k≤i,則本周期內并發(fā)執(zhí)行的程序個數(shù)為k-1;如果E≥m1+…+mi,則本周期內并發(fā)執(zhí)行的程序個數(shù)為i;其中,每個程序具有至少兩種運行模式,中精度模式為程序運行時耗電量處于中等的模式;將程序運行于所有模式下的耗電量由大到小排序,如果模式個數(shù)為奇數(shù),則將排序后對應中間序號的模式確定為中精度模式,如果模式個數(shù)為偶數(shù),則將排序后對應中間序號的兩個值中序號較大值的模式為中精度模式。
模式確定模塊,通過預估每個并發(fā)執(zhí)行的程序可能耗電量的方式確定各程序運行的模式;模式確定模塊為本周期內并發(fā)執(zhí)行的每個程序分配權重系數(shù),利用權重系數(shù)計算每個并發(fā)執(zhí)行的程序單獨運行耗電量,去掉單獨運行耗電量中的能耗差部分,得到可能耗電量,確定耗電量與所述可能耗電量差值最小的模式作為程序運行的模式。
任務執(zhí)行模塊,在確定本周期并發(fā)的程序數(shù)量以及各個程序運行模式之后,本發(fā)明并發(fā)執(zhí)行的程序以確定后的模式運行、消耗電能;在上述模塊對電量分配的情況下,并發(fā)程序運行時的實際耗電量與預估可能耗電量非常接近。
循環(huán)判斷模塊,用于判斷單個周期是否完成當前任務需求。具體地,循環(huán)判斷模塊進行如下的判斷工作:當本周期結束后,繼續(xù)執(zhí)行未完成的任務;如果本周期內并發(fā)執(zhí)行的程序個數(shù)為i,則返回步驟1,獲取新的任務需求。
實施例二
如圖1、2所示,本實施例與實施例一的方案基本相同,其區(qū)別在于:本實施例中數(shù)據(jù)中心能耗的管理方法步驟5中,當本周期結束后,如果本周期內并發(fā)執(zhí)行的程序個數(shù)為k-1,則返回步驟2,繼續(xù)執(zhí)行未完成的任務,本實施例給出的是本周起僅完成了用戶本次發(fā)出的任務需求的一部分,而實施例一的情況是本周期即完成了用戶本次發(fā)出的任務需求。
本實施例中數(shù)據(jù)中心能耗的管理裝置中,通過循環(huán)判斷模塊進行判斷:當本周期結束后,如果本周期內并發(fā)執(zhí)行的程序個數(shù)為k-1,則返回步驟2,繼續(xù)判斷和執(zhí)行用于本次發(fā)出的任務需求,如果下個周期完成了用戶本次發(fā)出的任務需求,則返回步驟1,重新接收任務需求;如果下個周期仍然沒有完成,則循環(huán)往復,紙質本次發(fā)出的任務需求完成為止。
在本發(fā)明中,除非另有明確的規(guī)定和限定,術語“安裝”、“相連”、“連接”、“固定”等術語應做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或成一體;可以是機械連接,也可以是電連接;可以是直接相連,也可以通過中間媒介間接相連,可以是兩個元件內部的連通或兩個元件的相互作用關系,除非另有明確的限定。對于本領域的普通技術人員而言,可以根據(jù)具體情況理解上述術語在本發(fā)明中的具體含義。
在本說明書的描述中,參考術語“一個實施例”、“一些實施例”、“本實施例”、“具體示例”、或“一些示例”等的描述意指結合該實施例或示例描述的具體特征、結構、材料或者特點包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術語的示意性表述不必須針對的是相同的實施例或示例。而且,描述的具體特征、結構、材料或者特點可以在任一個或多個實施例或示例中以合適的方式結合。此外,在不相互矛盾的情況下,本領域的技術人員可以將本說明書中描述的不同實施例或示例以及不同實施例或示例的特征進行結合和組合。
以上僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明實質內容上所作的任何修改、等同替換和簡單改進等,均應包含在本發(fā)明的保護范圍之內。