在資源緊缺越來越嚴重的今天,進行集群功耗管理方面的研究并推出相關(guān)產(chǎn)品節(jié)約電力資源具有很高的社會與經(jīng)濟價值。
集群服務(wù)器獲得廣泛應用的主要原因在于其較高的性價比,通過數(shù)量上的優(yōu)勢來彌補節(jié)點處理性能的不足。節(jié)點數(shù)量大幅增長的同時不可避免的帶來電力消耗的快速增長,IDC(international datacorporation)研究數(shù)據(jù)表明,在2007年中國用于服務(wù)器的電源和冷卻的總開支達到了19億美元,僅在北京和廣東兩個地區(qū),這部分的投入就達到了3.2和3.6億美元,占到了全國的35.8%。據(jù)統(tǒng)計,中國2007年全年IT產(chǎn)品總耗電量在300億到500億度,相當于三峽電站一年的總發(fā)電量。巨大的耗能引來了各方的關(guān)注。
集群節(jié)點數(shù)量在快速增長,但其使用效率卻在低水平徘徊不前,以應用最普遍的X86服務(wù)器集群為例,普遍認為其利用率低于30%,IBM更是稱Intel服務(wù)器平均利用率只有10%,從而造成大量電力資源的浪費。
現(xiàn)代機房的功耗分布
集群服務(wù)器一般安裝在專用機房中,一般采用高架地板,標準機柜,UPS(uninterruptible Powersupply),精密空調(diào)等設(shè)備。
可以明顯看出,服務(wù)器與冷卻設(shè)備在機房總功耗中共占到了80%以上的份額,顯而易見,冷卻設(shè)備的功耗是和服務(wù)器運行時產(chǎn)生的熱量密切相關(guān)的,如何更好的進行集群功耗管理就成為了關(guān)鍵。
集群功耗管理的要求
功耗管理屬于集群基礎(chǔ)設(shè)施管理的范疇,主要關(guān)心兩個方面的情況,一方面是怎樣把集群的實際負載與功耗聯(lián)系起來;另一方面是怎樣在不影響應用的前提下最小化集群的總功耗,最終目的是實現(xiàn)電力能源的量化與最優(yōu)化調(diào)度。由于是從集群的角度分析功耗,所以不涉及單節(jié)點的絕對功率的大小,例如為節(jié)點更換更節(jié)能的CPU就不在考慮之中。
基于上述思路,可以將集群功耗管理歸納為如下幾點功能:
集群功耗的實時監(jiān)控與分析
對集群功耗的監(jiān)控是實現(xiàn)功耗管理的基礎(chǔ),可以通過兩種手段來實現(xiàn):通過在服務(wù)器電源模塊上增加功率感應器(功率計)使用主板的帶外管理模塊(BMC)直接讀取。該方式的優(yōu)點是簡單直接,缺點是精度受限,目前只能達到十一10%,而且必須將功率傳感器布置在電源AC端,由于刀片服務(wù)器采用共享電源無法探測每個刀片的功率,所以不能支持刀片服務(wù)器。另一種手段是服務(wù)器生產(chǎn)廠家在服務(wù)器生產(chǎn)之后標定各種負載條件下的服務(wù)器功率,用戶使用時打開節(jié)點上的監(jiān)控軟件,就能夠估算出節(jié)點的功率,只要廠家標定的負載樣本足夠多就可以實現(xiàn)較高的精度,同時,由于采用軟硬件結(jié)合的方式,無論是機架式還是刀片服務(wù)器均可支持。
在準確的集群實時功耗監(jiān)控基礎(chǔ)之上可以計算應用的功耗與能耗,通過對不同負載狀況集群功耗的分析可以得到應用的有效功耗與無效功耗,如果使用了作業(yè)調(diào)度系統(tǒng),更可以直接計算作業(yè)的能耗。
集群峰值功耗的控制
主要是基于三方面的考量:第一,集群的UPS與冷卻單元所能支撐IT設(shè)備最大功耗是決對不能超越的,因此用戶往往需要配置較多的冗余設(shè)備,而其利用率很低,如果能夠?qū)汗纳舷捱M行控制,可以相應的減少冗余設(shè)備數(shù)量,減少無效投資。第二,UPS與冷卻單元還對機柜的功耗密度有相應要求,設(shè)計功耗密度太高會使成本大幅提升,設(shè)計密度過低又會造成空間利用率低下,因此需要選擇一個合適的功耗密度。以前,功耗密度只能根據(jù)服務(wù)器的額定功率確定,而這個值幾乎很難在實際應用中達到,據(jù)此進行設(shè)計就不可避免的造成空間的浪費以及供電與冷卻設(shè)備的過度投資。準確地進行工作組級別,機柜級別和集群級別的功耗上限調(diào)整可以明顯提升設(shè)備使用率。第三,不同種類的應用負載特點是不同的,例如高性能計算通常CPU利用率較高,對節(jié)點間通訊延遲敏感,而互聯(lián)網(wǎng)應用往往更關(guān)心數(shù)據(jù)的快速讀寫,CPU利用率并不很高。即便是同一應用,其負載往往也會有大幅度的波動,下圖左側(cè)是某公司內(nèi)部郵件服務(wù)器的負載情況,右側(cè)是負載的自相關(guān)函數(shù),可以看出負載有較明顯的周期性,根據(jù)應用的負載特點進行功耗上限的調(diào)整會明顯提升服務(wù)器的能效。
歷史負載分析與功耗分配策略
服務(wù)器運行的應用一般不會頻繁改變,可以將負載與功耗的實時數(shù)據(jù)保存下來形成歷史數(shù)據(jù),監(jiān)控系統(tǒng)據(jù)此可以自動分析負載的特點與發(fā)展趨勢并做出相應調(diào)整。現(xiàn)有的自動控制技術(shù)可以給出多種策略,其細節(jié)超出本文范圍,不再一一贅述,但原則上既要保證功耗分配對負載波動的快速響應,又要避免過于頻繁的調(diào)整造成電力資源的浪費。完善的功耗分配策略可以使管理員將精力集中在對負載特點的分析上,而不用為其具體數(shù)值以及調(diào)整時間等細節(jié)耗費大量精力。如果使用了作業(yè)調(diào)度系統(tǒng),用戶可以引入新的算法,根據(jù)集群的功耗分布對作業(yè)進行調(diào)度,提升系統(tǒng)的能效。
熱量分布與冷卻設(shè)備控制
從上文對機房功耗分布的分析中可以看出冷卻系統(tǒng)的功耗僅次于IT設(shè)備,但事實上這部分功耗中的大部分被浪費掉了。圖一是現(xiàn)有機房進行的三維溫度分布模擬,從中可以看出,由于負載在機房中空間上與時間上是分布不均的,造成溫度的分布也是不均勻的,有熱點(圖中紅色部分)與冷點(圖中藍色部分),是典型的非穩(wěn)態(tài)熱力學系統(tǒng)!現(xiàn)有機房的散熱設(shè)計一般是基于熱力學穩(wěn)態(tài)系統(tǒng)進行的,造成了大量的能源浪費,有研究表明,有效制冷量不足50%。因此,通過建立熱力學散熱模型,基于集群功耗的實時監(jiān)控數(shù)據(jù)與功耗分配策略進行精確制冷是必然的發(fā)展方向。
集群功耗管理的發(fā)展趨勢
現(xiàn)有數(shù)據(jù)中心的各種設(shè)備大多是單獨進行管理的,例如盤陣,服務(wù)器,UPS,空調(diào)等,筆者認為其管理模式將向兩個方向發(fā)展,一方面要根據(jù)外部環(huán)境變化和負載的波動進行統(tǒng)一任務(wù)調(diào)度并調(diào)節(jié)各種設(shè)備,實現(xiàn)更廣泛意義上的最優(yōu)化調(diào)度;另一方面,管理的粒度會更細,例如對每節(jié)點的任務(wù)進行調(diào)整,對每個CPU內(nèi)核的主頻進行單獨調(diào)整,進行分區(qū)冷卻等。
這兩方面是相輔相成的,統(tǒng)一管理是精細管理的基礎(chǔ),精細管理是統(tǒng)一管理的實現(xiàn)手段。