本發(fā)明涉及功耗控制領(lǐng)域,特別涉及一種數(shù)據(jù)中心功耗調(diào)節(jié)方法及裝置。
背景技術(shù):
在數(shù)據(jù)中心內(nèi)部,所有的服務(wù)器都分配有一定大小的功率配給,同時保證整個機架上的服務(wù)器的功率配給之和不超過機架電源的總功率。當前,很多數(shù)據(jù)中心分配給服務(wù)器的功率配給是服務(wù)器的額定功率。然而,服務(wù)器實際運行功率在大部分時間里遠遠低于額定功率,引起了功率配給的極大浪費,制約了機架裝機數(shù)量。因此,適當降低數(shù)據(jù)中心內(nèi)服務(wù)器的功率配給,對提升機架裝機量,節(jié)約服務(wù)器的占地成本有著極為重要的意義。
由于服務(wù)器cpu、硬盤等部件在制造時存在的工藝差別,會導(dǎo)致上架后服務(wù)器的峰值功耗與選型時候的峰值功耗存在差異(可以達到單個服務(wù)器相差20-30w),這樣會直接影響到現(xiàn)有部署方案下單個機架的節(jié)點數(shù)量,導(dǎo)致減少服務(wù)器部署密度。同時,由于it設(shè)備峰值功耗的不確定性,現(xiàn)有的依賴經(jīng)驗的服務(wù)器部署方式會在數(shù)據(jù)中心部署的各個節(jié)點(機架,列頭柜,單個機房等)處留下冗余,過多的冗余會降低數(shù)據(jù)中心供電的使用率。
圖1為數(shù)據(jù)中心cpu利用率累計分布圖所示(數(shù)據(jù)從百度某數(shù)據(jù)中心采錄,此數(shù)據(jù)中心目前負載較低),如圖1所示,cpu使用率從側(cè)面反饋了整機的負載,橫軸每小時內(nèi)平均的cpu使用率,縱軸表示累計分布的比例,可以看到,統(tǒng)計到所有的服務(wù)器的粒度時(累計分布達到1),數(shù)據(jù)中心(idc)層面的cpu利用率為31%左右,而在列頭柜(pdu)和機架(rack)層面,使用率為39%和43%。從圖中可以看出,由于數(shù)據(jù)中心設(shè)計時按照峰值功耗進行設(shè)計,而由于實際運行時業(yè)務(wù)很少會達到峰值功耗,在機架/列頭柜/數(shù)據(jù)中心層面的穩(wěn)定負荷率會小于設(shè)計的峰值功耗,并且在機架/列頭柜/數(shù)據(jù)中心的負載率會逐步降低,通過利用這些分布不均的情況,可以增加服務(wù)器部署量。然而,現(xiàn)有的用于數(shù)據(jù)中心的服務(wù)器機架位分配方式通常是人工憑經(jīng)驗分配,存在著機架利用率不足,電力資源利用率低的問題。
技術(shù)實現(xiàn)要素:
本發(fā)明為解決現(xiàn)有技術(shù)的上述缺陷,提供一種數(shù)據(jù)中心功耗調(diào)節(jié)方法及裝置。
一方面,本發(fā)明提供一種數(shù)據(jù)中心功耗調(diào)節(jié)方法,包括:
采集機架總功耗;
若判斷獲知機架總功耗接近第一預(yù)設(shè)閾值,則通過查詢數(shù)據(jù)中心拓撲獲取機架內(nèi)各服務(wù)器的功耗;
將各服務(wù)器按照功耗比排序,利用通用調(diào)度器根據(jù)服務(wù)器功耗比順序依次對各服務(wù)器進行任務(wù)調(diào)度。
其中,所述機架上布置多個不同型號的服務(wù)器,所述方法進一步包括:
基于統(tǒng)一峰值功耗管理,不同型號的服務(wù)器對外提供統(tǒng)一的峰值功耗限制功能。
其中,所述基于統(tǒng)一峰值功耗管理包括:
基于從smbios中獲取新服務(wù)器的配置信息,修改現(xiàn)有服務(wù)器配置數(shù)據(jù)庫,添加對于新服務(wù)器的功耗管理功能的支持。
其中,所述方法還包括,定時處理被凍結(jié)的服務(wù)器,接收通用調(diào)度器發(fā)送的新任務(wù)。
其中,所述利用通用調(diào)度器根據(jù)服務(wù)器功耗比順序依次對各服務(wù)器進行任務(wù)調(diào)度包括:
若服務(wù)器功耗比接近第二預(yù)設(shè)閾值,則利用通用調(diào)度器遷移任務(wù);
若服務(wù)器功耗比高于第二預(yù)設(shè)閾值小于第三預(yù)設(shè)閾值,則利用通用調(diào)度器控制服務(wù)器暫停接受新任務(wù)。
其中,所述方法還包括,當服務(wù)器功耗接近第四預(yù)設(shè)閾值時,通過降低cpu運行頻率和/或內(nèi)存運行頻率的方式降低單個服務(wù)器功耗,進而降低機架總功耗。
另一方面,本發(fā)明還提供一種數(shù)據(jù)中心功耗調(diào)節(jié)裝置,包括:
采集模塊,用于采集機架總功耗;
獲取模塊,用于判斷獲知機架總功耗接近第一預(yù)設(shè)閾值時,則通過查詢數(shù)據(jù)中心拓撲獲取機架內(nèi)各服務(wù)器的功耗;
調(diào)度模塊,用于將各服務(wù)器按照功耗比排序,利用通用調(diào)度器根據(jù)服務(wù)器功耗比順序依次對各服務(wù)器進行任務(wù)調(diào)度。
其中,所述調(diào)度模塊還用于,定時處理被凍結(jié)的服務(wù)器,接收通用調(diào)度器發(fā)送的新任務(wù)。
其中,所述調(diào)度模塊具體用于:
若服務(wù)器功耗比接近第二預(yù)設(shè)閾值,則利用通用調(diào)度器遷移任務(wù);
若服務(wù)器功耗比高于第二預(yù)設(shè)閾值小于第三預(yù)設(shè)閾值,則利用通用調(diào)度器控制服務(wù)器暫停接受新任務(wù)。
其中,所述裝置還包括限制模塊,所述限制模塊,用于當服務(wù)器功耗接近第四預(yù)設(shè)閾值時,通過降低cpu運行頻率和/或內(nèi)存運行頻率的方式降低單個服務(wù)器功耗,進而降低機架總功耗。
本發(fā)明提供的數(shù)據(jù)中心功耗調(diào)節(jié)方法和裝置,當機架總功耗接近預(yù)設(shè)閾值時,獲取機架內(nèi)各服務(wù)器的功耗;將各服務(wù)器按照功耗比排序,利用通用調(diào)度器根據(jù)服務(wù)器功耗比順序依次對各服務(wù)器進行任務(wù)調(diào)度,并通過降低cpu運行頻率和內(nèi)存運行頻率來降低機架功耗。通過上述方法調(diào)節(jié)機架功耗,在不影響數(shù)據(jù)中心穩(wěn)定性的前提下,提高了供電利用率。
附圖說明
圖1為根據(jù)本發(fā)明實施例提供的數(shù)據(jù)中心cpu利用率累計分布圖;
圖2為根據(jù)本發(fā)明實施例提供的數(shù)據(jù)中心功耗調(diào)節(jié)方法流程示意圖;
圖3為根據(jù)本發(fā)明實施例提供的服務(wù)器峰值功耗管理流程圖;
圖4為根據(jù)本發(fā)明實施例提供的數(shù)據(jù)中心功耗調(diào)節(jié)裝置結(jié)構(gòu)框圖。
具體實施方式
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
圖2為根據(jù)本發(fā)明實施例提供的數(shù)據(jù)中心功耗調(diào)節(jié)方法流程示意圖,如圖2所示,該方法包括:步驟s1,采集機架總功耗;步驟s2,若判斷獲知機架總功耗接近第一預(yù)設(shè)閾值,則通過查詢數(shù)據(jù)中心拓撲獲取機架內(nèi)各服務(wù)器的功耗;步驟s3,將各服務(wù)器按照功耗比排序,利用通用調(diào)度器根據(jù)服務(wù)器功耗比順序依次對各服務(wù)器進行任務(wù)調(diào)度。
其中,步驟s1中,采集機架總功耗。當服務(wù)器為一體機時,通過查詢數(shù)據(jù)中心拓撲信息,獲取與本服務(wù)器同機架的所有服務(wù)器功耗,得到機架功耗;當服務(wù)器不是一體機時,可以從機架管理節(jié)點處得到機架功耗。一體機是指將傳統(tǒng)分體臺式機的主機集成到顯示器中,從而形成一體臺式機。
具體地,當服務(wù)器是一體機時,可以實時獲取機架上各服務(wù)器的當前功耗,以確定機架的總體功耗。例如,通過查詢數(shù)據(jù)中心拓撲信息,獲取機架上的各個服務(wù)器的當前功耗,并將各個服務(wù)器的當前功耗的總和確定為機架功耗。當服務(wù)器不是一體機時,可以通過機架上的各個設(shè)備各自的特定接口來獲取其當前功耗;此外,還可以通過特定應(yīng)用利用網(wǎng)絡(luò)來獲取機架上的各個設(shè)備的當前功耗。
其中,步驟s2中,若判斷獲知機架總功耗接近第一預(yù)設(shè)閾值,則通過查詢數(shù)據(jù)中心拓撲獲取機架內(nèi)各服務(wù)器的功耗。
數(shù)據(jù)中心網(wǎng)絡(luò)拓撲主要分為三層拓撲結(jié)構(gòu)。包括數(shù)據(jù)中心與外部運營商互聯(lián)的核心交換層,數(shù)據(jù)中心網(wǎng)絡(luò)拓撲用戶層或接入層,以及將連接兩者實現(xiàn)數(shù)據(jù)聚合的匯聚層。本實施例中,通過查詢數(shù)據(jù)中心拓撲信息,可以獲取機架內(nèi)各服務(wù)器功耗。
具體地,第一預(yù)設(shè)閾值小于機架的峰值功耗,當服務(wù)器功耗接近第一預(yù)設(shè)閾值時,可以通過查詢數(shù)據(jù)中心拓撲獲取機架內(nèi)各服務(wù)器的功耗。
其中,由于服務(wù)器cpu、硬盤等部件在制造時存在的工藝差別,會導(dǎo)致上架后服務(wù)器的峰值功耗與選型時候的峰值功耗存在差異(可以達到單個服務(wù)器相差20-30w),這樣會直接影響到現(xiàn)有部署方案下單個機架的節(jié)點數(shù)量,導(dǎo)致減少服務(wù)器部署密度。需要對各個服務(wù)器的峰值功耗進行管理。本實施例中,所述機架上布置多個不同型號的服務(wù)器,各個服務(wù)器基于統(tǒng)一峰值功耗管理,不同型號的服務(wù)器對外提供統(tǒng)一的峰值功耗限制功能。圖3為根據(jù)本發(fā)明實施例提供的服務(wù)器峰值功耗管理流程圖,如圖3所示,首先從smbios中獲取服務(wù)器配置信息,配置信息包括廠商和型號等,smbios(systemmanagementbios)是主板或系統(tǒng)制造者以標準格式顯示產(chǎn)品管理信息所需遵循的統(tǒng)一規(guī)范。dmi(desktopmanagementinterface,dmi)的主要組成部分是managementinformationformat(mif)數(shù)據(jù)庫。這個數(shù)據(jù)庫包括了所有有關(guān)電腦系統(tǒng)和配件的信息。通過dmi,用戶可以獲取序列號、電腦廠商、串口信息以及其它系統(tǒng)配件信息。dmi(desktopmanagementinterface,dmi)就是幫助收集電腦系統(tǒng)信息的管理系統(tǒng),dmi信息的收集必須在嚴格遵照smbios規(guī)范的前提下進行。
進一步地,在獲取了服務(wù)器配置信息之后,與現(xiàn)有的服務(wù)器配置數(shù)據(jù)庫進行對比。調(diào)整現(xiàn)有的服務(wù)器配置數(shù)據(jù)庫,選擇合適的功耗管理。本實施例中,使用現(xiàn)有的x86-64服務(wù)器通過調(diào)整cpu運行時頻率實現(xiàn)的功耗管理功能(ibmaem,hpilo,其他廠商均使用intelnodemanager技術(shù)),功耗管理功能包括功耗獲取和設(shè)置限額,隱藏了各個廠商功耗管理實現(xiàn)的異構(gòu)性,通過設(shè)置限額,對外提供統(tǒng)一的峰值功耗限制功能,并且功耗限制是硬件限制,設(shè)定后響應(yīng)時間在毫秒級別,且不會超出此功耗限制。
實際使用中通過修改已有服務(wù)器配置數(shù)據(jù)庫,可以動態(tài)的添加對于新的服務(wù)器功耗管理功能的支持。本發(fā)明實施例通過服務(wù)器峰值功耗管理,定義了統(tǒng)一的功耗管理方式,統(tǒng)一了不同服務(wù)器廠商的功耗管理實現(xiàn),對外提供一致的調(diào)用接口。
其中,步驟s3中,將各服務(wù)器按照功耗比排序,利用通用調(diào)度器根據(jù)服務(wù)器功耗比順序依次對各服務(wù)器進行任務(wù)調(diào)度。
具體地,功耗比為服務(wù)器的當前功耗/額定功耗,將各個服務(wù)器根據(jù)功耗比由大到小進行排序,通用調(diào)度器依次對各個服務(wù)器進行任務(wù)調(diào)度,優(yōu)先處理功耗比較大的服務(wù)器。通用調(diào)度器選定功耗比較大的服務(wù)器,調(diào)度方式包括遷移該服務(wù)器的任務(wù),或者控制該服務(wù)器暫停接受新任務(wù)。當通用調(diào)度器遷移任務(wù)時,可以將該服務(wù)器運行的任務(wù)遷移至其他機架的服務(wù)器,并且優(yōu)先遷移內(nèi)存占用率最高的任務(wù)??刂茊蝹€服務(wù)器功耗,進而降低機架總功耗。
進一步地,在對服務(wù)器進行任務(wù)調(diào)度時,若服務(wù)器功耗比接近第二預(yù)設(shè)閾值,則利用通用調(diào)度器遷移任務(wù);若服務(wù)器功耗比高于第二預(yù)設(shè)閾值小于第三預(yù)設(shè)閾值,則利用通用調(diào)度器控制服務(wù)器暫停接受新任務(wù)。例如,機架上a服務(wù)器功耗比為79%,b服務(wù)器功耗比為83%。第二預(yù)設(shè)閾值為80%,第三預(yù)設(shè)閾值為85%。將各個服務(wù)器根據(jù)功耗比由大到小進行排序,利用通用調(diào)度器依次對各個服務(wù)器進行任務(wù)調(diào)度,優(yōu)先處理功耗比較大的服務(wù)器。由于b服務(wù)器的功耗比大于第二預(yù)設(shè)閾值,小于第三預(yù)設(shè)閾值,通用調(diào)度器首先凍結(jié)b服務(wù)器,使b服務(wù)器停止接收新任務(wù)。a服務(wù)器的功耗比接近第二預(yù)設(shè)閾值,通用調(diào)度器將a服務(wù)器的某一任務(wù)遷移至其他機架上的服務(wù)器。達到了控制機架功耗,提高供電利用率的效果。
本發(fā)明實施例提供的數(shù)據(jù)中心功耗調(diào)節(jié)方法,當機架總功耗接近預(yù)設(shè)閾值時,獲取機架內(nèi)各服務(wù)器的功耗;將各服務(wù)器按照功耗比排序,利用通用調(diào)度器根據(jù)服務(wù)器功耗比順序依次對各服務(wù)器進行任務(wù)調(diào)度,并通過降低cpu運行頻率和內(nèi)存運行頻率來降低機架功耗。通過上述方法調(diào)節(jié)機架功耗,在不影響數(shù)據(jù)中心穩(wěn)定性的前提下,提高了供電利用率。
在一個實施例中,本發(fā)明實施例提供的數(shù)據(jù)中心功耗調(diào)節(jié)方法還包括,定時處理被凍結(jié)的服務(wù)器,接收通用調(diào)度器發(fā)送的新任務(wù)。當某個服務(wù)器的功耗超過第二預(yù)設(shè)閾值,小于第三預(yù)設(shè)閾值時,通用調(diào)度器控制該服務(wù)器暫停接受新任務(wù),將該服務(wù)器凍結(jié)。為了避免影響數(shù)據(jù)中心業(yè)務(wù)性能,需要定時處理被凍結(jié)的服務(wù)器,使服務(wù)器接收通用調(diào)度器發(fā)送的新任務(wù)。
例如,現(xiàn)有的機架第一預(yù)設(shè)閾值為500w,機架上有20臺服務(wù)器。采集機架總功耗,得到機架總功耗為490w,接近機架第一預(yù)設(shè)閾值。則通過查詢數(shù)據(jù)中心拓撲獲取該機架內(nèi)各服務(wù)器的功耗,如圖3所示,經(jīng)過服務(wù)器的峰值功耗管理,各服務(wù)器的峰值功耗均為40w,將各個服務(wù)器按照功耗比進行排序,其中,功耗比為服務(wù)器的當前功耗/額定功耗,第二預(yù)設(shè)閾值為80%,第三預(yù)設(shè)閾值為85%。將各個服務(wù)器根據(jù)功耗比由大到小進行排序,利用通用調(diào)度器依次對各個服務(wù)器進行任務(wù)調(diào)度,優(yōu)先處理功耗比較大的服務(wù)器。此時a服務(wù)器功耗比為79%,b服務(wù)器功耗比為83%。由于b服務(wù)器的功耗比大于第二預(yù)設(shè)閾值,小于第三預(yù)設(shè)閾值,通用調(diào)度器首先凍結(jié)b服務(wù)器,使b服務(wù)器停止接收新任務(wù),60s后,通用調(diào)度器解除對b服務(wù)器的凍結(jié),使b服務(wù)器可以接收新任務(wù)。a服務(wù)器的功耗比接近第二預(yù)設(shè)閾值,通用調(diào)度器將a服務(wù)器的某一任務(wù)遷移至其他機架上的服務(wù)器。最終達到了控制機架功耗,提高供電利用率的效果。
在一個實施例中,數(shù)據(jù)中心功耗調(diào)節(jié)方法還包括,當服務(wù)器功耗接近第四預(yù)設(shè)閾值時,通過降低cpu運行頻率和/或內(nèi)存運行頻率的方式降低單個服務(wù)器功耗,進而降低機架總功耗。
具體地,數(shù)據(jù)中心服務(wù)器運行的負載率有待提高,且同一時刻達到設(shè)計峰值的概率很低,在接近峰值的特殊情況時,可以通過節(jié)點本身的功耗封頂(powercapping)來控制,進而達到可靠地提升機架利用率的目的。
進一步地,在機架處設(shè)置一個小于機架功耗峰值的powercapping值,當機架總功耗達到powercapping之后,服務(wù)器節(jié)點會通過內(nèi)置于服務(wù)器主板固件中的程序和機架管理節(jié)點檢測實時功耗,服務(wù)器功耗接近第四預(yù)設(shè)閾值時,通過降低cpu運行頻率和/內(nèi)存運行頻率的方式降低單個服務(wù)器功耗,進而降低機架功耗,在設(shè)置了合適的機架powercapping值后,可以保證機架功耗不超標。
本發(fā)明實施例提供的數(shù)據(jù)中心功耗調(diào)節(jié)方法,當機架總功耗接近預(yù)設(shè)閾值時,獲取機架內(nèi)各服務(wù)器的功耗;將各服務(wù)器按照功耗比排序,利用通用調(diào)度器根據(jù)服務(wù)器功耗比順序依次對各服務(wù)器進行任務(wù)調(diào)度,并通過降低cpu運行頻率和內(nèi)存運行頻率來降低機架功耗。通過上述方法調(diào)節(jié)機架功耗,在不影響數(shù)據(jù)中心穩(wěn)定性的前提下,提高了供電利用率。
圖4為根據(jù)本發(fā)明實施例提供的數(shù)據(jù)中心功耗調(diào)節(jié)裝置結(jié)構(gòu)框圖。如圖4所示,數(shù)據(jù)中心功耗調(diào)節(jié)裝置包括采集模塊、獲取模塊和調(diào)度模塊,其中:
采集模塊401,用于采集機架總功耗;獲取模塊402,用于判斷獲知機架總功耗接近第一預(yù)設(shè)閾值時,則通過查詢數(shù)據(jù)中心拓撲獲取機架內(nèi)各服務(wù)器的功耗;調(diào)度模塊403,用于將各服務(wù)器按照功耗比排序,利用通用調(diào)度器根據(jù)服務(wù)器功耗比順序依次對各服務(wù)器進行任務(wù)調(diào)度。
具體地,當服務(wù)器是一體機時,可以實時獲取機架上各服務(wù)器的當前功耗,以確定機架的總體功耗。例如,通過查詢數(shù)據(jù)中心拓撲信息,獲取機架上的各個服務(wù)器的當前功耗,并將各個服務(wù)器的當前功耗的總和確定為機架功耗。當服務(wù)器不是一體機時,可以通過機架上的各個設(shè)備各自的特定接口來獲取其當前功耗;此外,還可以通過特定應(yīng)用利用網(wǎng)絡(luò)來獲取機架上的各個設(shè)備的當前功耗。
其中,獲取模塊402用于判斷獲知機架總功耗接近第一預(yù)設(shè)閾值時,則通過查詢數(shù)據(jù)中心拓撲獲取機架內(nèi)各服務(wù)器的功耗。數(shù)據(jù)中心網(wǎng)絡(luò)拓撲主要分為三層拓撲結(jié)構(gòu)。包括數(shù)據(jù)中心與外部運營商互聯(lián)的核心交換層,數(shù)據(jù)中心網(wǎng)絡(luò)拓撲用戶層或接入層,以及將連接兩者實現(xiàn)數(shù)據(jù)聚合的匯聚層。本實施例中,通過查詢數(shù)據(jù)中心拓撲信息,可以獲取機架內(nèi)各服務(wù)器功耗。
具體地,第一預(yù)設(shè)閾值小于機架的峰值功耗,當服務(wù)器功耗接近第一預(yù)設(shè)閾值時,可以通過查詢數(shù)據(jù)中心拓撲獲取機架內(nèi)各服務(wù)器的功耗。
其中,由于服務(wù)器cpu、硬盤等部件在制造時存在的工藝差別,會導(dǎo)致上架后服務(wù)器的峰值功耗與選型時候的峰值功耗存在差異(可以達到單個服務(wù)器相差20-30w),這樣會直接影響到現(xiàn)有部署方案下單個機架的節(jié)點數(shù)量,導(dǎo)致減少服務(wù)器部署密度。需要對各個服務(wù)器的峰值功耗進行管理。圖3為根據(jù)本發(fā)明實施例提供的服務(wù)器峰值功耗管理流程圖,如圖3所示,首先從smbios中獲取服務(wù)器廠商和型號,smbios(systemmanagementbios)是主板或系統(tǒng)制造者以標準格式顯示產(chǎn)品管理信息所需遵循的統(tǒng)一規(guī)范。dmi(desktopmanagementinterface,dmi)的主要組成部分是managementinformationformat(mif)數(shù)據(jù)庫。這個數(shù)據(jù)庫包括了所有有關(guān)電腦系統(tǒng)和配件的信息。通過dmi,用戶可以獲取序列號、電腦廠商、串口信息以及其它系統(tǒng)配件信息。dmi(desktopmanagementinterface,dmi)就是幫助收集電腦系統(tǒng)信息的管理系統(tǒng),dmi信息的收集必須在嚴格遵照smbios規(guī)范的前提下進行。
進一步地,在獲取了服務(wù)器廠商和型號之后,與現(xiàn)有的服務(wù)器配置數(shù)據(jù)庫進行對比。調(diào)整現(xiàn)有的服務(wù)器配置數(shù)據(jù)庫,選擇合適的功耗管理實現(xiàn)。本實施例中,使用現(xiàn)有的x86-64服務(wù)器通過調(diào)整cpu運行時頻率實現(xiàn)的功耗管理功能(ibmaem,hpilo,其他廠商均使用intelnodemanager技術(shù)),功耗管理功能包括功耗獲取和設(shè)置限額,隱藏了各個廠商功耗管理實現(xiàn)的異構(gòu)性,通過設(shè)置限額,對外提供統(tǒng)一的峰值功耗限制功能,并且功耗限制是硬件限制,設(shè)定后響應(yīng)時間在毫秒級別,且不會超出此功耗限制。
實際使用中通過修改已有服務(wù)器配置數(shù)據(jù)庫,可以動態(tài)的添加對于新的服務(wù)器功耗管理功能的支持。本發(fā)明實施例通過服務(wù)器峰值功耗管理,定義了統(tǒng)一的功耗管理方式,統(tǒng)一了不同服務(wù)器廠商的功耗管理實現(xiàn),對外提供一致的調(diào)用接口。
其中,調(diào)度模塊403用于將各服務(wù)器按照功耗比排序,利用通用調(diào)度器根據(jù)服務(wù)器功耗比順序依次對各服務(wù)器進行任務(wù)調(diào)度。
具體地,功耗比為服務(wù)器的當前功耗/額定功耗,將各個服務(wù)器根據(jù)功耗比由大到小進行排序,通用調(diào)度器依次對各個服務(wù)器進行任務(wù)調(diào)度,優(yōu)先處理功耗比較大的服務(wù)器。通用調(diào)度器選定功耗比較大的服務(wù)器,調(diào)度方式包括遷移該服務(wù)器的任務(wù),或者控制該服務(wù)器暫停接受新任務(wù)。當通用調(diào)度器遷移任務(wù)時,可以將該服務(wù)器運行的任務(wù)遷移至其他機架的服務(wù)器,并且優(yōu)先遷移內(nèi)存占用率最高的任務(wù)??刂茊蝹€服務(wù)器功耗,進而降低機架總功耗。
進一步地,調(diào)度模塊403對服務(wù)器進行任務(wù)調(diào)度時,若服務(wù)器功耗比接近第二預(yù)設(shè)閾值,則利用通用調(diào)度器遷移任務(wù);若服務(wù)器功耗比高于第二預(yù)設(shè)閾值小于第三預(yù)設(shè)閾值,則利用通用調(diào)度器控制服務(wù)器暫停接受新任務(wù)。例如,機架上a服務(wù)器功耗比為79%,b服務(wù)器功耗比為83%。第二預(yù)設(shè)閾值為80%,第三預(yù)設(shè)閾值為85%。將各個服務(wù)器根據(jù)功耗比由大到小進行排序,利用通用調(diào)度器依次對各個服務(wù)器進行任務(wù)調(diào)度,優(yōu)先處理功耗比較大的服務(wù)器。由于b服務(wù)器的功耗比大于第二預(yù)設(shè)閾值,小于第三預(yù)設(shè)閾值,通用調(diào)度器首先凍結(jié)b服務(wù)器,使b服務(wù)器停止接收新任務(wù)。a服務(wù)器的功耗比接近第二預(yù)設(shè)閾值,通用調(diào)度器將a服務(wù)器的某一任務(wù)遷移至其他機架上的服務(wù)器。達到了控制機架功耗,提高供電利用率的效果。
本發(fā)明實施例提供的數(shù)據(jù)中心功耗調(diào)節(jié)裝置,當機架總功耗接近第一預(yù)設(shè)閾值時,獲取機架內(nèi)各服務(wù)器的功耗;將各服務(wù)器按照功耗比排序,利用通用調(diào)度器根據(jù)服務(wù)器功耗比順序依次對各服務(wù)器進行任務(wù)調(diào)度,并通過降低cpu運行頻率和內(nèi)存運行頻率來降低機架功耗。通過上述方法調(diào)節(jié)機架功耗,在不影響數(shù)據(jù)中心穩(wěn)定性的前提下,提高了供電利用率。
在一個實施例中,調(diào)度模塊403還用于,定時處理被凍結(jié)的服務(wù)器,接收通用調(diào)度器發(fā)送的新任務(wù)。當某個服務(wù)器的功耗超過第二預(yù)設(shè)閾值,小于第三預(yù)設(shè)閾值時,通用調(diào)度器控制該服務(wù)器暫停接受新任務(wù),將該服務(wù)器凍結(jié)。為了避免影響數(shù)據(jù)中心業(yè)務(wù)性能,需要定時處理被凍結(jié)的服務(wù)器,使服務(wù)器接收通用調(diào)度器發(fā)送的新任務(wù)。
例如,現(xiàn)有的機架第一預(yù)設(shè)閾值為500w,機架上有20臺服務(wù)器。采集機架總功耗,得到機架總功耗為490w,接近機架第一預(yù)設(shè)閾值。則通過查詢數(shù)據(jù)中心拓撲獲取該機架內(nèi)各服務(wù)器的功耗,如圖3所示,經(jīng)過服務(wù)器的峰值功耗管理,各服務(wù)器的峰值功耗均為40w,將各個服務(wù)器按照功耗比進行排序,其中,功耗比為服務(wù)器的當前功耗/額定功耗,第二預(yù)設(shè)閾值為80%,第三預(yù)設(shè)閾值為85%。將各個服務(wù)器根據(jù)功耗比由大到小進行排序,利用通用調(diào)度器依次對各個服務(wù)器進行任務(wù)調(diào)度,優(yōu)先處理功耗比較大的服務(wù)器。此時a服務(wù)器功耗比為79%,b服務(wù)器功耗比為83%。由于b服務(wù)器的功耗比大于第二預(yù)設(shè)閾值,小于第三預(yù)設(shè)閾值,通用調(diào)度器首先凍結(jié)b服務(wù)器,使b服務(wù)器停止接收新任務(wù),60s后,通用調(diào)度器解除對b服務(wù)器的凍結(jié),使b服務(wù)器可以接收新任務(wù)。a服務(wù)器的功耗比接近第二預(yù)設(shè)閾值,通用調(diào)度器將a服務(wù)器的某一任務(wù)遷移至其他機架上的服務(wù)器。最終達到了控制機架功耗,提高供電利用率的效果。
在一個實施例中,本發(fā)明實施例提供的數(shù)據(jù)中心功耗調(diào)節(jié)裝置還包括限制模塊404,限制模塊404用于當服務(wù)器功耗接近第四預(yù)設(shè)閾值時,通過降低cpu運行頻率和/或內(nèi)存運行頻率的方式降低單個服務(wù)器功耗,進而降低機架總功耗。
具體地,數(shù)據(jù)中心服務(wù)器運行的負載率有待提高,且同一時刻達到設(shè)計峰值的概率很低,在接近峰值的特殊情況時,可以通過節(jié)點本身的功耗封頂(powercapping)來控制,進而達到可靠地提升機架利用率的目的。
進一步地,在機架處設(shè)置一個小于機架功耗峰值的powercapping值,當機架總功耗達到powercapping之后,服務(wù)器節(jié)點會通過內(nèi)置于服務(wù)器主板固件中的程序和機架管理節(jié)點檢測實時功耗,服務(wù)器功耗接近第四預(yù)設(shè)閾值時,通過降低cpu運行頻率和/內(nèi)存運行頻率的方式降低單個服務(wù)器功耗,進而降低機架功耗,在設(shè)置了合適的機架powercapping值后,可以保證機架功耗不超標。
本發(fā)明實施例提供的數(shù)據(jù)中心功耗調(diào)節(jié)裝置,當機架總功耗接近預(yù)設(shè)閾值時,獲取機架內(nèi)各服務(wù)器的功耗;將各服務(wù)器按照功耗比排序,利用通用調(diào)度器根據(jù)服務(wù)器功耗比順序依次對各服務(wù)器進行任務(wù)調(diào)度,并通過降低cpu運行頻率和內(nèi)存運行頻率來降低機架功耗。通過上述方法調(diào)節(jié)機架功耗,在不影響數(shù)據(jù)中心穩(wěn)定性的前提下,提高了供電利用率。
最后,本申請的方法僅為較佳的實施方案,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。