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