專利名稱:具有功耗意識(shí)的數(shù)據(jù)中心應(yīng)用服務(wù)調(diào)度方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域的應(yīng)用服務(wù)調(diào)度方法,具體涉及一種具有功耗意識(shí)的 數(shù)據(jù)中心應(yīng)用服務(wù)調(diào)度方法。
背景技術(shù):
隨著能源危機(jī)、全球氣候變暖等環(huán)境問題的加重,人們已經(jīng)認(rèn)識(shí)到處理能耗問題 的嚴(yán)重性和緊迫性。作為企業(yè)能耗大戶的數(shù)據(jù)中心的能耗管理問題已經(jīng)突現(xiàn)出來,數(shù)據(jù)中 心能耗需求的增長速度越來越明顯,數(shù)據(jù)中心開始凸顯能耗危機(jī)。例如,深圳某銀行系統(tǒng)的 信息中心機(jī)房(建筑面積4000平方米,在用面積2000平方米),一年的電費(fèi)達(dá)到了 800萬元 人民幣,約合0. 4萬元/平米/年(單位面積電費(fèi))。調(diào)查顯示,對于一般中低密度的企業(yè)數(shù) 據(jù)中心(EDC),每年的單位面積電費(fèi)大約在0. 4-1萬元人民幣之間,對于一般的互聯(lián)網(wǎng)數(shù)據(jù) 中心(IDC),單位面積電費(fèi)則在0.8-1. 5萬元之間。一個(gè)長期滿負(fù)荷運(yùn)行的、功率為IkW的 服務(wù)器,每年的耗電量為8760kWh,服務(wù)器在實(shí)際運(yùn)行負(fù)荷下的功耗,約為滿載的40%-60%, 但同時(shí)為服務(wù)器提供環(huán)境的機(jī)房設(shè)備所消耗的電能,則可能是服務(wù)器能耗的2-3倍。在一 個(gè)典型的數(shù)據(jù)中心中,空調(diào)系統(tǒng)消耗45%的電能,UPS供配電系統(tǒng)消耗對%的電能,照明系 統(tǒng)消耗1%的電能,IT得到的電能僅占30%。據(jù)廣東省電信規(guī)劃設(shè)計(jì)院提供的數(shù)據(jù),深圳地 區(qū)大型IDC機(jī)房的空調(diào)系統(tǒng)全年耗電平均占IDC總耗電的45% (2008年數(shù)據(jù))。事實(shí)上,數(shù)據(jù)中心電力不足和電費(fèi)高昂已經(jīng)成為全球化的問題。據(jù)專家預(yù)測,至 2012年年底,全球近一半的數(shù)據(jù)中心將無法擁有足夠的能源和冷卻裝置,用以支持高密度 的服務(wù)器和存儲(chǔ)設(shè)備。而到2011年,數(shù)據(jù)中心1/3以上的預(yù)算將是環(huán)境成本。我們對 深圳市各企業(yè)的訪問調(diào)查結(jié)果顯示6 的被訪企業(yè)認(rèn)為,其數(shù)據(jù)中心面臨著諸如散熱、供 電、成本等問題;23%的被訪企業(yè)認(rèn)為,其數(shù)據(jù)中心供電和散熱能力不足,限制了 IT基礎(chǔ)設(shè) 施擴(kuò)展,或無法部署高密度計(jì)算設(shè)備;有19%的被訪企業(yè)認(rèn)為,其數(shù)據(jù)中心的耗電量太大, 費(fèi)用無法負(fù)擔(dān);有17%的被訪企業(yè)認(rèn)為,機(jī)房溫度過高,影響了計(jì)算設(shè)備的穩(wěn)定運(yùn)行。數(shù)據(jù)中心的軟硬件提供商、企業(yè)和機(jī)構(gòu)本身、政府等都開始從不同層面致力于降 低數(shù)據(jù)中心的能耗問題。2007年2月,由AMD、HP、Sun和IBM發(fā)起成立了綠色網(wǎng)格(The Green Grid)組織,旨在協(xié)助企業(yè)降低數(shù)據(jù)中心不斷增長的功耗和散熱成本。綠色網(wǎng)格組 織希望通過制定和宣傳數(shù)據(jù)中心運(yùn)營、構(gòu)建與設(shè)計(jì)方面的最佳實(shí)踐,優(yōu)化數(shù)據(jù)中心和其它 IT設(shè)施的能源使用模式,并與其它組織協(xié)作,共同制定與平臺(tái)無關(guān)的能耗管理標(biāo)準(zhǔn)、測量 方法、工藝及新技術(shù),以不斷改進(jìn)全球數(shù)據(jù)中心的高能效表現(xiàn)。作為數(shù)據(jù)中心的用戶,企業(yè) 和機(jī)構(gòu)的管理層也已經(jīng)開始認(rèn)為,數(shù)據(jù)中心的節(jié)能降耗指標(biāo)是采購數(shù)據(jù)中心設(shè)備及軟件 時(shí)需要優(yōu)先考慮的因素之一。總之,“綠色數(shù)據(jù)中心”的概念已經(jīng)從“起點(diǎn)”升至了“沸點(diǎn)”,無論是從芯片級入手 提升服務(wù)器性能,還是改進(jìn)基礎(chǔ)軟件架構(gòu)效率,或者是改善機(jī)房基礎(chǔ)設(shè)施環(huán)境。金融、電信、 能源三大行業(yè)的被訪企業(yè)對“綠色數(shù)據(jù)中心”的認(rèn)知度和認(rèn)同度明顯高于總行業(yè)的平均值, 其中金融和電信均為陽%,高出平均值12個(gè)百分點(diǎn);能源為53%,高出平均值10個(gè)百分點(diǎn)。然而,不管是從技術(shù)方面還是市場方面,國內(nèi)外數(shù)據(jù)中心能耗管理還處于早期階段,但人們 對于節(jié)約能源和保護(hù)環(huán)境的迫切需求又要求數(shù)據(jù)中心在能耗管理方面有較大的改善和提
尚ο
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種具有功耗意識(shí)的數(shù)據(jù)中心應(yīng)用服務(wù)調(diào)度方法,以解決 數(shù)據(jù)中心能耗較大的問題。本發(fā)明的技術(shù)方案如下
一種具有功耗意識(shí)的數(shù)據(jù)中心應(yīng)用服務(wù)調(diào)度方法,包括
Sl 獲取當(dāng)前數(shù)據(jù)中心中所有節(jié)點(diǎn)服務(wù)器的狀態(tài),以及應(yīng)用服務(wù)在節(jié)點(diǎn)的分布和 資源占用情況;
S2:利用歷史日志數(shù)據(jù)和當(dāng)前應(yīng)用負(fù)載情況,采用多尺度時(shí)間序列回歸分析方法 對數(shù)據(jù)中心的每個(gè)應(yīng)用服務(wù)負(fù)載進(jìn)行預(yù)測;
S3:根據(jù)預(yù)測的負(fù)載和當(dāng)前應(yīng)用負(fù)載情況,進(jìn)行具有功耗意識(shí)的應(yīng)用服務(wù)調(diào)度優(yōu)
化計(jì)算;
S4 依據(jù)應(yīng)用服務(wù)調(diào)度優(yōu)化計(jì)算結(jié)果,對節(jié)點(diǎn)進(jìn)行管理,對應(yīng)用服務(wù)進(jìn)行調(diào)度。所述的具有功耗意識(shí)的數(shù)據(jù)中心應(yīng)用服務(wù)調(diào)度方法,其中,步驟Sl具體包括
5101獲取集群中所有節(jié)點(diǎn)的主要硬件信息;
5102獲取集群中所有節(jié)點(diǎn)的狀態(tài);
5103統(tǒng)計(jì)處于各狀態(tài)的節(jié)點(diǎn)總數(shù);
5104獲取各節(jié)點(diǎn)的資源利用情況。所述的具有功耗意識(shí)的數(shù)據(jù)中心應(yīng)用服務(wù)調(diào)度方法,其中,步驟S2具體包括
5201選擇歷史日志數(shù)據(jù)作為初始時(shí)間序列回歸分析輸入數(shù)據(jù),并設(shè)定最大匹配尺度 層數(shù);
5202逐尺度對每一個(gè)應(yīng)用服務(wù)的歷史序列數(shù)據(jù)進(jìn)行時(shí)間序列回歸分析;
S203:每尺度下,采用多種時(shí)間序列回歸分析方法進(jìn)行分析,選擇誤差最小的回歸模型 作為當(dāng)前尺度的預(yù)測模型;
S204:用當(dāng)前時(shí)間序列輸入數(shù)據(jù)減去當(dāng)前預(yù)測模型預(yù)測數(shù)據(jù)作為下一尺度的時(shí)間序列 回歸分析輸入數(shù)據(jù);
S205:檢查當(dāng)前匹配誤差是否小于設(shè)定的誤差上限,如果是,轉(zhuǎn)入步驟S206,如果否, 轉(zhuǎn)入步驟S207 ;
5206檢查當(dāng)前匹配尺度層數(shù)是否小于設(shè)定的最大匹配尺度層數(shù),如果是,將當(dāng)前匹配 尺度層數(shù)加1,然后轉(zhuǎn)入步驟204,如果否,轉(zhuǎn)入步驟S207 ;
5207檢查當(dāng)前所有的應(yīng)用是否預(yù)測完,如果是,轉(zhuǎn)入步驟S3,如果否,轉(zhuǎn)入步驟S201。所述的具有功耗意識(shí)的數(shù)據(jù)中心應(yīng)用服務(wù)調(diào)度方法,其中,步驟S203具體包括如 下步驟
A 每一尺度下,采用多種時(shí)間序列回歸模型進(jìn)行負(fù)載預(yù)測; B 計(jì)算各模型預(yù)測結(jié)果的絕對誤差;
C 選擇相對誤差最小的一個(gè)模型,作為當(dāng)前尺度的最終預(yù)測模型。
6
所述的具有功耗意識(shí)的數(shù)據(jù)中心應(yīng)用服務(wù)調(diào)度方法,其中,步驟S3具體包括 S301 根據(jù)預(yù)測模型逐應(yīng)用服務(wù)進(jìn)行一段時(shí)間內(nèi)的負(fù)載預(yù)測;
S302:計(jì)算I個(gè)預(yù)測時(shí)間段
內(nèi)的CPU占用率炳}仏,內(nèi)存占用率㈣)仏,存儲(chǔ)占用率㈨丨i,故障節(jié)點(diǎn)發(fā)生量柄記;
5303根據(jù)預(yù)測負(fù)載值估計(jì)第j個(gè)應(yīng)用服務(wù)所需的節(jié)點(diǎn)總數(shù);
5304找出節(jié)點(diǎn)的熱啟動(dòng)時(shí)間點(diǎn)集和休眠時(shí)間點(diǎn)集~。所述的具有功耗意識(shí)的數(shù)據(jù)中心應(yīng)用服務(wù)調(diào)度方法,其中,步驟S304具體包括 a 依據(jù)步驟S303計(jì)算第個(gè)應(yīng)用服務(wù)在時(shí)間段,所需的節(jié)點(diǎn)總數(shù)I / ,將計(jì)算結(jié)果與
該應(yīng)用服務(wù)在上一時(shí)間段 -1的計(jì)算節(jié)點(diǎn)總數(shù)服J進(jìn)行比較,若爾/大于Nd J ,則轉(zhuǎn) 入b,反之,轉(zhuǎn)入c ;
b 比較第j個(gè)應(yīng)用服務(wù)在時(shí)間段『所需的節(jié)點(diǎn)總數(shù)JW/與當(dāng)前工作的節(jié)點(diǎn)數(shù) 的大小,若Mf/大于AZwrt,則表示需要啟動(dòng)新的節(jié)點(diǎn),計(jì)算,時(shí)刻需要啟動(dòng)的新節(jié)點(diǎn)數(shù) Md ^ - Nwiirk的值,將當(dāng)前時(shí)間段i和當(dāng)前時(shí)間段,需要啟動(dòng)的新節(jié)點(diǎn)數(shù)作為一個(gè)二元元 素(!, Nd/ - Fwfe )加入集合Sj,將當(dāng)前工作結(jié)點(diǎn)總數(shù)Nmrk設(shè)置為廁/ ,轉(zhuǎn)入d ;
c 計(jì)算時(shí)間段 +1之后的連續(xù)Γ個(gè)時(shí)間段內(nèi)分別所需的節(jié)點(diǎn)數(shù),計(jì)算所得的Γ個(gè)結(jié) 果都加入集合[1,/Π ,并與進(jìn)行比較,若脇/小于集合中的所有
值,則表示確實(shí)可以進(jìn)行節(jié)點(diǎn)休眠,找出{廁i+1+/}的最小值ΜΛ,計(jì)算ι.時(shí)刻需要休眠的 節(jié)點(diǎn)數(shù)^rt-Mft ;將當(dāng)前時(shí)間段 和當(dāng)前時(shí)間段ι需要休眠的節(jié)點(diǎn)數(shù)作為一個(gè)二元元素 (Nmrk — Ndk )}加入集合~ ,轉(zhuǎn)入d ; d 判斷當(dāng)前時(shí)間段i是否小于M ,如果是,使i=i+l,然后轉(zhuǎn)入a ;否則,轉(zhuǎn)入e ; e 假定熱啟動(dòng)的預(yù)熱時(shí)間為p,遍歷熱啟動(dòng)時(shí)間點(diǎn)集S/ ,將第一維的值減-使得
記錄的是第j個(gè)應(yīng)用服務(wù)需要熱啟動(dòng)節(jié)點(diǎn)的實(shí)際啟動(dòng)時(shí)間。所述的具有功耗意識(shí)的數(shù)據(jù)中心應(yīng)用服務(wù)調(diào)度方法,其中,步驟S4具體包括
5401依據(jù)步驟S3的結(jié)果,每隔采樣時(shí)間逐應(yīng)用服務(wù)進(jìn)行節(jié)點(diǎn)調(diào)度;
5402依據(jù)步驟S3的結(jié)果,進(jìn)行熱啟動(dòng)節(jié)點(diǎn)、休眠節(jié)點(diǎn)調(diào)度、故障節(jié)點(diǎn)調(diào)度。所述的具有功耗意識(shí)的數(shù)據(jù)中心應(yīng)用服務(wù)調(diào)度方法,其中,步驟S402具體包括
I選擇一個(gè)應(yīng)用服務(wù),初始化當(dāng)前熱啟動(dòng)調(diào)度指數(shù)O為1,初始化休眠調(diào)度指數(shù)f/ 為1 ;
II獲取當(dāng)前時(shí)間為『,當(dāng)前熱啟動(dòng)調(diào)度指數(shù)々,休眠調(diào)度指數(shù)為Ii ;
III進(jìn)行熱啟動(dòng)節(jié)點(diǎn)調(diào)度,檢測Si中第~元素的第一分量是否小于或等于m若
否,則轉(zhuǎn)入步驟IV ;若是,則令i 等于S』·中第h元素的第二分量,并設(shè)定現(xiàn)有熱啟動(dòng)節(jié)點(diǎn)
7數(shù)位σ,將ρ - G個(gè)休眠節(jié)點(diǎn)喚醒成熱等待節(jié)點(diǎn),等待應(yīng)用部署使用,同時(shí)熱啟動(dòng)調(diào)度指數(shù) /,加丨,轉(zhuǎn)入步驟V;
IV:進(jìn)行休眠節(jié)點(diǎn)調(diào)度,檢測Lj中第^^·元素的第一分量是否小于或等于T,若是, 則令A(yù)等于Zy中第A^I元素的第二分量,檢測第個(gè)應(yīng)用服務(wù)是否可以釋放節(jié)點(diǎn),如果
是,在保證f個(gè)熱啟動(dòng)節(jié)點(diǎn)的前提下,將多余的節(jié)點(diǎn)進(jìn)行休眠,轉(zhuǎn)入步驟V ;
V進(jìn)行故障節(jié)點(diǎn)調(diào)度,檢測是否出現(xiàn)故障節(jié)點(diǎn),若有故障節(jié)點(diǎn),且數(shù)量為E,則將故障 節(jié)點(diǎn)的應(yīng)用遷移至熱啟動(dòng)節(jié)點(diǎn),將休眠節(jié)點(diǎn)喚醒成熱啟動(dòng)節(jié)點(diǎn),保證F個(gè)熱啟動(dòng)節(jié)點(diǎn),若沒 有故障節(jié)點(diǎn),則轉(zhuǎn)入步驟VI ;
VI判斷是否所有的應(yīng)用服務(wù)已經(jīng)處理完,如果否,轉(zhuǎn)入步驟I,如果是,進(jìn)行下一次調(diào)度。本發(fā)明的有益效果是本發(fā)明針對數(shù)據(jù)中心運(yùn)行中的高功耗問題,在應(yīng)用服務(wù)調(diào) 度和節(jié)點(diǎn)管理方法上進(jìn)行創(chuàng)新,通過對服務(wù)器負(fù)載進(jìn)行統(tǒng)一監(jiān)控和統(tǒng)一管理,來選擇服務(wù) 的執(zhí)行節(jié)點(diǎn)和調(diào)整節(jié)點(diǎn)的運(yùn)行狀態(tài),從而實(shí)現(xiàn)數(shù)據(jù)中心節(jié)點(diǎn)運(yùn)行的最優(yōu)化配置,達(dá)到每瓦 特性能的最大化,有效降低整個(gè)數(shù)據(jù)中心的能耗。
圖1為本發(fā)明的具有功耗意識(shí)的數(shù)據(jù)中心應(yīng)用服務(wù)調(diào)度方法的流程圖。圖2為圖1中步驟S2的流程圖。
具體實(shí)施例方式以下將結(jié)合附圖,對本發(fā)明的具體實(shí)施方式
和實(shí)施例加以詳細(xì)說明,所描述的具 體實(shí)施例僅用以解釋本發(fā)明,并非用于限定本發(fā)明的具體實(shí)施方式
。本發(fā)明提出的一種具有功耗意識(shí)的數(shù)據(jù)中心應(yīng)用服務(wù)調(diào)度方法,針對數(shù)據(jù)中心運(yùn) 行中的高功耗問題,在應(yīng)用服務(wù)調(diào)度和節(jié)點(diǎn)管理方法上進(jìn)行創(chuàng)新,通過對服務(wù)器負(fù)載進(jìn)行 統(tǒng)一監(jiān)控和統(tǒng)一管理,來選擇服務(wù)的執(zhí)行節(jié)點(diǎn)和調(diào)整節(jié)點(diǎn)的運(yùn)行狀態(tài),從而實(shí)現(xiàn)數(shù)據(jù)中心 節(jié)點(diǎn)運(yùn)行的最優(yōu)化配置,達(dá)到每瓦特性能的最大化,有效降低整個(gè)數(shù)據(jù)中心的能耗。
本發(fā)明針對數(shù)據(jù)中心中的各個(gè)應(yīng)用服務(wù),依據(jù)歷史負(fù)載數(shù)據(jù)進(jìn)行應(yīng)用服務(wù)負(fù)載預(yù)測, 然后進(jìn)行應(yīng)用服務(wù)的動(dòng)態(tài)調(diào)度,控制數(shù)據(jù)中心節(jié)點(diǎn)的運(yùn)行狀態(tài),有效的降低了整個(gè)數(shù)據(jù)中 心的能耗。請參閱圖1,本發(fā)明的具有功耗意識(shí)的數(shù)據(jù)中心應(yīng)用服務(wù)調(diào)度方法包括如下步 驟
Sl 獲取當(dāng)前數(shù)據(jù)中心中所有節(jié)點(diǎn)服務(wù)器的狀態(tài),以及應(yīng)用服務(wù)在節(jié)點(diǎn)的分布和資源 占用情況。S2:利用歷史日志數(shù)據(jù)和當(dāng)前應(yīng)用負(fù)載情況,采用多尺度時(shí)間序列回歸分析方法 對數(shù)據(jù)中心的每個(gè)應(yīng)用服務(wù)負(fù)載進(jìn)行預(yù)測。S3:根據(jù)預(yù)測的負(fù)載和當(dāng)前應(yīng)用負(fù)載情況,進(jìn)行具有功耗意識(shí)的應(yīng)用服務(wù)調(diào)度優(yōu) 化計(jì)算。
S4:依據(jù)應(yīng)用服務(wù)調(diào)度優(yōu)化計(jì)算結(jié)果,對節(jié)點(diǎn)進(jìn)行管理,對應(yīng)用服務(wù)進(jìn)行調(diào)度。其中,步驟Sl是利用監(jiān)控軟件獲取當(dāng)前數(shù)據(jù)中心中所有節(jié)點(diǎn)服務(wù)器的狀態(tài),以及 應(yīng)用服務(wù)在節(jié)點(diǎn)的分布和資源占用情況,具體包括如下步驟
SlOl 利用數(shù)據(jù)中心集群監(jiān)控軟件采集集群中所有節(jié)點(diǎn)的主要硬件信息。需要采集的硬件信息主要是CPU的顆數(shù)及型號(hào)、磁盤空間容量、物理內(nèi)存大小、網(wǎng) 絡(luò)帶寬等。S102 獲取集群中所有節(jié)點(diǎn)的狀態(tài)。每個(gè)節(jié)點(diǎn)有4種可能的狀態(tài)運(yùn)行、熱等待、休眠和故障。S103 統(tǒng)計(jì)處于各狀態(tài)的節(jié)點(diǎn)總數(shù)。節(jié)點(diǎn)總數(shù)包括運(yùn)行節(jié)點(diǎn)數(shù)iV,、熱等待節(jié)點(diǎn)數(shù)Ww、休眠節(jié)點(diǎn)數(shù)I5以及故障節(jié)點(diǎn)數(shù)
i、h OS104 獲取各節(jié)點(diǎn)的資源利用情況。主要包括CPU利用率、內(nèi)存利用率、存儲(chǔ)占用率、磁盤利用率等。請參閱圖2,步驟S2具體包括如下步驟
S201 選擇歷史日志數(shù)據(jù)作為初始時(shí)間序列回歸分析輸入數(shù)據(jù),并設(shè)定最大匹配尺度層數(shù)。選擇一個(gè)應(yīng)用的歷史日志數(shù)據(jù)作為初始時(shí)間序列回歸分析輸入數(shù)據(jù)。對于某一 個(gè)應(yīng)用服務(wù),根據(jù)一定的采樣頻率采集其歷史負(fù)載序列,得到序列值,作為初始時(shí) 間序列輸入回歸模型進(jìn)行負(fù)載預(yù)測;采樣時(shí)間St=30分鐘/次,N取四周的總采樣次數(shù) 2*24*7*4=1344 ;設(shè)定匹配尺度層數(shù)。一般設(shè)定三層或者四層,設(shè)定預(yù)測誤差精度為〗。S202:逐尺度對每一個(gè)應(yīng)用服務(wù)的歷史序列數(shù)據(jù)進(jìn)行時(shí)間序列回歸分析。將前一尺度的預(yù)測差量做為下一層數(shù)的預(yù)測輸入數(shù)據(jù)。S203:每尺度下,采用多種時(shí)間序列回歸分析方法進(jìn)行分析,選擇誤差最小的回歸 模型作為當(dāng)前尺度的預(yù)測模型。S204:用當(dāng)前時(shí)間序列輸入數(shù)據(jù)減去當(dāng)前預(yù)測模型預(yù)測數(shù)據(jù)作為下一尺度的時(shí)間 序列回歸分析輸入數(shù)據(jù)。更新輸入數(shù)據(jù)的公式是巧=Xi - W ,其中Σ = It..., 。S205:檢查當(dāng)前匹配誤差是否小于設(shè)定的誤差上限,如果是,轉(zhuǎn)入步驟S206,如果 否,轉(zhuǎn)入步驟S207。S206:檢查當(dāng)前匹配尺度層數(shù)是否小于設(shè)定的最大匹配尺度層數(shù),如果是,將當(dāng)前 匹配尺度層數(shù)加1,然后轉(zhuǎn)入步驟204,如果否,轉(zhuǎn)入步驟S207。S207 檢查當(dāng)前所有的應(yīng)用是否預(yù)測完,如果是,轉(zhuǎn)入步驟S3,如果否,轉(zhuǎn)入步驟 S201。其中,步驟S203具體包括如下步驟
A 每一尺度下,采用多種時(shí)間序列回歸模型進(jìn)行負(fù)載預(yù)測,一般取自回歸』力>) 模型、移動(dòng)平均M我的模型、自回歸滑動(dòng)平均模型3Λ·(Ρ, )和自回歸移動(dòng)平均模型ARlMAip,q)四種。每種模型預(yù)測值為,其中J = 1,2,3,4,表示第幾種模型;
B 計(jì)算各模型預(yù)測結(jié)果的絕對誤差,第;種模型的誤差計(jì)算公式為
^ = ZK-^f ;
“1
C:選擇相對誤差最小的一個(gè)模型,作為當(dāng)前尺度的最終預(yù)測模型,找到Ej , J = 1.2,3,4中的最小值,假定為k。請參閱圖3,步驟S3具體包括如下步驟
S301 根據(jù)預(yù)測模型逐應(yīng)用進(jìn)行一段時(shí)間內(nèi)的負(fù)載預(yù)測。預(yù)測的時(shí)間間隔可以設(shè)為一周。S302 計(jì)算ι個(gè)預(yù)測時(shí)間段內(nèi)的CPU占用率㈣}=,內(nèi)存占用率{ 丄 ,存儲(chǔ)占用
率hfi ,故障節(jié)點(diǎn)發(fā)生量柄) ;其中,每個(gè)預(yù)測時(shí)間段應(yīng)與S201中的采樣時(shí)間長度M — 致,為 Af = 7*24*60/Μ。S303 根據(jù)預(yù)測負(fù)載值估計(jì)第j個(gè)應(yīng)用服務(wù)所需的節(jié)點(diǎn)總數(shù)。所需節(jié)點(diǎn)總數(shù)的計(jì)算公式為_ =+約,其中.
C0 M0 M0je[IM]
C0M01R0分別表示每個(gè)節(jié)點(diǎn)可以提供的CPU、內(nèi)存和存儲(chǔ)量大小。S304 找出節(jié)點(diǎn)的熱啟動(dòng)時(shí)間點(diǎn)集&和休眠時(shí)間點(diǎn)集、·。設(shè)當(dāng)前工作節(jié)點(diǎn)數(shù)為Nwerk,節(jié)點(diǎn)啟動(dòng)的時(shí)間門限為K,即在連續(xù)的,個(gè)時(shí)間段內(nèi) 不同時(shí)出現(xiàn)節(jié)點(diǎn)的熱啟動(dòng)和休眠操作。和i/分別初始化為空集,則
a 依據(jù)步驟S303計(jì)算第個(gè)應(yīng)用服務(wù)在時(shí)間段,所需的節(jié)點(diǎn)總數(shù)Mi/ ,將計(jì)算結(jié)果與
該應(yīng)用在上一時(shí)間段;-1的計(jì)算節(jié)點(diǎn)總數(shù)Nd J進(jìn)行比較,若Nd/大于Nd J ,表示需要 增加節(jié)點(diǎn)則轉(zhuǎn)入b,反之,表示有節(jié)點(diǎn)需要休眠,轉(zhuǎn)入C。b:比較第j個(gè)應(yīng)用服務(wù)在時(shí)間段i所需的節(jié)點(diǎn)總數(shù)Mi/與當(dāng)前工作的節(jié)點(diǎn)數(shù) Mmrk的大小,若AW/大于A^wa,則表示需要啟動(dòng)新的節(jié)點(diǎn),計(jì)算,時(shí)刻需要啟動(dòng)的新節(jié)點(diǎn) 數(shù)i /- Nmrk的值。將當(dāng)前時(shí)間段,和當(dāng)前時(shí)間段i需要啟動(dòng)的新節(jié)點(diǎn)數(shù)作為一個(gè)二元 元素(ι,廁/ - Nwsrk )加入集合Sj,將當(dāng)前工作結(jié)點(diǎn)總數(shù)Nwgrk設(shè)置為爾/ ,轉(zhuǎn)入d ;
c 計(jì)算時(shí)間段之后的連續(xù)Γ個(gè)時(shí)間段內(nèi)分別所需的節(jié)點(diǎn)數(shù),計(jì)算所得的Γ個(gè)結(jié) 果都加入集合(iWi+1+/},,fc e,并與Mf/進(jìn)行比較,若Mf/小于集合中的所有值,
則表示確實(shí)可以進(jìn)行節(jié)點(diǎn)休眠,找出[1,Γ]的最小值μλ,計(jì)算-時(shí)刻需 要休眠的節(jié)點(diǎn)數(shù)W1^-Mft ;將當(dāng)前時(shí)間段,和當(dāng)前時(shí)間段1需要休眠的節(jié)點(diǎn)數(shù)作為一個(gè)二
10元元素仏{N-k — Ndk )}加入集合~,轉(zhuǎn)入d ;
d 判斷當(dāng)前時(shí)間段 是否小于〗f如果是,使i=i+l,然后轉(zhuǎn)入a ;否則,轉(zhuǎn)入e。e 假定熱啟動(dòng)的預(yù)熱時(shí)間為ρ,遍歷熱啟動(dòng)時(shí)間點(diǎn)集S/ ,將第一維的值減f,使
得 記錄的是第j個(gè)應(yīng)用需要熱啟動(dòng)節(jié)點(diǎn)的實(shí)際啟動(dòng)時(shí)間。步驟S4具體包括如下步驟
S401 依據(jù)步驟S3的結(jié)果,每隔采樣時(shí)間St逐應(yīng)用服務(wù)進(jìn)行節(jié)點(diǎn)調(diào)度。S402 依據(jù)步驟S3的結(jié)果,進(jìn)行熱啟動(dòng)節(jié)點(diǎn)、休眠節(jié)點(diǎn)調(diào)度、故障節(jié)點(diǎn)調(diào)度。步驟S402具體包括以下步驟
I 選擇一個(gè)應(yīng)用服務(wù),初始化當(dāng)前熱啟動(dòng)調(diào)度指數(shù)々為1,初始化休眠調(diào)度指數(shù)Ii為1。II 獲取當(dāng)前時(shí)間力τ當(dāng)前熱啟動(dòng)調(diào)度指數(shù)々,休眠調(diào)度指數(shù)為Kj。III 進(jìn)行熱啟動(dòng)節(jié)點(diǎn)調(diào)度,檢測Sj中第元素的第一分量是否小于或等于了, 若否,則轉(zhuǎn)入步驟IV ;若是,則令J7等于S/中第O元素的第二分量,并設(shè)定現(xiàn)有熱啟動(dòng)節(jié) 點(diǎn)數(shù)位σ,將個(gè)休眠節(jié)點(diǎn)喚醒成熱等待節(jié)點(diǎn),等待應(yīng)用部署使用,同時(shí)熱啟動(dòng)調(diào)度指 數(shù)O加1,轉(zhuǎn)入步驟V。IV 進(jìn)行休眠節(jié)點(diǎn)調(diào)度,檢測h中第元素的第一分量是否小于或等于τ,若
是,則令丑等于、·中第f/元素的第二分量,檢測第個(gè)應(yīng)用是否可以釋放節(jié)點(diǎn),如果可
以,在保證i 個(gè)熱啟動(dòng)節(jié)點(diǎn)的前提下,將多余的節(jié)點(diǎn)進(jìn)行休眠;轉(zhuǎn)入步驟V。V 進(jìn)行故障節(jié)點(diǎn)調(diào)度,檢測是否出現(xiàn)故障節(jié)點(diǎn),若有故障節(jié)點(diǎn),且數(shù)量力S則將 故障節(jié)點(diǎn)的應(yīng)用遷移至熱啟動(dòng)節(jié)點(diǎn),將休眠節(jié)點(diǎn)喚醒成熱啟動(dòng)節(jié)點(diǎn),保證F個(gè)熱啟動(dòng)節(jié)點(diǎn)。 若沒有故障節(jié)點(diǎn),則轉(zhuǎn)入步驟VI。VI 判斷是否所有的應(yīng)用服務(wù)已經(jīng)處理完,如果否,轉(zhuǎn)入步驟I,如果是,等待采樣 時(shí)間M進(jìn)行下一次調(diào)度。本發(fā)明的具有功耗意識(shí)的數(shù)據(jù)中心應(yīng)用服務(wù)調(diào)度方法與現(xiàn)有的數(shù)據(jù)中心系統(tǒng)管 理軟件系統(tǒng)結(jié)構(gòu)兼容,易于實(shí)現(xiàn),并在數(shù)據(jù)中心中實(shí)際應(yīng)用。能夠根據(jù)預(yù)測的負(fù)載與實(shí)際負(fù) 載的誤差自動(dòng)進(jìn)行優(yōu)化調(diào)節(jié),實(shí)現(xiàn)數(shù)據(jù)中心的低能耗管理。應(yīng)當(dāng)理解的是,本發(fā)明的應(yīng)用不限于上述的舉例,對本領(lǐng)域普通技術(shù)人員來說,可 以根據(jù)上述說明加以改進(jìn)或變換,所有這些改進(jìn)和變換都應(yīng)屬于本發(fā)明所附權(quán)利要求的保 護(hù)范圍。
1權(quán)利要求
1.一種具有功耗意識(shí)的數(shù)據(jù)中心應(yīng)用服務(wù)調(diào)度方法,其特征在于,包括Sl 獲取當(dāng)前數(shù)據(jù)中心中所有節(jié)點(diǎn)服務(wù)器的狀態(tài),以及應(yīng)用服務(wù)在節(jié)點(diǎn)的分布和 資源占用情況;S2:利用歷史日志數(shù)據(jù)和當(dāng)前應(yīng)用負(fù)載情況,采用多尺度時(shí)間序列回歸分析方法 對數(shù)據(jù)中心的每個(gè)應(yīng)用服務(wù)負(fù)載進(jìn)行預(yù)測;S3:根據(jù)預(yù)測的負(fù)載和當(dāng)前應(yīng)用負(fù)載情況,進(jìn)行具有功耗意識(shí)的應(yīng)用服務(wù)調(diào)度優(yōu)化計(jì)算;S4 依據(jù)應(yīng)用服務(wù)調(diào)度優(yōu)化計(jì)算結(jié)果,對節(jié)點(diǎn)進(jìn)行管理,對應(yīng)用服務(wù)進(jìn)行調(diào)度。
2.根據(jù)權(quán)利要求1所述的具有功耗意識(shí)的數(shù)據(jù)中心應(yīng)用服務(wù)調(diào)度方法,其特征在于, 步驟Sl具體包括5101獲取集群中所有節(jié)點(diǎn)的主要硬件信息;5102獲取集群中所有節(jié)點(diǎn)的狀態(tài);5103統(tǒng)計(jì)處于各狀態(tài)的節(jié)點(diǎn)總數(shù);5104獲取各節(jié)點(diǎn)的資源利用情況。
3.根據(jù)權(quán)利要求1所述的具有功耗意識(shí)的數(shù)據(jù)中心應(yīng)用服務(wù)調(diào)度方法,其特征在于, 步驟S2具體包括5201選擇歷史日志數(shù)據(jù)作為初始時(shí)間序列回歸分析輸入數(shù)據(jù),并設(shè)定最大匹配尺度 層數(shù);5202逐尺度對每一個(gè)應(yīng)用服務(wù)的歷史序列數(shù)據(jù)進(jìn)行時(shí)間序列回歸分析;S203:每尺度下,采用多種時(shí)間序列回歸分析方法進(jìn)行分析,選擇誤差最小的回歸模型 作為當(dāng)前尺度的預(yù)測模型;S204:用當(dāng)前時(shí)間序列輸入數(shù)據(jù)減去當(dāng)前預(yù)測模型預(yù)測數(shù)據(jù)作為下一尺度的時(shí)間序列 回歸分析輸入數(shù)據(jù);S205:檢查當(dāng)前匹配誤差是否小于設(shè)定的誤差上限,如果是,轉(zhuǎn)入步驟S206,如果否, 轉(zhuǎn)入步驟S207 ;5206檢查當(dāng)前匹配尺度層數(shù)是否小于設(shè)定的最大匹配尺度層數(shù),如果是,將當(dāng)前匹配 尺度層數(shù)加1,然后轉(zhuǎn)入步驟204,如果否,轉(zhuǎn)入步驟S207 ;5207檢查當(dāng)前所有的應(yīng)用是否預(yù)測完,如果是,轉(zhuǎn)入步驟S3,如果否,轉(zhuǎn)入步驟S201。
4.根據(jù)權(quán)利要求3所述的具有功耗意識(shí)的數(shù)據(jù)中心應(yīng)用服務(wù)調(diào)度方法,其特征在于, 步驟S203具體包括如下步驟A 每一尺度下,采用多種時(shí)間序列回歸模型進(jìn)行負(fù)載預(yù)測;B 計(jì)算各模型預(yù)測結(jié)果的絕對誤差;C 選擇相對誤差最小的一個(gè)模型,作為當(dāng)前尺度的最終預(yù)測模型。
5.根據(jù)權(quán)利要求1所述的具有功耗意識(shí)的數(shù)據(jù)中心應(yīng)用服務(wù)調(diào)度方法,其特征在于, 步驟S3具體包括S301 根據(jù)預(yù)測模型逐應(yīng)用服務(wù)進(jìn)行一段時(shí)間內(nèi)的負(fù)載預(yù)測;S302:計(jì)算 f個(gè)預(yù)測時(shí)間段內(nèi)的CPU占用率炳汜,內(nèi)存占用率㈣}仏,存儲(chǔ)占用率⑷工故障節(jié)點(diǎn)發(fā)生量⑷思;5303根據(jù)預(yù)測負(fù)載值估計(jì)第j個(gè)應(yīng)用服務(wù)所需的節(jié)點(diǎn)總數(shù);5304找出節(jié)點(diǎn)的熱啟動(dòng)時(shí)間點(diǎn)集S,·和休眠時(shí)間點(diǎn)集~。
6.根據(jù)權(quán)利要求5所述的具有功耗意識(shí)的數(shù)據(jù)中心應(yīng)用服務(wù)調(diào)度方法,其特征在于, 步驟S304具體包括a 依據(jù)步驟S303計(jì)算第,個(gè)應(yīng)用服務(wù)在時(shí)間段^所需的節(jié)點(diǎn)總數(shù)Mi/ ,將計(jì)算結(jié)果與該應(yīng)用服務(wù)在上一時(shí)間段Σ — 1的計(jì)算節(jié)點(diǎn)總數(shù)爾J進(jìn)行比較,若Nd/大于Nd J,則轉(zhuǎn) 入b,反之,轉(zhuǎn)入c ;b:比較第j個(gè)應(yīng)用服務(wù)在時(shí)間段,所需的節(jié)點(diǎn)總數(shù)Mf/與當(dāng)前工作的節(jié)點(diǎn)數(shù)Fwrt 的大小,若AH/大于Miwrt.,則表示需要啟動(dòng)新的節(jié)點(diǎn),計(jì)算時(shí)刻需要啟動(dòng)的新節(jié)點(diǎn)數(shù) Nd/ - Nwsrk的值,將當(dāng)前時(shí)間段,和當(dāng)前時(shí)間段,需要啟動(dòng)的新節(jié)點(diǎn)數(shù)作為一個(gè)二元元 素(ι, Md/ - .Vwrfc )加入集合Sj,將當(dāng)前工作結(jié)點(diǎn)總數(shù)Nw。rk設(shè)置為Ndf ,轉(zhuǎn)入d ;c 計(jì)算時(shí)間段ζ+1之后的連續(xù)Γ個(gè)時(shí)間段內(nèi)分別所需的節(jié)點(diǎn)數(shù),計(jì)算所得的Γ個(gè)結(jié) 果都加入集合e,并與廁/進(jìn)行比較,若廁/小于集合中的所有值,則表示確實(shí)可以進(jìn)行節(jié)點(diǎn)休眠,找出{Mi的最小值Mft,計(jì)算,時(shí)刻需要休眠的節(jié)點(diǎn)數(shù)Afiwfc-AtA ;將當(dāng)前時(shí)間段,和當(dāng)前時(shí)間段,需要休眠的節(jié)點(diǎn)數(shù)作為一個(gè)二元元素 {!,(N- Ndk ))加入集合& ,轉(zhuǎn)入d ;d 判斷當(dāng)前時(shí)間段i是否小于Af ,如果是,使i=i+l,然后轉(zhuǎn)入a ;否則,轉(zhuǎn)入e ; e 假定熱啟動(dòng)的預(yù)熱時(shí)間為ρ ,遍歷熱啟動(dòng)時(shí)間點(diǎn)集S/,將第一維的值減『使得、記錄的是第j個(gè)應(yīng)用服務(wù)需要熱啟動(dòng)節(jié)點(diǎn)的實(shí)際啟動(dòng)時(shí)間。
7.根據(jù)權(quán)利要求1所述的具有功耗意識(shí)的數(shù)據(jù)中心應(yīng)用服務(wù)調(diào)度方法,其特征在于, 步驟S4具體包括5401依據(jù)步驟S3的結(jié)果,每隔采樣時(shí)間逐應(yīng)用服務(wù)進(jìn)行節(jié)點(diǎn)調(diào)度;5402依據(jù)步驟S3的結(jié)果,進(jìn)行熱啟動(dòng)節(jié)點(diǎn)、休眠節(jié)點(diǎn)調(diào)度、故障節(jié)點(diǎn)調(diào)度。
8.根據(jù)權(quán)利要求1所述的具有功耗意識(shí)的數(shù)據(jù)中心應(yīng)用服務(wù)調(diào)度方法,其特征在于, 步驟S402具體包括I選擇一個(gè)應(yīng)用服務(wù),初始化當(dāng)前熱啟動(dòng)調(diào)度指數(shù)々為1,初始化休眠調(diào)度指數(shù) 為1 ;II獲取當(dāng)前時(shí)間為7,當(dāng)前熱啟動(dòng)調(diào)度指數(shù)O ,休眠調(diào)度指數(shù)為f/ ;III進(jìn)行熱啟動(dòng)節(jié)點(diǎn)調(diào)度,檢測S/中第々元素的第一分量是否小于或等于m若 否,則轉(zhuǎn)入步驟IV ;若是,則令5·等于L中第O元素的第二分量,并設(shè)定現(xiàn)有熱啟動(dòng)節(jié)點(diǎn) 數(shù)位σ,將F - σ個(gè)休眠節(jié)點(diǎn)喚醒成熱等待節(jié)點(diǎn),等待應(yīng)用部署使用,同時(shí)熱啟動(dòng)調(diào)度指數(shù)“加1,轉(zhuǎn)入步驟V;IV:進(jìn)行休眠節(jié)點(diǎn)調(diào)度,檢測 中第Ti元素的第一分量是否小于或等于,若是, 則令ι等于Iy中第I)元素的第二分量,檢測第j個(gè)應(yīng)用服務(wù)是否可以釋放節(jié)點(diǎn),如果是,在保證兄個(gè)熱啟動(dòng)節(jié)點(diǎn)的前提下,將多余的節(jié)點(diǎn)進(jìn)行休眠,轉(zhuǎn)入步驟V ;V進(jìn)彳」:故障節(jié)點(diǎn)調(diào)度,檢測是否出現(xiàn)故障節(jié)點(diǎn),若有故障節(jié)點(diǎn),且數(shù)量為E,則將故障 節(jié)點(diǎn)的應(yīng)用遷移至熱啟動(dòng)節(jié)點(diǎn),將休眠節(jié)點(diǎn)喚醒成熱啟動(dòng)節(jié)點(diǎn),保證F個(gè)熱啟動(dòng)節(jié)點(diǎn),若沒 有故障節(jié)點(diǎn),則轉(zhuǎn)入步驟VI ;VI判斷是否所有的應(yīng)用服務(wù)已經(jīng)處理完,如果否,轉(zhuǎn)入步驟I,如果是,進(jìn)行下一次調(diào)度。
全文摘要
本發(fā)明公開了一種具有功耗意識(shí)的數(shù)據(jù)中心應(yīng)用服務(wù)調(diào)度方法,包括S1獲取當(dāng)前數(shù)據(jù)中心中所有節(jié)點(diǎn)服務(wù)器的狀態(tài),以及應(yīng)用服務(wù)在節(jié)點(diǎn)的分布和資源占用情況;S2利用歷史日志數(shù)據(jù)和當(dāng)前應(yīng)用負(fù)載情況,采用多尺度時(shí)間序列回歸分析方法對數(shù)據(jù)中心的每個(gè)應(yīng)用服務(wù)負(fù)載進(jìn)行預(yù)測;S3根據(jù)預(yù)測的負(fù)載和當(dāng)前應(yīng)用負(fù)載情況,進(jìn)行具有功耗意識(shí)的應(yīng)用服務(wù)調(diào)度優(yōu)化計(jì)算;S4依據(jù)應(yīng)用服務(wù)調(diào)度優(yōu)化計(jì)算結(jié)果,對節(jié)點(diǎn)進(jìn)行管理,對應(yīng)用服務(wù)進(jìn)行調(diào)度。本發(fā)明通過對服務(wù)器負(fù)載進(jìn)行統(tǒng)一監(jiān)控和統(tǒng)一管理,來選擇服務(wù)的執(zhí)行節(jié)點(diǎn)和調(diào)整節(jié)點(diǎn)的運(yùn)行狀態(tài),從而有效降低整個(gè)數(shù)據(jù)中心的能耗。
文檔編號(hào)G06F9/46GK102063327SQ201010589580
公開日2011年5月18日 申請日期2010年12月15日 優(yōu)先權(quán)日2010年12月15日
發(fā)明者馮圣中, 文高進(jìn), 楊念, 樊建平, 貝振東, 趙娟娟 申請人:中國科學(xué)院深圳先進(jìn)技術(shù)研究院