有關下一代有線和無線網路的文章並不少見。同時,對下一代網路必須支援的三重服務(triple play)和移動業務的重視也不可忽視。並且這些網路的設計和開發是非常有價值的。事實上,要求迅速提升性能,並以可接受的消費價位提供這些業務,將會是一個“不成功便成仁”的課題。所以,問題在於如何滿足如此迫切的需求?供應鏈將面臨哪些衝擊?
為了回答這些問題,我們必須首先概括說明下一代網路的需求。
下一代網路需求
下一代網路的主要推動者是語音、視頻和資料通信組合而成的即“三重業務”的增長,以及移動通信的快速擴充。三重業務服務將從根本上改變娛樂和資訊發佈管道。舉例來說,電信服務提供商可以與電視廣播和有線網在電視服務方面進行競爭,而有線和包交換網服務提供商(甚至是基於網路的拍賣行)將面臨提供語音通信服務電信服務供應商的挑戰。
網路性能、容量和服務需求的增長將導致爆炸性增長,這已被市場分析公司
Technology Futures的研究證實。分析預測,每秒24Mbps的接入將在2008年到2012年實現,2012年到2016年將達到100Mbps。
圖1:寬頻速率在家庭使用中的百分比
來源 Nominal Data Rate
僅利用成熟的技術,即之前的“標準操作程式”來擴張現有網路是應對指數呈增長趨勢的性能挑戰的一種明顯的方式。今天,業界的策略是跨躍10Gbps的包網路技術。如果在2000年,2.5 Gbps的背板資料傳輸速率已經足夠,而今天就需要20 Gbps、40 Gbps,甚至比16x更快的速度。而且,根據ATT 2006年第四季度的一項公告,業界必須計畫在2010年達到100 Gbps。
除了這些迫切的性能需求,網路必須從IPv4轉換到IPv6。IPv6的主要優勢是它可把網路位址的數量從232增加到 2128,,這種增長對未來防止網路擴張耗盡位址空間是非常必要的。這對於數量龐大且持續增長的消費群體尤其重要,因為他們攜帶的移動電話或其他的手持設備等都需要唯一的IP位址。
但是,“新”網路仍然必須建立在“舊”網路的基礎上,它是真正意義上擁有不同通信服務和協定的網路集群,比如千兆乙太網(GE)、10GE、通用組幀規程(GFP)、packet over SONET(POS)/點對點協議(PPP)、邊緣到邊緣的模擬(PWE3)、虛擬區域網路(VLAN)、虛擬專用區域網路服務(VPLS)、層次化 VPLS(H-VPLS)、區分服務(VLAN)、虛擬專用網路(VPN)、二層虛擬專用網(L2VPN)和三層虛擬專用網(L3VPN)。因此,網路必須保持充足的多業務交換能力,同時提供高度的可擴展性。
另外,服務和頻寬的主要擴張需要網路“邊緣”承擔現在網路“骨幹”執行多工。“邊緣”設備必須保證高品質服務(QoS),管理頻寬和負載均衡,支援VPN等服務。為了確保符合不同服務級別的協定,“邊緣”必須提供必要的高性能以支援不同級別和品質的服務和安全。因此,網路必須在“邊緣”進行更快和更多的驗證、策略查找和路徑選擇。
為了滿足這些性能和可擴展性需求,網路必須進化到一個新的架構,它要比以前的網路具有更高分散式智慧級別。
所以,哪種類型的矽解決方案可支持這種級別的分散式智慧呢?分散式決策的制定需要下一代網路處理器單元(NPU)的普遍部署,每個NPU都需要達到40 Gbps甚至更快的處理速度,根據資訊包處理任務進行具體的開發和最佳化。但是,要達到這個速度,NPU就必須卸載資訊封包處理不重要的功能。其中一個就是搜索功能。因此,解決方案必須採用下一代搜索加速器,以提供NPU所需的高搜索性能。
顯然,這兩個元件必須緊密結合。事實上,兩者可以整合在一個矽晶片內的解決方案內,前提是客戶能接受這種方法帶來的成本和功耗。最佳的方案是將元件整合在子系統內。圖2中藍色的交換機顯示了這些子系統的目標網站。
那麼,這兩個元件的重要特性是什麼呢?
元件的重要特性
為了滿足下一代網路的性能需求,網路處理器和搜索加速器必須:
* 支援高達40 Gbps彙聚和單通道傳輸線速,可升級到100 Gbps;
* 相容IPv4和IPv6,所以它們必須同時支持32位和128位的位址。
搜索加速器
為了滿足100 Gbps傳輸速率的要求,下一代搜索加速器必須以上一代加速器兩倍的傳輸線速運行。為了充分支持NPU,它也要達到每秒十億次的搜索速度。所以,搜索加速器必須採用一種比上一代更先進的架構。
上一代加速器的搜索性能可以簡單地通過增加時鐘頻率來提高。遺憾的是,這也會帶來功耗問題,在系統其他地方必須使用高成本的元件,同時會加劇信號扭曲和接地彈跳等信號完整性的問題,以及使信號終端匹配方法複雜化的問題。總之,電路板設計將變得更加複雜,材料成本也會增加。
直到最近,搜索加速器提供的最高搜索速度達到每秒2.5億次搜索(MSPS)。同時,通過並行多資料庫查找(SMDL)可以有效地提高每個指令的搜索速度,有時它被稱作並行處理。使用四倍SMDL,並且把介面位址從當前的72位“標準”擴展到80位位址寬,以支援IPv6的需求-大量更寬搜索字(key)的寬度查找,比上一代設備在性能上有巨大的提高。
表1顯示,搜索加速器在80和160位的搜索關鍵字寬度上能達到10億MSPS,可在更大搜索關鍵字寬度上達到先前業界標準的250 MSPS。
表2比較了下一代和上一代各種查找搜索加速器的搜索性能。可以容易地看到,下一代元件可在更長的位址字內實現前一代兩倍的基本搜索速度。需要注意的是,基本搜索速度是在沒有並行處理條件下的搜索速度。四倍SMDL的能力是這個速度的四倍。
表3顯示了IPv6查找速度提高後的結果。以前的72位元搜索加速器能以24 Gbps資料速率執行IPv6的五位元組查找,而下一代80位元加速器可以48 Gbps,甚至理論上96 Gbps的速度進行同樣的查找。
但是,基本搜索性能不只是唯一的問題。如果系統有穩定性、可用性和連續性的要求,搜索加速器也必須進一步增強NPU的性能。因此,它必須具有必須的匯流排奇偶性校驗和自動糾錯功能,以遵從嚴格的服務級別協定。
網路處理器
網路處理器必須為封包/幀識別、語法分析、管理/計量、標記、修正、分級流量管理、狀態和統計收集執行線速處理,還要管理全面的QoS。除了這些功能,網路處理器與搜索加速器要合作完成大量的封包的分類工作。為了滿足必要的性能和服務要求,NPU必須:
* 使用既能滿足現在性能要求和規模,又能升級以適應未來需求的架構;
* 整合必要的特性,支持所有要求使用QoS的網路服務;
* 在軟體靈活性和可編程能力方面取得理想的平衡。
為了達到這些性能需求,NPU必須克服傳統“sea of generic cores”和“pipeline of generic cores”的局限性。其中一個局限性是,單獨的generic cores不是為信息包處理應用而最佳化的,結果達不到需要的處理性能。另一個局限性是,NPU(多核心)總是受到內部匯流排競爭的影響,這不僅降低了線速性能,也嚴重破壞了可擴展性。擁有專屬資源的特殊應用處理器內核可同時滿足性能和可擴展性的要求。
流量管理是QoS的關鍵。為了保證品質,屬於多個類的流量必須被調度到相應的網路,使用靈活的調度運算,比如嚴格的優先權、weighted round robin加權輪換和加權公平佇列。此外,為了滿足服務品質協定(SLA),NPU 必須支持細粒度流量整形。因此,多媒體流量管理依賴於分類處理和修正策略,最終的流量管理將在網路處理中進行。所以,NPU和流量管理功能應緊密耦合,這比整合到同一個晶片更好。
為了在可利用的時間範圍內開發強大的NPU應用軟體,必須採用簡單的和易於理解的範例-C/C++ based APIs,與當前使用的通用微處理器相似的方法。必須學習一個新作業系統或特定晶片編程語言明顯是不可接受的。
策略合作是關鍵
如上所述,為了達到系統性能目標,NPU及其關聯的搜索加速器必須對包括硬體和軟體的子系統解決方案一起進行最佳化。這需要元件供應商之間的合作。
我們兩家公司已經面對團隊的挑戰。Bay Microsystems的網路處理器設計和IDT搜索加速器已為滿足下一代網路的需求專門進行了合作最佳化。
雖然基本上是“正常交易”,兩家公司以前還是有過成功的專案合作。但是,我們非常清楚,共同最佳化的目標只有通過緊密的合作才能實現,我們共同對解決方案負責。所以,兩家公司的高級管理層決議達成戰略合作關係,這不僅是當前加速器和NPU的當前需求,也是該系列產品未來的發展方向。
特別要注意的是,只有我們之間的法律協定才能協調我們與第三方的合作。合作協議本身完全是非正式的。所以,合作的成功要依靠共同的團隊“做正確的事,正確地做事”,有些事是法律協議無法保障的。
首先,我們互相進行早期產品計畫的溝通。這時的搜索加速器開發已經相當先進了,所以對NPU開發人員從哪里開始工作已經有了可靠的規範。
我們從設計流程的最頂端開始——網路的應用和服務需求。這些需求決定了子系統架構和NPU架構,以及它們的特點和時鐘要求。
一個重要的目的是為搜索加速器填滿每一個時鐘週期。因此,通過共同模擬兩個元件來規範和驗證,我們最佳化了子系統的性能和可擴展性,比如,搜索加速器的最大延遲。NPU也進行了功耗、可製造性、元件成本、引腳數和電路板面積的最佳化,從而領悟了與搜索加速器的合作關係,最終減少了客戶的總體擁有成本。
兩個元件之間I/O介面的選擇是子系統性能的關鍵。所以,在決定哪個高速收發器邏輯(HSTL)標準才是最佳化解決方法之前,我們模擬和分析了許多備選專案,比如時鐘速率和位元寬。這種系統級模擬可使團隊最大化性能和QoS因數,比如記憶體頻寬、優先順序確定、服務認證和其他各種必須支持的搜索類型。
此外,I/O介面的實現是在SPICE級模擬的。因此我們確信,在製作晶片原型之前,該介面可以同時滿足系統級和信號級的要求。
這樣嚴緊的共同模擬需要兩家公司模擬環境和元件模型的互操作性。搜索加速器的SystemC模型與NPU的C++模擬環境是不相容的。而且,模型的時序是建立在內部執行時間的基礎上,而模擬需要晶片的時鐘時序。所以,IDT修改了搜索加速器模型。Bay團隊也“socketized”了其模擬環境來接受加速器模型,在某種意義上使其不必修改環境來適應將來的模型變化。