崔康吉 ,余 亮
(廣東科技學院,廣東 東莞 523083)
隨著我國數字經濟的發展,數據中心2020年耗電量達到了2 000億kW·h,約占全社會用電量的2.7%[1],成為重點監控的高能耗行業。在數據中心中,服務器等IT設備占數據中心總能耗的50%[2],服務器內部用于散熱的風扇功耗占服務器總能耗的20%以上[3]。在服務器硬件能耗在短期內無法明顯降低的前提下,如何降低風扇散熱系統的能耗成為服務器節能降耗的首要任務。
風扇的功耗與風扇轉速的三次方成正比,在保障芯片可靠運行的前提下,降低風扇的轉速可以有效降低散熱功耗。在服務器的內部,主要的發熱部件包括CPU芯片、GPU芯片、內存、PCIe交換芯片等,熱點多并且分散[4]。
目前,用于服務器風扇調速控制的依據是CPU或者其他高功耗器件的殼體溫度或者空氣溫度。在服務器主板的高功耗部件的殼體或者附件位置安裝溫度傳感器、BMC控制器,實時讀取溫度傳感器數值,根據控制策略對風扇進行調速控制。風扇控制的主流算法主要包括兩種:一種是PWM分段調速控制方法[5],提前設定分段溫度閾值(從多個溫度傳感器中選擇距離閾值最小的一個,通常是溫度值最大的一個),確定對應的風扇PWM信號的占空比,算法實現簡單。遇到的問題是:如果溫度值與目標值比較大,PWM控制信號占空比需要經過分段逐步達成,而不是啟動最大轉速達成,在這個過程中,消耗的能量比較多,同時噪音持續的時間長。另一種是采用PID控制方法[6],根據CPU外殼溫度的實時變化,PID控制風扇解決了快速實現控制目標的問題。遇到的問題是:在最后收斂的階段,往往會出現震蕩,這樣風扇就會出現低頻振動,噪音品質不佳,影響維護人員感受。總體而言,熱量信息來源單一,控制策略粗放,存在較大的散熱冗余。
模型中主要的發熱部件包括CPU1、CPU2、GPU3、GPU4。其中發熱部件的實時功耗值為Pn(n=1、2、3、4),殼溫為Tn(n=1、2、3、4),如圖1所示。在服務器中內置風扇,產生空氣流動,帶走CPU或者GPU產生的熱量,確保芯片的殼溫保持在芯片的可工作溫度范圍之內(比如:XEON系列服務器的處理器殼溫最高為75 ℃,理想的工作溫度值為小于60 ℃)。在每個高功耗部件上安裝溫度傳感器,用于實時檢測殼體溫度值Tn(n=1、2、3、4)。

圖1 服務器散熱模型
在器件的功耗值Pn保持一定的情況下,殼體的溫度值Tn取決于風扇提供的風量值CMM。風量值CMM越大,帶走的熱量越多,則器件殼溫Tn降低得越快,消耗的能量也就越多;風量值CMM越小,則殼溫Tn降低得越慢,但消耗的能量也少。也就是說,在實際的控制中,需要找到一個合理的風量值CMM,帶走發熱部件產生的實時熱量Q,最終殼體溫度值Tn取決于芯片部件的熱量積累。風扇的風量值CMM與PWM控制信號占空比呈近似線性關系。主要涉及公式如下。
1)風扇帶走的熱量Q:
其中,Q為風扇帶走的熱量,單位J;Cp為空氣的定壓比熱容,單位J/(kg·℃);CMM為風扇每分鐘提供的風量,單位m3/min;ρ為空氣密度,約為1 200 g/m3;ΔTC為進出風口的溫度差,單位℃;風扇帶走的熱量Q=Cp(空氣比熱)×W(空氣重量)×ΔTC(進出風口溫度差)。
2)以CPU為例,殼溫TC:
其中,TC為CPU的殼溫,器件的最大允許殼溫由器件手冊提供,單位℃;Tj為CPU的結溫,隨著器件的實時功耗變化,單位℃;P為CPU的實時功耗,單位W;RjC為CPU器件從die到殼體的熱阻,通常由器件手冊提供,單位℃/W。
3)風扇風量CMM與轉速、功耗之間的關系。
風扇的PWM信號占空比與轉速在最低轉速nmin與最高轉速nmax階段呈現近似線性關系,風扇的功耗與轉速的三次方呈成正比例關系。因此,具體型號風扇的PWM占空比、轉速、功耗之間的關系可以通過查閱數據手冊得知,本模型參考的風機類型為EBM公司的8212-JH3軸流風機。通過上述的計算公式,建立一個簡化的風扇散熱模型[7]。這個模型確立了風扇控制PWM信號占空比與風扇功耗、風扇帶走的熱量Q、發熱部件實時功耗Pn、發熱部件累積的熱量與殼溫Tn之間的關系。
在服務器系統中,高功耗部件除了CPU之外,還有GPU、PCIe交換芯片等,功耗熱點超過了兩個,因此一般會安裝多個溫度傳感器用于監控設備的運行狀態。多傳感器的應用可以獲得被測目標的實時溫度值,服務器的散熱信息也更加全面完整,但對于溫度值的信息處理需要更加復雜的算法。多傳感器信息融合是對來自多個傳感器的信息進行綜合分析,推導出更準確的信息,以生成被測對象的最佳估計。
目前,多傳感器融合的主要算法包括加權平均法、最小二乘法、Kalman濾波、D-S推理方法、神經網絡等[8]。本文主要針對前3種方法的組合應用進行了分析與研究,以期在滿足高功耗器件正常散熱的前提條件下,找出功耗最小的算法。
加權平均法是將溫度傳感器提供的冗余信息進行加權平均,結果作為融合值,是一種直接對數據源進行操作的方法。最小二乘法是一種數學優化技術,它通過最小化誤差的平方和尋找數據的最佳函數匹配,確定各個傳感器合適的權重。這兩個方法均比較成熟,具體控制策略不再贅述,結合風扇的PID控制算法,以最終的功耗數據作為本次研究的對照組。
本次研究采用5組相同的服務器器件實時功耗數據作為輸入,每組服務器包含圖1中的4個高功耗部件。這些數據通過公式(1)與公式(2)的熱量傳遞模型,仿真出器件的實時溫度數據Tn與風扇帶走的熱量Q。
加權平均法:采用4個傳感器的溫度平均值作為輸入,結合PID控制算法輸出PWM占空比與風扇轉速,根據轉速核算出風扇的實時功耗。最小二乘法[9]:對于4個傳感器的溫度值采用最小二乘法進行處理,找出一個最優的溫度值Xi,結合PID控制算法輸出PWM占空比、風扇轉速與實時功耗。分析的結果如圖2所示(左側縱向坐標軸為5組模擬數據下的風扇功耗總值,單位W;右側縱向坐標軸為功耗降低的百分比)。從圖中可以看出,采用最小二乘法的數據處理策略相比采用加權算法的處理策略,風扇總功耗平均降低約1.1%。可見,最小二乘法的處理在節能上有一定的優勢。

圖2 加權平均法與最小二乘法的風扇功耗對比
卡爾曼濾波算法可用于動態環境中冗余傳感器信息的實時融合[10],它是一種利用線性系統狀態方程,通過系統輸入輸出觀測數據,對系統狀態進行最優估計的算法。
假設傳感器測量信息為Yi=(xi,yi,zi)T,其中i(i=1,2,…,n)為傳感器個數。數據進入融合中心后,融合中心會對這n組數據進行計算,得到的yf=fusion(Y1,Y2,···,Yn)。
以卡爾曼濾波目標跟蹤算法為例,系統的狀態方程和觀測方程如式(3)所示:
在仿真模型中,X(t)代表當前時刻的殼體溫度值,X(t-1)代表上一時刻的殼體溫度。卡爾曼濾波目標跟蹤算法是用t-1時刻的估計值去預測t時刻的Yf(t),然后用預測的值和實際觀測到的值進行比對,再用誤差修正t+1時刻的溫度值。本次研究中,將Kalman濾波與加權平均法、最小二乘法進行組合應用。
不同算法的組合應用,可以降低數據的處理冗余,消除不同算法之間的偏差對控制策略的影響。采用5組與上文相同的實時功耗數據,仿真程序先采用Kalman濾波對數據進行優化處理,然后將數據的加權平均值作為服務器風扇控制策略的依據。仿真結果如圖3所示(左側縱向坐標軸為5組模擬數據下的風扇功耗總值,單位W)。從圖中數據可以看出,先進行Kalman濾波再進行加權平均的數據處理策略,相比單純采用加權平均法的處理策略,風扇總功耗平均降低約2.1%;比單純的最小二乘法降低約1.0%左右,降幅效果比較明顯。

圖3 Kalman濾波+加權平均法與加權平均法的風扇功耗對比
在服務器的內部,器件殼溫取決于器件的實時功耗與被風扇帶走的熱量,是一個熱量累積值,不同控制算法在實施控制的過程中,具體部件的熱量累積值是實時波動的。圖4是Kalman濾波+加權平均法組合算法與加權平均法在同一組功耗數據情況下累積熱量的變化。因為波動的數值存在負值,因此采用同一組數據進行均方根后比較。對比可以看出,Kalman濾波+加權平均法組合算法在降低風扇功耗的同時,引起了熱量累積值的波動,也就是說,器件的殼溫波動要大一些。

圖4 Kalman濾波+加權平均法與加權平均法的累積熱量對比
采用與上文相同的5組實時功耗數據,仿真程序先采用Kalman濾波進行優化處理,然后再將數據通過最小二乘法優化處理,將最終結果作為服務器風扇控制策略的依據。仿真結果如圖5所示(左側縱向坐標軸為5組模擬數據下的風扇功耗總值,單位W)。從圖中可以看出,先進行Kalman濾波再進行最小二乘法的數據處理策略,相比單純采用最小二乘法的處理策略,風扇總功耗平均降低約2.47%。

圖5 Kalman濾波+最小二乘法與最小二乘法的風扇功耗對比
圖6是Kalman濾波+最小二乘法組合算法與最小二乘法在同一組功耗數據情況下的累積熱量變化。由圖6可知,使用Kalman濾波+最小二乘法組合算法,CPU累積熱量的波動相對較小。

圖6 Kalman濾波+最小二乘法與最小二乘法的累積熱量對比
在同一組功耗數據下,采用不同的控制方法,最終的節能效果排序如下:Kalman濾波+最小二乘法>Kalman濾波+加權平均法>最小二乘法>加權平均法。從分析的結果來看,Kalman濾波+最小二乘法組合算法相比單純的加權平均法能耗降低2.47%以上。在器件功耗剛性不變的前提下,僅僅通過算法的優化,功耗的降低幅度是比較理想的。
控制系統的作用不僅要關注功耗的節能狀況,還要關注芯片運行的可靠性。選擇控制系統中的一個處理器CPU1作為關注對象,采用Kalman濾波+加權平均法組合應用,與單純的加權平均法相比較,CPU1的殼溫對比如圖7所示(縱軸為殼溫值,單位℃;橫軸為時間t,單位min)。可以看出,Kalman濾波+加權平均法組合算法雖然節能效果明顯,但是CPU殼溫波動相對較大,溫度波動均方根差為2.056,加權平均法的殼溫波動均方根差為1.443。因為殼溫仍在許可的溫度范圍之內,所以對器件的可靠性無影響。在進一步優化算法時,要考慮減少器件殼溫的波動。

圖7 Kalman濾波+加權平均法與加權平均法的CPU殼溫變化
在雙碳目標的牽引下,服務器設備的低功耗運行將會成為重要的關注點。在不改變硬件本體的前提條件下,采用多個溫度傳感器,通過Kalman濾波、最小二乘法、加權平均法的組合應用,實現風扇系統的最優控制。采用Kalman濾波+最小二乘法組合算法相比傳統的加權平均法,在滿足服務器硬件熱點芯片正常工作的同時,風扇總功耗降低2.47%以上,具有較好的推廣與應用價值。