專利名稱:一種基于對(duì)象存儲(chǔ)系統(tǒng)的功耗控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)系統(tǒng)的功耗控制方法,尤指基于對(duì)象存儲(chǔ)系統(tǒng)的功耗控制方法。
背景技術(shù):
并行存儲(chǔ)系統(tǒng)是大規(guī)模并行計(jì)算機(jī)系統(tǒng)中的重要組成部分,對(duì)象存儲(chǔ)系統(tǒng)是一種 并行存儲(chǔ)結(jié)構(gòu)。如圖l所示,對(duì)象存儲(chǔ)系統(tǒng)由一個(gè)元數(shù)據(jù)服務(wù)器、多個(gè)對(duì)象存儲(chǔ)服務(wù)器和多 個(gè)計(jì)算結(jié)點(diǎn)通過網(wǎng)絡(luò)互連構(gòu)成。元數(shù)據(jù)服務(wù)器和多個(gè)對(duì)象存儲(chǔ)服務(wù)器為計(jì)算結(jié)點(diǎn)提供數(shù)據(jù) 讀寫、數(shù)據(jù)存儲(chǔ)等文件訪問服務(wù)。元數(shù)據(jù)服務(wù)器為計(jì)算結(jié)點(diǎn)提供元數(shù)據(jù)服務(wù),是對(duì)象存儲(chǔ)系 統(tǒng)所特有的。元數(shù)據(jù)描述每個(gè)文件的所有者、創(chuàng)建時(shí)間、修改時(shí)間、文件大小以及文件在對(duì) 象存儲(chǔ)系統(tǒng)上的分布等信息。對(duì)象存儲(chǔ)服務(wù)器負(fù)責(zé)保存文件的具體數(shù)據(jù),并在元數(shù)據(jù)服務(wù) 器的管理下向計(jì)算結(jié)點(diǎn)提供文件訪問服務(wù)。計(jì)算結(jié)點(diǎn)的文件訪問請(qǐng)求首先提交給元數(shù)據(jù) 服務(wù)器,獲取文件分布信息,然后根據(jù)分布信息向相關(guān)的對(duì)象存儲(chǔ)服務(wù)器提交訪問請(qǐng)求,完 成數(shù)據(jù)讀寫過程。對(duì)象存儲(chǔ)系統(tǒng)充分利用高帶寬網(wǎng)絡(luò)以及存儲(chǔ)訪問的并發(fā)性,為并行應(yīng)用 提供較高的數(shù)據(jù)訪問帶寬,已廣泛應(yīng)用于世界超級(jí)計(jì)算機(jī)排名前十的計(jì)算機(jī)系統(tǒng)中。功耗 是大規(guī)模并行計(jì)算機(jī)系統(tǒng)設(shè)計(jì)中的重要問題,而存儲(chǔ)系統(tǒng)的功耗占相當(dāng)比例。隨著對(duì)象存 儲(chǔ)系統(tǒng)的廣泛應(yīng)用,基于對(duì)象存儲(chǔ)系統(tǒng)進(jìn)行功耗控制有助于降低整個(gè)并行計(jì)算機(jī)系統(tǒng)的功 耗。 目前針對(duì)存儲(chǔ)系統(tǒng)的功耗控制方法有(1)將暫時(shí)不使用的存儲(chǔ)設(shè)備(例如磁盤) 置成休眠狀態(tài),降低存儲(chǔ)設(shè)備的功耗;(2)調(diào)整磁盤設(shè)備的轉(zhuǎn)速,降低存儲(chǔ)設(shè)備的功耗;(3) 優(yōu)化數(shù)據(jù)訪問,提高數(shù)據(jù)訪問命中率,減少磁盤尋道及旋轉(zhuǎn)次數(shù);(4)針對(duì)數(shù)據(jù)中心如備份 服務(wù)器,在沒有數(shù)據(jù)備份任務(wù)情況下將備份服務(wù)器的功耗級(jí)別設(shè)成最低;等等。針對(duì)設(shè)備的 功耗控制方法(如前兩種方法)以及減少磁盤尋道次數(shù)的數(shù)據(jù)優(yōu)化方法,不能夠獲取存儲(chǔ) 系統(tǒng)中服務(wù)請(qǐng)求的變化情況,不能根據(jù)應(yīng)用特點(diǎn)來進(jìn)行有效的功耗控制。針對(duì)數(shù)據(jù)中心備 份服務(wù)器的功耗控制方法(如第四種方法)考慮了服務(wù)器的忙閑狀態(tài),實(shí)施了簡單的功耗 優(yōu)化,但是該方法不能執(zhí)行對(duì)象存儲(chǔ)系統(tǒng)中復(fù)雜的服務(wù)請(qǐng)求情況下的功耗控制。目前還沒 有針對(duì)對(duì)象存儲(chǔ)系統(tǒng)的功耗控制方法的公開技術(shù)資料。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提出一種基于對(duì)象存儲(chǔ)系統(tǒng)的功耗控制方法,解決目 前存儲(chǔ)系統(tǒng)功耗控制方法不能根據(jù)應(yīng)用特點(diǎn)來進(jìn)行有效的功耗控制或缺乏對(duì)復(fù)雜服務(wù)請(qǐng) 求情況處理的問題。 技術(shù)方案為為對(duì)象存儲(chǔ)服務(wù)器定義多個(gè)功耗級(jí)別,根據(jù)不同的條件調(diào)整對(duì)象存 儲(chǔ)服務(wù)器的功耗級(jí)別,具體包括(l)固定時(shí)間間隔統(tǒng)計(jì)服務(wù)器利用率,根據(jù)每個(gè)對(duì)象存儲(chǔ) 服務(wù)器的實(shí)際利用率調(diào)整它的功耗級(jí)別;(2)固定時(shí)間間隔查看每個(gè)對(duì)象存儲(chǔ)服務(wù)器的服 務(wù)隊(duì)列長度,根據(jù)隊(duì)列長度及當(dāng)前功耗級(jí)別調(diào)整相應(yīng)服務(wù)器的功耗級(jí)別;(3)由元數(shù)據(jù)服務(wù)器判斷是否出現(xiàn)特定服務(wù)請(qǐng)求來實(shí)施功耗控制。特定服務(wù)請(qǐng)求是指一類需要對(duì)象存儲(chǔ)服 務(wù)器以最高功耗級(jí)別響應(yīng)的服務(wù)請(qǐng)求,例如大規(guī)模作業(yè)加載、檢查點(diǎn)操作,等等。根據(jù)特定 服務(wù)請(qǐng)求類別將涉及到的對(duì)象存儲(chǔ)服務(wù)器功耗級(jí)別調(diào)至最高。功耗級(jí)別調(diào)整通過調(diào)節(jié)處理 器的電壓或頻率來實(shí)現(xiàn)。
具體技術(shù)方案為 對(duì)于包含1個(gè)元數(shù)據(jù)服務(wù)器和N個(gè)對(duì)象存儲(chǔ)服務(wù)器的對(duì)象存儲(chǔ)系統(tǒng),N為正整數(shù), 每個(gè)對(duì)象存儲(chǔ)服務(wù)器支持m級(jí)功耗級(jí)別1, 2, . . . , m,每級(jí)的功耗分別為P" P2, . . . , Pm,滿足 P工< P2 < . . . < Pm,每級(jí)功耗對(duì)應(yīng)的服務(wù)器基準(zhǔn)利用率分別為仏,U2, . . . , Um,滿足^ < U2
<...<Um。服務(wù)器基準(zhǔn)利用率是指和多級(jí)功耗PpPy...,Pm對(duì)應(yīng)的服務(wù)器利用率值,功
耗級(jí)別越高,服務(wù)器基準(zhǔn)利用率也越高,由功耗控制方法根據(jù)功耗級(jí)別預(yù)先設(shè)置。
第一步、初始化對(duì)象存儲(chǔ)系統(tǒng)的功耗控制相關(guān)參數(shù),包括以下步驟
1. 1初始化功耗控制間隔時(shí)間tintCTval,取值范圍為5 10分鐘;
1. 2初始化功耗級(jí)別數(shù)m,取值范圍為3 5 ; 1.3初始化m級(jí)服務(wù)器基準(zhǔn)利用率Up U2, ... , Um?;鶞?zhǔn)利用率的設(shè)置方法為 設(shè)置仏值,取值范圍為10% 20%,設(shè)置^值,取值范圍為70% 80%。設(shè)置Uk值,
7W —1 1. 4初始化服務(wù)請(qǐng)求隊(duì)列長度閾值Lth,取值范圍為10 20 ;
1. 5初始化功耗控制時(shí)間t, t = 0。
第二步、啟動(dòng)功耗控制,包括以下步驟 2. 1啟動(dòng)元數(shù)據(jù)服務(wù)器和N個(gè)對(duì)象存儲(chǔ)服務(wù)器,并將所有對(duì)象存儲(chǔ)服務(wù)器的功耗 級(jí)別設(shè)置成最高級(jí)別m ; 2. 2啟動(dòng)功耗實(shí)時(shí)監(jiān)控器,監(jiān)控N個(gè)對(duì)象存儲(chǔ)服務(wù)器的實(shí)際功耗值;
2. 3啟動(dòng)時(shí)間t開始計(jì)數(shù); 2. 4 —邊等待計(jì)算結(jié)點(diǎn)的服務(wù)請(qǐng)求,一邊開始功耗控制。 第三步、當(dāng)接收到關(guān)閉功耗控制請(qǐng)求時(shí),執(zhí)行第十二步,否則執(zhí)行第四步。 第四步、每隔時(shí)間tint CTval啟動(dòng)一次功耗控制。判斷t = tint CTval是否成立,若成
立,則執(zhí)行第五步;若不成立,執(zhí)行第十步; 第五步、統(tǒng)計(jì)在過去tint CTval時(shí)間內(nèi)N個(gè)對(duì)象存儲(chǔ)服務(wù)器的實(shí)際利用率i^,A,..., Uw,對(duì)象存儲(chǔ)服務(wù)器的實(shí)際利用率通過調(diào)用操作系統(tǒng)接口獲取。如果第i個(gè)(1《i《N)對(duì) 象存儲(chǔ)服務(wù)器正在響應(yīng)特定服務(wù)請(qǐng)求,則A = Um ; 第六步、根據(jù)對(duì)象存儲(chǔ)服務(wù)器的實(shí)際利用率和基準(zhǔn)利用率來調(diào)節(jié)功耗級(jí)別。如果 第i個(gè)對(duì)象存儲(chǔ)服務(wù)器滿足Ui <仏,1《i《N,則將第i個(gè)對(duì)象存儲(chǔ)服務(wù)器的功耗級(jí)別設(shè) 置為1 ;如果Ui > Um,則將第i個(gè)對(duì)象存儲(chǔ)服務(wù)器的功耗級(jí)別設(shè)置為m ;對(duì)于滿足Uk《Ui <Uk+1(k= l,2,...,m_l)的利用率Ui,則將第i個(gè)對(duì)象存儲(chǔ)服務(wù)器的功耗級(jí)別設(shè)置為k。
第七步、查看N個(gè)對(duì)象存儲(chǔ)服務(wù)器的服務(wù)請(qǐng)求隊(duì)列,記錄其隊(duì)列長度1" 12,..., 1N。 第八步、如果li > U且第i個(gè)對(duì)象存儲(chǔ)服務(wù)器的功耗級(jí)別低于m,執(zhí)行第九步;否 則執(zhí)行第十步;
第九步、將該對(duì)象存儲(chǔ)服務(wù)器的功耗級(jí)別調(diào)高一級(jí),以滿足未來的大量服務(wù)請(qǐng)求 操作的快速響應(yīng)。 第十步、元數(shù)據(jù)服務(wù)器對(duì)計(jì)算結(jié)點(diǎn)發(fā)送來的服務(wù)請(qǐng)求進(jìn)行監(jiān)控,判斷是否為特定 服務(wù)請(qǐng)求,如是,執(zhí)行第十一步;否則執(zhí)行第三步。 第十一步、向?qū)ο蟠鎯?chǔ)服務(wù)器發(fā)送消息,將對(duì)應(yīng)對(duì)象存儲(chǔ)服務(wù)器的功耗級(jí)別設(shè)置 到最高m,同時(shí)標(biāo)記該對(duì)象存儲(chǔ)服務(wù)器正在響應(yīng)特定服務(wù)請(qǐng)求,執(zhí)行第三步。
第十二步、關(guān)閉對(duì)象存儲(chǔ)系統(tǒng)的功耗控制服務(wù)。
與現(xiàn)有技術(shù)相比,采用本發(fā)明可達(dá)到以下技術(shù)效果 1.可根據(jù)對(duì)象存儲(chǔ)服務(wù)器的實(shí)際利用率和服務(wù)隊(duì)列情況對(duì)每個(gè)對(duì)象存儲(chǔ)服務(wù)器 調(diào)整功耗級(jí)別,滿足對(duì)象存儲(chǔ)服務(wù)器對(duì)功耗控制的需求; 2.利用元數(shù)據(jù)服務(wù)器對(duì)服務(wù)請(qǐng)求的處理,對(duì)特定服務(wù)請(qǐng)求,例如大規(guī)模作業(yè)加載 和檢查點(diǎn)操作,提前向?qū)ο蟠鎯?chǔ)服務(wù)器發(fā)送消息,調(diào)節(jié)功耗級(jí)別,減少功耗級(jí)別調(diào)節(jié)的滯 后,提高功耗控制效率。
圖1是對(duì)象存儲(chǔ)系統(tǒng)的結(jié)構(gòu)圖。
圖2是本發(fā)明的總流程圖。
具體實(shí)施方案 圖2是本發(fā)明的總流程圖。 步驟1)、初始化對(duì)象存儲(chǔ)系統(tǒng)的功耗控制相關(guān)參數(shù); 步驟2)、啟動(dòng)功耗控制; 步驟3)、當(dāng)接收到關(guān)閉功耗控制請(qǐng)求時(shí),則執(zhí)行步驟12),否則執(zhí)行步驟4); 步驟4)、判斷t = tint CTval是否成立,是,則執(zhí)行步驟5);否則執(zhí)行步驟10); 步驟5)、統(tǒng)計(jì)在過去tint CTval時(shí)間內(nèi)N個(gè)對(duì)象存儲(chǔ)服務(wù)器的實(shí)際利用率i^,A,..., uN ; 步驟6)、根據(jù)對(duì)象存儲(chǔ)服務(wù)器的實(shí)際利用率和基準(zhǔn)利用率來調(diào)節(jié)功耗級(jí)別; 步驟7)、查看N個(gè)對(duì)象存儲(chǔ)服務(wù)器的服務(wù)請(qǐng)求隊(duì)列,記錄其隊(duì)列長度1" 12,..., 步驟8)、如果li > Lth且第i個(gè)對(duì)象存儲(chǔ)服務(wù)器的功耗級(jí)別低于m,執(zhí)行步驟9); 否則執(zhí)行步驟10); 步驟9)、將該對(duì)象存儲(chǔ)服務(wù)器的功耗級(jí)別調(diào)高一級(jí); 步驟10)、元數(shù)據(jù)服務(wù)器對(duì)計(jì)算結(jié)點(diǎn)發(fā)送來的服務(wù)請(qǐng)求進(jìn)行監(jiān)控,判斷是否為特定 服務(wù)請(qǐng)求,是,則執(zhí)行步驟ll);否則執(zhí)行步驟3); 步驟11)、向?qū)ο蟠鎯?chǔ)服務(wù)器發(fā)送消息,將對(duì)應(yīng)對(duì)象存儲(chǔ)服務(wù)器的功耗級(jí)別設(shè)置到 最高m,同時(shí)標(biāo)記該對(duì)象存儲(chǔ)服務(wù)器正在響應(yīng)特定服務(wù)請(qǐng)求,執(zhí)行步驟3);
步驟12)、關(guān)閉 象存儲(chǔ)系統(tǒng)的功耗控制服務(wù)。
權(quán)利要求
一種基于對(duì)象存儲(chǔ)系統(tǒng)的功耗控制方法,其特征在于包括以下步驟第一步、初始化對(duì)象存儲(chǔ)系統(tǒng)的功耗控制相關(guān)參數(shù),包括以下步驟1.1初始化功耗控制間隔時(shí)間tinterval,取值范圍為5~10分鐘;1.2初始化功耗級(jí)別數(shù)m,取值范圍為3~5;每個(gè)對(duì)象存儲(chǔ)服務(wù)器支持m級(jí)功耗級(jí)別1,2,..,m,每級(jí)的功耗分別為P1,P2,..,Pm,滿足P1<P2<...<Pm;1.3初始化m級(jí)服務(wù)器基準(zhǔn)利用率U1,U2,...,Um,基準(zhǔn)利用率的設(shè)置方法為設(shè)置U1值,取值范圍為10%~20%,設(shè)置Um值,取值范圍為70%~80%,設(shè)置Uk值,k=2,...,m-1;1.4初始化服務(wù)請(qǐng)求隊(duì)列長度閾值Lth,取值范圍為10~20;1.5初始化功耗控制時(shí)間t,t=0;第二步、啟動(dòng)功耗控制,包括以下步驟2.1啟動(dòng)元數(shù)據(jù)服務(wù)器和N個(gè)對(duì)象存儲(chǔ)服務(wù)器,并將所有對(duì)象存儲(chǔ)服務(wù)器的功耗級(jí)別設(shè)置成最高級(jí)別m,N為正整數(shù);2.2啟動(dòng)功耗實(shí)時(shí)監(jiān)控器,監(jiān)控N個(gè)對(duì)象存儲(chǔ)服務(wù)器的實(shí)際功耗值;2.3啟動(dòng)時(shí)間t開始計(jì)數(shù);2.4一邊等待計(jì)算結(jié)點(diǎn)的服務(wù)請(qǐng)求,一邊開始功耗控制;第三步、當(dāng)接收到關(guān)閉功耗控制請(qǐng)求時(shí),執(zhí)行第十二步,否則執(zhí)行第四步;第四步、每隔時(shí)間tinterval啟動(dòng)一次功耗控制,判斷t=tinterval是否成立,若成立,則執(zhí)行第五步;若不成立,執(zhí)行第十步;第五步、統(tǒng)計(jì)在過去tinterval時(shí)間內(nèi)N個(gè)對(duì)象存儲(chǔ)服務(wù)器的實(shí)際利用率u1,u2,...,uN,對(duì)象存儲(chǔ)服務(wù)器的實(shí)際利用率通過調(diào)用操作系統(tǒng)接口獲?。蝗绻趇個(gè)對(duì)象存儲(chǔ)服務(wù)器正在響應(yīng)特定服務(wù)請(qǐng)求,則ui=Um,1≤i≤N;第六步、根據(jù)對(duì)象存儲(chǔ)服務(wù)器的實(shí)際利用率和基準(zhǔn)利用率來調(diào)節(jié)功耗級(jí)別如果第i個(gè)對(duì)象存儲(chǔ)服務(wù)器滿足ui<U1,1≤i≤N,則將第i個(gè)對(duì)象存儲(chǔ)服務(wù)器的功耗級(jí)別設(shè)置為1;如果ui≥Um,則將第i個(gè)對(duì)象存儲(chǔ)服務(wù)器的功耗級(jí)別設(shè)置為m;對(duì)于滿足Uk≤ui<Uk+1的利用率ui,則將第i個(gè)對(duì)象存儲(chǔ)服務(wù)器的功耗級(jí)別設(shè)置為k,k=1,2,...,m-1;第七步、查看N個(gè)對(duì)象存儲(chǔ)服務(wù)器的服務(wù)請(qǐng)求隊(duì)列,記錄其隊(duì)列長度l1,l2,...,lN;第八步、如果li>Lth且第i個(gè)對(duì)象存儲(chǔ)服務(wù)器的功耗級(jí)別低于m,執(zhí)行第九步;否則執(zhí)行第十步;第九步、將該對(duì)象存儲(chǔ)服務(wù)器的功耗級(jí)別調(diào)高一級(jí);第十步、元數(shù)據(jù)服務(wù)器對(duì)計(jì)算結(jié)點(diǎn)發(fā)送來的服務(wù)請(qǐng)求進(jìn)行監(jiān)控,判斷是否為特定服務(wù)請(qǐng)求,如是,執(zhí)行第十一步;否則執(zhí)行第三步;第十一步、向?qū)ο蟠鎯?chǔ)服務(wù)器發(fā)送消息,將對(duì)應(yīng)對(duì)象存儲(chǔ)服務(wù)器的功耗級(jí)別設(shè)置到最高m,同時(shí)標(biāo)記該對(duì)象存儲(chǔ)服務(wù)器正在響應(yīng)特定服務(wù)請(qǐng)求,執(zhí)行第三步;第十二步、關(guān)閉對(duì)象存儲(chǔ)系統(tǒng)的功耗控制服務(wù)。F2010100220944C00011.tif
2. 如權(quán)利要求1所述的基于對(duì)象存儲(chǔ)系統(tǒng)的功耗控制方法,其特征在于所述特定服務(wù) 請(qǐng)求是指需要對(duì)象存儲(chǔ)服務(wù)器以最高功耗級(jí)別響應(yīng)的服務(wù)請(qǐng)求。
3. 如權(quán)利要求1所述的基于對(duì)象存儲(chǔ)系統(tǒng)的功耗控制方法,其特征在于所述功耗級(jí)別調(diào)整通過調(diào)節(jié)處理器的電壓或頻率來實(shí)現(xiàn):
全文摘要
本發(fā)明公開了一種基于對(duì)象存儲(chǔ)系統(tǒng)的功耗控制方法,目的是解決目前功耗控制方法不能根據(jù)應(yīng)用特點(diǎn)進(jìn)行有效的功耗控制或缺乏對(duì)復(fù)雜服務(wù)請(qǐng)求情況處理的問題。技術(shù)方案是固定時(shí)間間隔統(tǒng)計(jì)服務(wù)器利用率,根據(jù)每個(gè)對(duì)象存儲(chǔ)服務(wù)器的實(shí)際利用率調(diào)整它的功耗級(jí)別;固定時(shí)間間隔查看每個(gè)對(duì)象存儲(chǔ)服務(wù)器的服務(wù)隊(duì)列長度,根據(jù)隊(duì)列長度及當(dāng)前功耗級(jí)別調(diào)整相應(yīng)服務(wù)器的功耗級(jí)別;由元數(shù)據(jù)服務(wù)器判斷是否出現(xiàn)特定服務(wù)請(qǐng)求來實(shí)施功耗控制。采用本發(fā)明可根據(jù)對(duì)象存儲(chǔ)服務(wù)器的實(shí)際利用率和服務(wù)隊(duì)列情況對(duì)每個(gè)對(duì)象存儲(chǔ)服務(wù)器調(diào)整功耗級(jí)別,滿足對(duì)象存儲(chǔ)服務(wù)器對(duì)功耗控制的需求,并利用元數(shù)據(jù)服務(wù)器對(duì)服務(wù)請(qǐng)求的處理,對(duì)特定服務(wù)請(qǐng)求,提高功耗控制效率。
文檔編號(hào)H04L29/08GK101776946SQ20101002209
公開日2010年7月14日 申請(qǐng)日期2010年1月20日 優(yōu)先權(quán)日2010年1月20日
發(fā)明者盧宇彤, 周恩強(qiáng), 曹宏嘉, 董勇, 蔣艷凰, 謝旻, 陳娟, 陳海濤 申請(qǐng)人:中國人民解放軍國防科學(xué)技術(shù)大學(xué)