本發(fā)明屬于系統(tǒng)能耗評估領(lǐng)域,具體涉及一種評估可再生能源混合供電的數(shù)據(jù)中心的能耗的仿真方法。
背景技術(shù):
近年來,面對能源危機(jī)、金融危機(jī)以及人類對氣候危機(jī)越來越清晰地認(rèn)識,全球范圍內(nèi)新能源出現(xiàn)超常規(guī)發(fā)展的態(tài)勢。而隨著信息化快速發(fā)展,全球數(shù)據(jù)中心建設(shè)步伐明顯加快,總量已超過300萬個,耗電量占全球總耗電量的比例為1.1%~1.5%,其高能耗問題已引起各國政府的高度重視。我國數(shù)據(jù)中心發(fā)展同樣迅猛,總量已超過40萬個,年耗電量超過全社會用電量的1.5%。可見,日益龐大的數(shù)據(jù)中心導(dǎo)致了相當(dāng)大的能耗開銷,不斷增加的供電成本,已經(jīng)成為了企業(yè)運(yùn)營的巨大負(fù)擔(dān)。
因此,各國對新能源的投資大幅度增長,新能源產(chǎn)能也急劇擴(kuò)大??稍偕茉窗l(fā)電是新能源發(fā)展的核心,風(fēng)電和太陽能發(fā)電是在技術(shù)和成本上最具競爭力的新能源形式。盡管短期內(nèi)新能源還無法替代傳統(tǒng)化石能源,但世界范圍內(nèi)資源的供需緊張以及全球為應(yīng)對氣候變化而對溫室氣體排放所做的限制為新能源發(fā)展鋪就了寬廣的道路。新能源技術(shù)的發(fā)展和市場的擴(kuò)大超乎想象,許多可再生能源資源將逐漸變成商業(yè)項目??梢灶A(yù)見,不同能源形式的逐漸替代將改變世界經(jīng)濟(jì)和政治版圖以及人類的生存和生活方式。
然而,由于可再生能源在生產(chǎn)生活中具有間歇性、不穩(wěn)定性和動態(tài)變化性,如風(fēng)能受風(fēng)速的影響、太陽能受溫度和光照的影響,這就給我們利用可再生能源供電帶來很大挑戰(zhàn),針對可再生能源以上特性,可根據(jù)現(xiàn)有的特征進(jìn)行建模,提供一種切實可行的可再生能源供電模擬方法,為數(shù)據(jù)中心執(zhí)行任務(wù)造成的能耗開銷降低成本。
此外,構(gòu)建實際的云平臺進(jìn)行實驗研究因為其龐大的規(guī)模和復(fù)雜性使得成本高、效率低;公開的測試平臺不易申請,規(guī)模較小,環(huán)境難以控制,結(jié)果難以重現(xiàn);因此對于實驗研究而言需要可重復(fù)的、可控制的、成本低廉的仿真環(huán)境,本發(fā)明提出了一種可再生能源混合供電的數(shù)據(jù)中心任務(wù)能耗評估仿真方法,用于在可再生能源供電的情況下,評估數(shù)據(jù)中執(zhí)行任務(wù)時的實時耗能。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)的缺點(diǎn),本發(fā)明提出一種支持可再生能源混合供電的數(shù)據(jù)中心任務(wù)能耗評估仿真方法,以達(dá)到實現(xiàn)用戶自行設(shè)定現(xiàn)實世界各種不同環(huán)境參數(shù),以此達(dá)到模擬可再生能源產(chǎn)生電能的目的,同時根據(jù)任務(wù)產(chǎn)生來進(jìn)行數(shù)據(jù)中心的能耗評估仿真。
一種評估可再生能源混合供電的數(shù)據(jù)中心任務(wù)能耗的仿真方法,包括以下步驟:
步驟1、根據(jù)用戶實際需求確定數(shù)據(jù)中心的可再生能源混合供電類型,包括太陽能發(fā)電和風(fēng)能發(fā)電。
步驟2、根據(jù)用戶實際需求輸入相應(yīng)可再生能源供電的相應(yīng)參數(shù),通過該供電模型實施可再生能源供電仿真方案,產(chǎn)生電能,以供數(shù)據(jù)中心用電使用。
步驟3、根據(jù)實際需求對數(shù)據(jù)中心基本設(shè)置進(jìn)行初始化,包括創(chuàng)建數(shù)據(jù)中心、數(shù)據(jù)中心broker、主機(jī)及虛擬機(jī)。
步驟3.1、設(shè)置數(shù)據(jù)中心對象的名稱、數(shù)據(jù)中心主機(jī)最大請求數(shù)。
步驟3.2、設(shè)置數(shù)據(jù)中心主機(jī)最大功率、空閑功率、主機(jī)內(nèi)存大小、帶寬大小,pe(cpu數(shù)量)。
步驟3.3、創(chuàng)建仿真數(shù)據(jù)中心broker,通過broker可要求數(shù)據(jù)中心提供服務(wù)并進(jìn)行相應(yīng)的任務(wù)調(diào)度。
步驟3.4、創(chuàng)建仿真虛擬機(jī),設(shè)置虛擬機(jī)參數(shù),包括虛擬機(jī)id,最大功率,mips,帶寬,內(nèi)存,虛擬機(jī)調(diào)度策略,并提交給任務(wù)代理。
步驟4、將虛擬機(jī)分配到主機(jī)。
步驟5、創(chuàng)建仿真任務(wù),設(shè)置任務(wù)id,任務(wù)數(shù)量,還有任務(wù)大小,請求執(zhí)行完成該任務(wù)的pe數(shù)量。
步驟6、調(diào)度任務(wù),設(shè)計mycloudlet類,對分配到數(shù)據(jù)中心的任務(wù),采用相應(yīng)調(diào)度算法將任務(wù)調(diào)度到虛擬機(jī)上執(zhí)行,若當(dāng)前虛擬機(jī)正在執(zhí)行任務(wù),則調(diào)度到未來執(zhí)行隊列中進(jìn)行等待。
步驟7、計算虛擬機(jī)執(zhí)行任務(wù)的模擬功率,即通過cpu利用率與最大功率的乘積即可獲得。
步驟7.1計算cpu利用率,在一臺虛擬機(jī)上,cpu利用率uocpuij采用正態(tài)分布,任務(wù)ti~n(maxr/2,maxr/6),maxr表示虛擬機(jī)最大cpu數(shù)量,均值取值為maxr/2,標(biāo)準(zhǔn)方差定義為maxr/6。cpu利用率計算即是以ti為變量,均值取值為maxr/2,標(biāo)準(zhǔn)方差定義為maxr/6的正態(tài)分布函數(shù)。
步驟7.2計算虛擬機(jī)執(zhí)行功率,由步驟7.1獲得虛擬機(jī)sj執(zhí)行任務(wù)ti(1≤i≤n)時的cpu利用率,sj的執(zhí)行功率計算公式:pij=pidle+(1-pidle/pmax)·pmax·uocpuij,其中pidle表示虛擬機(jī)空閑功率,pmax表示為虛擬機(jī)最大功率。
步驟8、計算單個虛擬機(jī)模擬能耗,將當(dāng)前執(zhí)行任務(wù)的某臺虛擬機(jī)的執(zhí)行功率與執(zhí)行時間相乘,將該虛擬機(jī)的空閑功率與虛擬機(jī)的空閑時間進(jìn)行相乘,然后將兩個功率進(jìn)行相加即可得到虛擬機(jī)執(zhí)行任務(wù)能耗。
步驟8.1計算虛擬機(jī)的執(zhí)行能耗,虛擬機(jī)的執(zhí)行能耗為步驟7中虛擬機(jī)的執(zhí)行功率乘以任務(wù)在該虛擬機(jī)上執(zhí)行的時間。
步驟8.2計算虛擬機(jī)空閑能耗,將虛擬機(jī)執(zhí)行的當(dāng)前時間減去虛擬機(jī)執(zhí)行任務(wù)的總時間然后與虛擬機(jī)的空閑功率進(jìn)行相乘。
步驟8.3計算虛擬機(jī)執(zhí)行任務(wù)總能耗,步驟8.1中的虛擬機(jī)執(zhí)行能耗加上步驟8.2中虛擬機(jī)空閑能耗。
步驟9、計算數(shù)據(jù)中心整體模擬能耗,即將任務(wù)開始執(zhí)行到當(dāng)前時間為止數(shù)據(jù)中心創(chuàng)建的所有虛擬機(jī)的能耗進(jìn)行累加,即可得到數(shù)據(jù)中心的累加能耗;同時將當(dāng)前時間所有虛擬機(jī)的功率進(jìn)行累加,即可得到數(shù)據(jù)中心在當(dāng)前時間的實時功率。
本發(fā)明提出了一種支持可再生能源混合供電的數(shù)據(jù)中心任務(wù)能耗評估仿真方法,在人們沒有現(xiàn)有的設(shè)備能夠?qū)崟r的對可再生能源產(chǎn)電進(jìn)行測量,同時無法獲得其他地理位置的實時可再生能源供電曲線時,僅需要滿足一定精度要求的情況下,以一種快捷方便的方式能夠獲得相應(yīng)地理位置太陽能或風(fēng)能產(chǎn)電數(shù)據(jù),同時根據(jù)數(shù)據(jù)中心執(zhí)行任務(wù)的實際情況,通過相應(yīng)調(diào)度算法對任務(wù)進(jìn)行調(diào)度,可以獲得數(shù)據(jù)中心的累加能耗和實時功率。
附圖說明
圖1為本發(fā)明一種實施例的太陽能供電模型流程圖。
圖2為本發(fā)明數(shù)據(jù)中心創(chuàng)建任務(wù)執(zhí)行能耗仿真方法流程圖。
圖3為本發(fā)明數(shù)據(jù)中心核心類關(guān)系圖。
具體實施方式
下面結(jié)合附圖對本發(fā)明一種實施例做進(jìn)一步說明。
本發(fā)明實施例以某地區(qū)太陽能和風(fēng)能數(shù)據(jù)作為研究對象,在該地區(qū)建立數(shù)據(jù)中心,并進(jìn)行數(shù)據(jù)中心執(zhí)行任務(wù)能耗仿真。
一種支持可再生能源混合供電的數(shù)據(jù)中心任務(wù)能耗評估仿真方法,太陽能供電方式的方法流程圖如圖1所示,數(shù)據(jù)中心創(chuàng)建任務(wù)執(zhí)行能耗仿真方法流程圖如圖2所示,數(shù)據(jù)中心核心類關(guān)系圖如圖3所示,包括以下步驟:
步驟1、根據(jù)用戶實際需求確定數(shù)據(jù)中心的可再生能源混合供電類型,包括太陽能發(fā)電和風(fēng)能發(fā)電;
本發(fā)明實施例中,根據(jù)用戶需求選擇可再生能源供電模型。在本實施例中選擇太陽能對數(shù)據(jù)中心進(jìn)行供電。
步驟2、根據(jù)用戶實際需求輸入相應(yīng)可再生能源供電的相應(yīng)參數(shù),通過該供電模型實施可再生能源供電仿真方案,產(chǎn)生電能,以供數(shù)據(jù)中心用電使用;
本發(fā)明實施例中,用戶太陽照射與地面夾角為h=90度,太陽光線與被照射平面(太陽能板)法線之間的夾角為θ=30度。晴朗天氣垂直到達(dá)海平面高度的太陽輻射強(qiáng)度i0選取1367w/m2。
計算參數(shù)m=(sin90°)-1=1。
本發(fā)明實施例中,定義p1為h=90°時的大氣透明度。p1可按照天氣的好壞進(jìn)行選取,晴天可選取p1=0.532和0.65之間。并且p1還和海拔高度有關(guān),海拔越高p1越大。在本實例中p1選取0.6。
光照強(qiáng)度i公式計算,i=i0p1mcosθ=710.3w/m2。
光伏電池板傾角變位導(dǎo)致的光照利用率為x=0.8,逆變器效率為y=0.75。修正系數(shù)k是個變量,所以單一知道輻照度很難判斷組件的發(fā)電量,其中影響修正系數(shù)的因素包括:傾角變位、逆變器效率下降,在正常情況下有一個相對穩(wěn)定的值。修正系數(shù)k=xy=0.6。
光伏方陣面積s=100m2,組件轉(zhuǎn)換效率u=70%。
太陽能產(chǎn)電公式計算,p=isuk=316.89mj=29832.6w=29.8326kw。
步驟3、根據(jù)實際需求對數(shù)據(jù)中心基本設(shè)置進(jìn)行初始化,包括創(chuàng)建數(shù)據(jù)中心、數(shù)據(jù)中心broker、主機(jī)及虛擬機(jī);
步驟3.1、設(shè)置數(shù)據(jù)中心對象的名稱、數(shù)據(jù)中心主機(jī)最大請求數(shù);
本發(fā)明實施例中,設(shè)計軟件仿真核心類datacenter類,其主要負(fù)責(zé)管理事件隊列和控制仿真事件的順序執(zhí)行。設(shè)置數(shù)據(jù)中心對象名稱dc。數(shù)據(jù)中心數(shù)據(jù)中心主機(jī)最大請求數(shù)5。
步驟3.2、設(shè)置數(shù)據(jù)中心主機(jī)最大功率、空閑功率、主機(jī)內(nèi)存大小、帶寬大小,pe(cpu數(shù)量);
本發(fā)明實施例中,設(shè)計host類,模擬如計算機(jī)、存儲服務(wù)器等物理資源。它封裝了一些重要信息,如內(nèi)存/存儲器的容量、處理器內(nèi)核列表及類型(多核機(jī)器)、虛擬機(jī)之間共享處理能力的分配策略、為虛擬機(jī)分配內(nèi)存和帶寬的策略等。設(shè)置數(shù)據(jù)中心主機(jī)最大功率為250w、空閑功率150w。主機(jī)內(nèi)存大小10000m,帶寬為300000,pe=100。
步驟3.3、創(chuàng)建仿真數(shù)據(jù)中心broker,通過broker可要求數(shù)據(jù)中心提供服務(wù)并進(jìn)行相應(yīng)的任務(wù)調(diào)度;
本發(fā)明實施例中,設(shè)計datacenterbroker類,其主要代替用戶向數(shù)據(jù)中心提出服務(wù)請求,主要包括提交用戶創(chuàng)建的虛擬機(jī)列表以及用戶創(chuàng)建的任務(wù)列表,同時還可以將用戶創(chuàng)建的指定任務(wù)與指定虛擬機(jī)進(jìn)行綁定,使該指定虛擬機(jī)能夠定向的執(zhí)行任務(wù)
步驟3.4、創(chuàng)建仿真虛擬機(jī),設(shè)置虛擬機(jī)參數(shù),包括虛擬機(jī)id,最大功率,mips,帶寬,內(nèi)存,虛擬機(jī)調(diào)度策略,并提交給任務(wù)代理;
本發(fā)明實施例中,設(shè)計vm(虛擬機(jī))類,它在主機(jī)內(nèi)運(yùn)行,提供了對虛擬機(jī)生命周期的管理,如將主機(jī)分配給虛擬機(jī)、虛擬機(jī)創(chuàng)建、虛擬機(jī)銷毀以及虛擬機(jī)的遷移。設(shè)置虛擬機(jī)id為1,pmax=100w,pidle=60w,mips=50,帶寬=2500,內(nèi)存=128。
步驟4、將虛擬機(jī)分配到主機(jī);
本發(fā)明實施例中,設(shè)計vmallocationpolicy類,虛擬機(jī)分配到主機(jī)時,首先記錄當(dāng)前數(shù)據(jù)中心所有主機(jī)可用的處理器核心數(shù),從中選出可用處理器核心數(shù)最多的第一臺主機(jī),并嘗試在其上創(chuàng)建虛擬機(jī);如果失敗了并且還有主機(jī)沒有嘗試過,就排除當(dāng)前選擇的這臺主機(jī)重新選擇一臺處理器核心數(shù)次多的主機(jī),根據(jù)虛擬機(jī)是否創(chuàng)建成功,返回true或者false。
步驟5、創(chuàng)建仿真任務(wù),設(shè)置任務(wù)id,任務(wù)數(shù)量,還有任務(wù)大小,請求執(zhí)行完成該任務(wù)的pe數(shù)量;
本發(fā)明實施例中,設(shè)定任務(wù)類:cloudlet類,即隨機(jī)創(chuàng)建1個任務(wù),任務(wù)id為0,此外還有執(zhí)行完成該任務(wù)的pe數(shù)量為2。
步驟6、調(diào)度任務(wù),設(shè)計mycloudlet類,對分配到數(shù)據(jù)中心的任務(wù),采用相應(yīng)調(diào)度算法將任務(wù)調(diào)度到虛擬機(jī)上執(zhí)行,若當(dāng)前虛擬機(jī)正在執(zhí)行任務(wù),則調(diào)度到未來執(zhí)行隊列中進(jìn)行等待;
本發(fā)明實施例中,采用貪心調(diào)度算法對任務(wù)進(jìn)行調(diào)度,將任務(wù)優(yōu)先調(diào)度到mips最大的虛擬機(jī)上,若當(dāng)前虛擬機(jī)正在執(zhí)行任務(wù),則按照虛擬機(jī)中mips由大到小的順序進(jìn)行調(diào)度。
步驟7、計算虛擬機(jī)執(zhí)行任務(wù)的模擬功率,即通過cpu利用率與最大功率的乘積即可獲得。
步驟7.1計算cpu利用率,在一臺虛擬機(jī)上,cpu利用率uocpuij采用正態(tài)分布,任務(wù)ti~n(maxr/2,maxr/6),maxr表示虛擬機(jī)最大cpu數(shù)量,均值取值為maxr/2,標(biāo)準(zhǔn)方差定義為maxr/6。cpu利用率計算即是以ti為變量,均值取值為maxr/2,標(biāo)準(zhǔn)方差定義為maxr/6的正態(tài)分布函數(shù)。
本發(fā)明實施例中,虛擬機(jī)i的最大處理器數(shù)為2,任務(wù)量為1,則計算的均值為1,標(biāo)準(zhǔn)方差為1/3,則由正態(tài)分布計算cpu利用率為0.5。
步驟7.2計算虛擬機(jī)執(zhí)行功率,由任務(wù)7.1獲得虛擬機(jī)sj執(zhí)行任務(wù)ti(1≤i≤n)時的cpu利用率,將sj的執(zhí)行功率計算公式描述為:pij=pidle+(1-pidle/pmax)·pmax·uocpuij,其中pidle表示虛擬機(jī)空閑功率,pmax表示為虛擬機(jī)最大功率。
本發(fā)明實施例中,步驟3中設(shè)計的虛擬機(jī)空閑功率為60w,最大功率為100w,所以虛擬機(jī)執(zhí)行功率為:pij=60+(1-60/100)*100*0.5=80w。
步驟8、計算單個虛擬機(jī)模擬能耗,將當(dāng)前執(zhí)行任務(wù)的某臺虛擬機(jī)的執(zhí)行功率與執(zhí)行時間相乘,將該虛擬機(jī)的空閑功率與虛擬機(jī)的空閑時間進(jìn)行相乘,然后將兩個功率進(jìn)行相加即可得到虛擬機(jī)執(zhí)行任務(wù)能耗。
步驟8.1計算虛擬機(jī)的執(zhí)行能耗,虛擬機(jī)的執(zhí)行能耗=步驟7中虛擬機(jī)的執(zhí)行功率×任務(wù)在該虛擬機(jī)上執(zhí)行的時間。
本發(fā)明實施例中,虛擬機(jī)共運(yùn)行了一個小時,其中執(zhí)行任務(wù)i運(yùn)行了30分鐘,剩余30分鐘空閑,由步驟7中獲得執(zhí)行功率為80w,則該虛擬機(jī)能耗=80/1000*0.5=0.04kwh。
步驟8.2計算虛擬機(jī)空閑能耗,將虛擬機(jī)執(zhí)行的當(dāng)前時間減去虛擬機(jī)執(zhí)行任務(wù)的總時間然后與虛擬機(jī)的空閑功率進(jìn)行相乘。
本發(fā)明實施例中,虛擬機(jī)空閑能耗=(1-0.5)*60/1000=0.03kwh。
步驟8.3計算虛擬機(jī)執(zhí)行任務(wù)總能耗,步驟8.1中的虛擬機(jī)執(zhí)行能耗加上步驟8.2中虛擬機(jī)空閑能耗。
本發(fā)明實施例中,虛擬機(jī)執(zhí)行任務(wù)總能耗=0.04+0.03=0.07kwh。
步驟9、計算數(shù)據(jù)中心整體模擬能耗,即將任務(wù)開始執(zhí)行到當(dāng)前時間為止數(shù)據(jù)中心創(chuàng)建的所有虛擬機(jī)的能耗進(jìn)行累加,即可得到數(shù)據(jù)中心的累加能耗;同時將當(dāng)前時間所有虛擬機(jī)的功率進(jìn)行累加,即可得到數(shù)據(jù)中心在當(dāng)前時間的實時功率;
本發(fā)明實施例中,將數(shù)據(jù)中心每個虛擬機(jī)開始執(zhí)行任務(wù)時間到執(zhí)行任務(wù)完畢的時間的差值與其執(zhí)行功率進(jìn)行相乘,將數(shù)據(jù)中心銷毀虛擬機(jī)前每個虛擬機(jī)的空閑時間與空閑功率進(jìn)行相乘,然后將兩者相加,則獲得數(shù)據(jù)中心整體累加能耗。同時,每個虛擬機(jī)在當(dāng)前時間的功率進(jìn)行累加,即可得到數(shù)據(jù)中心在當(dāng)前時間的實時功率。
這里,數(shù)據(jù)中心只設(shè)計一個虛擬機(jī),運(yùn)行了一個小時,所以累加能耗為0.07kwh,實時功率的計算需要按照每個虛擬機(jī)在當(dāng)前時間的功率進(jìn)行累加,這里由于只有一個虛擬機(jī),所以,其實時功率前半個小時穩(wěn)定為80w,后半個小時穩(wěn)定為60w。