使用優(yōu)化的數(shù)據(jù)包軟件降低網(wǎng)絡功耗
似乎每天都有新型可上網(wǎng)器件發(fā)布的消息。不管是智能手機、平板電腦、電子閱讀器,或者甚至是能連接網(wǎng)絡的電冰箱,基礎設置性能需求的增加,這些器件被賦予具有直接連網(wǎng)的功能。不管是在用戶端還是在數(shù)據(jù)中心級別,功耗是一個必須處于可控程度的領域,尤其是此需求仍在持續(xù)增加。
節(jié)能——一項系統(tǒng)的方法
在網(wǎng)絡系統(tǒng)平臺里有兩種基本的節(jié)能方式。第一種是通過核心技術篩選,選擇那些每瓦特能提供最優(yōu)化性能的適當?shù)脑?。這能減小電源的尺寸,且能減小總體的功耗。第二種方法基于應用的效率,以及如何用最小的功耗實現(xiàn)最大的性能,這使得節(jié)能不僅僅體現(xiàn)在總體的瓦數(shù)上,還體現(xiàn)在初始的成本上。
在任何計算平臺,最高的耗能原件之一都是處理器。在高性能的網(wǎng)絡應用中,速度和吞吐量是至關重要的,并且使用多個處理器是司空見慣的事情,這使得節(jié)能的挑戰(zhàn)更加嚴重。
增加時鐘頻率是提高處理器性能的傳統(tǒng)方法。然而,功耗與時鐘頻率的平方成正比,這項技術增加了功耗,是不實用的。
改進的每瓦特性能
隨著多核處理器架構的引入,處理器運行于更節(jié)能的時鐘頻率下,功耗問題得到改善。當某項應用可以邏輯地劃分為相互獨立的可管理的個體時,最重要的進步可以通過總體的系統(tǒng)吞吐量和功耗管理來取得。
圖1 每瓦功耗下CPU PassMark性能示例
對于網(wǎng)絡應用,數(shù)據(jù)處理和控制處理可以分開進行。多核處理器可以做到這一點,在總體每瓦特性能提升的同時維持功耗在可管理的級別。例如,Intel最新的Xeon 5600系列處理器——E5645,它具有六個處理器核,TDP僅有80W。
通過篩選恰當?shù)亩嗪颂幚砥?,我們已?jīng)解決了上面提到的節(jié)能方法的第一部分。第二部(提高效率)完全與軟件以及軟件如何使用相關。高性能的數(shù)據(jù)處理需要大量同時運行的個體被輪流管理,這就需要一種高效的數(shù)據(jù)包處理軟件解決方案。
軟件滿足功耗/性能的挑戰(zhàn)
操作系統(tǒng)及其堆棧網(wǎng)絡是數(shù)據(jù)包處理效率的主要約束因素。
優(yōu)化效率的關鍵是限制那些直接到達操作系統(tǒng)網(wǎng)絡堆棧的數(shù)據(jù)包。其中一種方法是通過將網(wǎng)絡執(zhí)行分成兩個層次。一種是較低的層次,為快速路徑,數(shù)據(jù)主體通過它來流動。這樣,輸入的數(shù)據(jù)包就可以在操作系統(tǒng)環(huán)境之外進行處理,且避免了操作系統(tǒng)的耗費。那些需要復雜處理過程的相對較少的數(shù)據(jù)包,例如必要的管理、信號以及控制功能等,可以送到操作系統(tǒng)網(wǎng)絡堆棧。
圖2 能量效率目標
用這種方法劃分數(shù)據(jù)包處理過程維持了標準操作系統(tǒng)應用界面,最小化或者說消除了對應用軟件功能性的影響。一項額外的好處是可移植性,因為不需要重寫或重新認證現(xiàn)有的應用。它們能快速運行僅僅是由于數(shù)據(jù)通過快速路徑形成數(shù)據(jù)包。
在給定了數(shù)據(jù)處理和軟件如何劃分的方式之后,就可以充分利用多核處理器??梢岳糜邢迶?shù)量的處理器核來運行操作系統(tǒng)的網(wǎng)絡堆棧,從而解放其他的處理器核以運行快速路徑的數(shù)據(jù)包處理。標準操作系統(tǒng)堆??缮炜s性的缺乏不再會沖擊系統(tǒng)性能,因為大多數(shù)的數(shù)據(jù)包不再會受限于不必要的延遲??焖俾窂降奶幚砥骱藢S糜趫?zhí)行那些能實際決定產(chǎn)品性能的功能。
每個網(wǎng)絡裝置都有不同的特性,然而已經(jīng)看見的是基于快速路徑概念的許多真實世界的例子在處理器子系統(tǒng)效率方面產(chǎn)生了7到10倍的改進。在一個典型的網(wǎng)絡基礎設施產(chǎn)品里,60%的功耗被處理器、內(nèi)存等原件消耗,其余功率被I/O、系統(tǒng)管理元件以及電源等消耗。因此,如果你能降低處理器的功耗到原先的1/7,這就意味著你可以節(jié)省大約1/2的系統(tǒng)功耗。
隨著處理器所消耗的功率極大地降低,系統(tǒng)電源的體積也可以減少。為了簡化起見,我們估計其節(jié)能比例約為4%。那么在維持應用性能和吞吐量保持不變的情況下,總體而言,整個系統(tǒng)的功耗大約降低了55%。這些內(nèi)容在論文的闡述里看似簡單,但是通過使用這些技術真能產(chǎn)生實際確鑿的節(jié)能目的嗎?
簡單的回答是:絕對可以?,F(xiàn)在已有許多的高性能數(shù)據(jù)包處理軟件解決方案。其中一個領先的供應商,即是6WIND,已經(jīng)通過其運行于獨立網(wǎng)絡處理平臺的6WINDGate產(chǎn)品展示了若干使用案例。其中一個案例是與Advantech這一通信與網(wǎng)絡計算設備領先制造商合作的成果。6WIND基于Advantech的NCP-7560 Packetarium平臺用96個處理器核,在橫貫8塊電路板上實現(xiàn)了這種解決方案。
圖3 6WINDGate軟件包是標準操作系統(tǒng)網(wǎng)絡堆棧的方便替代品
Packetarium系統(tǒng)的典型功率預算為250W+480W(8×60W,為每一個處理器電路板)=730W,并且包含了用于遠程系統(tǒng)管理和電源等模塊的功耗。6WINDGate安裝于標準Linux操作系統(tǒng)的網(wǎng)絡堆棧,并且測試了一個具有6個端口的應用。
結果顯示,只需要3塊網(wǎng)絡處理電路板就能達到原本需要8塊電路板才能實現(xiàn)的性能。這一數(shù)量的減少意味著減少了62.5%的處理負載。在系統(tǒng)級別,功耗相比原先的預算大約減少了55%。優(yōu)化的軟件能夠使得這一網(wǎng)絡應用的總體功耗從730W降低到僅有400W。從可預見的潛在的CAPEX減少,這樣的情況意味著節(jié)能40%。
圖4 Advantech的 NCP-7560 Packetarium平臺在8塊電路板上具有多達96個處理器核
因為大部分的網(wǎng)絡平臺運行在24×7的狀態(tài)下,潛在的能量和OPEX節(jié)省會非??捎^。就按照節(jié)能330W來算,這也意味著每天節(jié)能大約8kWh,或者說每年大約節(jié)能2890kWh。