以太轉發(fā)技術的困境
衡量交換機性能的指標很多,如吞吐量、延時、可管理性、安全性等,而其中最本質的一點,則是交換機的轉發(fā)技術。
從多年前的十兆到百兆、千兆直至萬兆,以太網(wǎng)交換機的轉發(fā)能力在飛速發(fā)展,而ASIC芯片則是為以太交換機的轉發(fā)能力提供源動力的核心。隨著視頻、移動、BYOD、云計算、物聯(lián)網(wǎng)等業(yè)務的迅猛發(fā)展,以太網(wǎng)本身也在發(fā)生巨變。這種變化體現(xiàn)在以太網(wǎng)不僅要具備大規(guī)模轉發(fā)能力,且網(wǎng)絡本身要具備彈性、智能控制、管理簡易等特性,這就要求以太網(wǎng)交換機的功能要進行靈活、敏捷的擴充。目前,雖然交換機的功能已經(jīng)由最初的僅二層交換發(fā)展到全面支持路由交換,但需求仍然集中在為企業(yè)終端提供聯(lián)通性方面,不能滿足云計算下新業(yè)務的快速變化,其根本原因就在于ASIC芯片只能識別預先定義的協(xié)議類型且轉發(fā)流程固定。
ASIC的先天缺陷:固定架構無法隨需應變
圖1: ASIC芯片組成架構
ASIC面臨的最大挑戰(zhàn),就是無法靈活擴展。因為ASIC只能解析預先定義的應用協(xié)議,如果要支持新的應用協(xié)議,模塊內的數(shù)字電路必須重新設計,對芯片來說哪怕是增加一個寄存器,整個芯片就需要重新設計。這意味著,每新增一項業(yè)務就需要新增一個模塊,也就意味著整個芯片需要從頭再來。而一個芯片從設計到樣片返回,再從樣片測試到設備上市一般需要兩年以上的時間,這種開發(fā)模式阻礙了設備廠商對業(yè)務的快速響應。
于是,市場上就應運而生一種ASIC的替代方案——商用NP。那么,商用NP是否能夠補上ASIC的短板,成為一種理想的以太網(wǎng)交換機轉發(fā)核心呢?
商用NP:編程靈活,功耗較高
圖2: NP芯片組成架構
商用NP一般由五個部分組成:NPU、指令Memory、Table Memory(片內)、Packet Memory(片內)和Table DRAM(片外)。這種設計思路使每個模塊的靈活性得到了提高,但是,在實際部署業(yè)務時,需要細致地考慮如何進行業(yè)務流程切分,而每個NPU組的指令空間都是有限的,如果某個指令空間即將耗盡,則無法支持新的業(yè)務。如果業(yè)務切分不好,則會導致某些NPU組負載過重,產生業(yè)務處理瓶頸,所以實際上NP芯片的總體靈活性并沒有比ASIC提高多少,總體性能仍然不能令人滿意。
可編程ASIC的誕生,雖然在一定程度上緩解了業(yè)務擴展性的迫切需求,但可編程ASIC無法實現(xiàn)完全可編程,只能算是一個過渡方案。到底是繼續(xù)發(fā)展ASIC,還是采取其他的技術?交換機轉發(fā)芯片的前進之路究竟在何方?
ENP:性能和靈活性的完美結合
ASIC性能高、功耗小,但架構固化不靈活,無法適應企業(yè)IT應用的快速發(fā)展;商用NP雖然靈活,但性能和功耗卻成為瓶頸。針對這種現(xiàn)狀,華為公司立足于二十多年芯片研發(fā)積累,開創(chuàng)性地推出了以太網(wǎng)絡處理器ENP,其性能和功耗比平ASIC,同時具有商用NP的靈活性,是性能和靈活性的完美結合。該芯片具有以下一些卓爾不群的特點:
圖3: ENP芯片組成架構
完整的指令空間與硬加速,克服了商用NP的性能短板
ENP中的NPU與商用NP中的NPU有所不同,可訪問完整的指令空間,因此每個NPU組都能執(zhí)行從Parse到Modify的任何指令。這樣就不需要像商用NP那樣,將業(yè)務處理切分到不同的NPU組上,節(jié)省了開發(fā)過程,可以快速開發(fā)出新業(yè)務。另外,ENP采用了多線程技術,有效降低了IO訪問延時對NPU性能的影響。
華為SmartMemory,解決了內存訪問的性能瓶頸
商用NP或商用ASIC在架構上將計算與存儲嚴格分離開來,導致計算邏輯單元與存儲單元物理距離增大,計算單元和存儲單元交互增多,進而導致訪問延時大,功耗高。如果多個源對同一地址進行讀寫操作,為保證數(shù)據(jù)的一致性,必須鎖存地址,這樣很容易形成訪問瓶頸。針對這種情況,華為ENP集成了SmartMemory,讓存儲單元集成了一些計算和判斷處理的能力,用以減少主計算單元與SmartMemory之間的操作交互,大大提高了計算單元與存儲單元之間的訪問效率。
另外,SmartMemory還集成了華為自研的查找算法引擎(Search Engine)、協(xié)處理器(Co-Processor)和流量管理器(Traffic Management),囊括了商用NP或ASIC對內存操作的所有算法,如查找、運算、讀寫等等,可以被ENP任何功能單元(如流量限速、統(tǒng)計)所調用。
百萬級別流表,全面支持Hybrid Openflow
基于Hybrid Openflow的SDN網(wǎng)絡方案,采用Openflow和傳統(tǒng)路由雙平面來進行不同的轉發(fā)控制,用于傳統(tǒng)網(wǎng)絡向SDN進行過渡。通過可編程的方式和高達16M的流表資源,基于ENP的交換機可同時支持Openflow和傳統(tǒng)以太數(shù)據(jù)包轉發(fā),幫助用戶實現(xiàn)從傳統(tǒng)網(wǎng)絡向SDN的遷移 。
先進的降功耗措施使得ENP具有和ASIC比平的能耗表現(xiàn)
ENP可以從三個方面降低設備功耗。
首先,ENP集成度高,一個ENP可完成多個芯片的功能。交換機的功耗主要來源于設備內的芯片,芯片數(shù)量越多整機的功耗就越高。一般來說,完成大表項和大緩存功能需要用分離的兩個芯片來完成,一個完成轉發(fā),另一個用于報文緩存。而華為ENP將兩顆芯片集成為一顆芯片,有效地降低了功耗。
其次,通過業(yè)界先進的電壓控制器來減少靜態(tài)功耗。芯片的功耗由兩部分組成,一部分是靜態(tài)功耗,另一部分是動態(tài)功耗,前者占總體功耗的40%,后者占60%。靜態(tài)功耗與晶體管工作電壓成正比,晶體管工作電壓可根據(jù)各芯片在加工過程中形成獨特的電氣屬性來調整。
最后,可通過改變晶體管工作電壓和時鐘頻率來降低動態(tài)功耗。ENP集成華為獨創(chuàng)的測速器,可以檢測芯片內部流量,自動調整工作時鐘頻率。例如原有的時鐘頻率是400MHz,若降低到300MHz,則動態(tài)功耗會降低到原有的75%。另外,當流量減少時,還可以關閉空閑的NPU組來減少功耗。
選擇ENP 選擇未來
以太網(wǎng)在向更敏捷、更智能、更安全、更高速、更高服務品質的方向持續(xù)演進,新一代以太網(wǎng)產品和技術山雨欲來,靈活敏捷、智能應對業(yè)務需求是新一代以太網(wǎng)絡的核心競爭力。而以太網(wǎng)交換機對于數(shù)據(jù)、語音、通信、視頻、移動等綜合的敏捷支持迫在眉睫,華為站在市場前沿,以前瞻性創(chuàng)新為起點所帶來的ENP芯片,既能像商用ASIC那樣提供線速的轉發(fā)能力并保持低功耗,同時又比商用NP更靈活,必將重新定義以太網(wǎng)轉發(fā)技術,成為新一代以太網(wǎng)交換機的核心轉發(fā)技術標準。