基于平臺(tái)FPGA實(shí)現(xiàn)流量管理和背板設(shè)計(jì)
平臺(tái)FPGA結(jié)合硬件并行處理、硬件-軟件協(xié)同子系統(tǒng)和IP內(nèi)核等技術(shù),為開發(fā)下一代業(yè)務(wù)流量管理系統(tǒng),實(shí)現(xiàn)分組處理、分類和策略、流量管理、背板通信和系統(tǒng)接口等功能提供了一種高性能的靈活平臺(tái)。
能夠產(chǎn)生營收的路由器需要一種技術(shù)平臺(tái),這種技術(shù)平臺(tái)既要能夠提供強(qiáng)大的分組處理能力(即使在最壞的流量情況下),又要能夠以較低的成本提供足夠的靈活性。FPGA技術(shù)的快速發(fā)展使得基于FPGA設(shè)計(jì)完整的路由器和交換刀片成為可能?,F(xiàn)在的平臺(tái)FPGA為實(shí)現(xiàn)分組處理、分類和策略、流量管理、背板通信和系統(tǒng)接口等功能提供了一個(gè)完整的平臺(tái)。
網(wǎng)絡(luò)處理
網(wǎng)絡(luò)處理器是高度優(yōu)化的用于處理網(wǎng)絡(luò)業(yè)務(wù)流的器件,與傳統(tǒng)的ASIC相比,具有產(chǎn)品上市時(shí)間快、靈活性高兩方面的優(yōu)點(diǎn)。網(wǎng)絡(luò)處理器抽取、分類和過濾輸入的位流,決定其目標(biāo)端口,并將數(shù)據(jù)分組轉(zhuǎn)發(fā)到交換矩陣,同時(shí)還提供可選的流量管理功能。
為達(dá)到分組處理所需要的性能,一些供應(yīng)商的解決方法是將功能(圖1)分成:
1.分類協(xié)處理器:將分組歸入某類業(yè)務(wù)流。
2.策略引擎:保證業(yè)務(wù)流實(shí)際使用的帶寬不超過其服務(wù)水平協(xié)議(SLA)中所分配的帶寬。策略通常在服務(wù)質(zhì)量(QoS)網(wǎng)絡(luò)邊緣執(zhí)行,違規(guī)的分組或者被丟棄,或者被打上標(biāo)記用于后續(xù)處理。
3.業(yè)務(wù)流量管理器:執(zhí)行相應(yīng)業(yè)務(wù)流的服務(wù)水平協(xié)議(SLA)。通常,來自遵守不同SLA的不同業(yè)務(wù)流的分組會(huì)被重新排序,有時(shí)其中有些分組會(huì)被丟棄。同一業(yè)務(wù)流中的分組不會(huì)被改變次序。
在網(wǎng)絡(luò)處理流程中,包括流量整形、隊(duì)列和調(diào)度在內(nèi)的流量管理功能是帶寬需求最密集的關(guān)鍵功能。流量整形幫助管理網(wǎng)絡(luò)擁塞和應(yīng)付網(wǎng)絡(luò)流量的猝發(fā)特性。隊(duì)列和調(diào)度引擎決定分組發(fā)送出去的時(shí)間和順序。它們通過創(chuàng)建層次化隊(duì)列來將業(yè)務(wù)流匯聚為類,將類匯聚為端口。層次的每一級(jí)可使用不同的隊(duì)列算法來確定不同業(yè)務(wù)流的優(yōu)先級(jí)。
典型情況下,流量管理器是獨(dú)立的芯片,根據(jù)分類器管理的策略集,執(zhí)行流量整形、排隊(duì)和調(diào)度功能。它們提供了細(xì)粒度的QoS控制并負(fù)責(zé)保證實(shí)現(xiàn)服務(wù)質(zhì)量協(xié)議。可能會(huì)需要一個(gè)外部處理器,用于設(shè)置或刪除業(yè)務(wù)流配置,此工作不需要逐個(gè)分組或信元處理。每個(gè)系統(tǒng)在流量管理協(xié)議、存儲(chǔ)器管理、凈荷、接口等方面都有所不同。典型的策略算法包括漏桶(leaky bucket)、令牌桶(token bucket)算法等。擁塞管理算法包括隨機(jī)早期檢測(cè)(RED)和加權(quán)隨機(jī)早期檢測(cè)(WRED)等。調(diào)度算法包括優(yōu)先級(jí)隊(duì)列(PQ)、公平隊(duì)列(FQ)、加權(quán)公平隊(duì)列(WFQ)和輪詢隊(duì)列(RR)等。
現(xiàn)有的網(wǎng)絡(luò)處理單元(NPU)器件很少能夠滿足性能要求,典型的Packet over SONET/SDHOC-48c流量管理器在入口和出口路徑需要有獨(dú)立的流量管理器,或者需要一個(gè)全雙工(5Gbps)的流量管理器?,F(xiàn)有的NPU器件還很少能夠支持所有需要的算法。而且,在ASIC方面的投資成本高昂。
平臺(tái)FPGA實(shí)現(xiàn)流量管理和背板設(shè)計(jì)
流量管理需要高性能、足夠的靈活性,并且要支持多種隊(duì)列和調(diào)度算法和協(xié)議以及多種存儲(chǔ)器類型和接口。平臺(tái)FPGA器件提供的下述特點(diǎn)為流量管理提供了關(guān)鍵優(yōu)勢(shì):
高速接口
1.多達(dá)24個(gè)嵌入式千兆位級(jí)收發(fā)器(MGT)支持高速傳輸(高達(dá)10.3125Gbps),同時(shí)抗噪聲能力更高、功耗更低并且可減少信號(hào)數(shù)量并降低電路板復(fù)雜性。
2.這些器件還支持17種單端和6種差分電平標(biāo)準(zhǔn),調(diào)度器需要使用的有:
A.用于成幀器和存儲(chǔ)器高速接口的HSTL
B.用于成幀器、存儲(chǔ)器和ASSP接口的SSTL
C.用于時(shí)鐘輸入/輸出的PECL
D.用于刀片或背板通信的LVDS/CML
E.用于實(shí)現(xiàn)與CPU芯片組接口的PCI
F.幾乎所有其它地方都可使用LVCMOS/LVTTL
3.提供大量封裝類型以及大量IO引腳數(shù)(最大1200),從而可滿足接口所需要的吞吐量要求 。
4.FPGA的每個(gè)引腳都支持?jǐn)?shù)字控制阻抗匹配(DCI)技術(shù),可減少成百/上千的片外端接匹配電阻,因此可以簡化電路板布局布線工作。因此可以減少電路板的層數(shù),縮短布線長度,從而可獲得更高的系統(tǒng)可靠性。
數(shù)字時(shí)鐘管理器(DCM)和時(shí)鐘分配樹
流量管理器需要連接多種外部器件,因此必須面對(duì)具有不同頻率的多個(gè)時(shí)鐘域。DCM可以補(bǔ)償由于時(shí)鐘傳輸延遲以及電路板布局限制所產(chǎn)生的信號(hào)畸變。通常每一外部高速接口使用一個(gè)DCM和時(shí)鐘樹。12個(gè)DCM提供了相位移動(dòng)和頻率合成能力,特別適合具有多個(gè)時(shí)鐘域和關(guān)鍵時(shí)序要求的系統(tǒng)。
DCM支持超過 400MHz的時(shí)鐘輸出,從而可支持領(lǐng)先的總線接口標(biāo)準(zhǔn),如RapidIO和SPI-4。DCM的數(shù)字化特點(diǎn)使其可不受系統(tǒng)溫度和電壓波動(dòng)的影響。DCM提供了一個(gè)可保證精確50/50占空比的零延遲時(shí)鐘緩沖。DCM可精確控制一個(gè)時(shí)鐘周期內(nèi)的相移,精度達(dá)到時(shí)鐘周期的1%,這對(duì)建立和保持時(shí)間的調(diào)整非常關(guān)鍵。DCM支持精確生成24MHz至420MHz范圍間的頻率。
塊RAM(BlockRAM)
超過10Mb嵌入式BlockRAM 對(duì)于存儲(chǔ)經(jīng)常訪問的對(duì)象非常理想,從而可以提高性能。嵌入式存儲(chǔ)器適用于多種應(yīng)用,如:存儲(chǔ)器的高速緩沖存儲(chǔ)器、存儲(chǔ)統(tǒng)計(jì)數(shù)據(jù)和臨時(shí)數(shù)據(jù)(Scratch pad)、存儲(chǔ)用于發(fā)送調(diào)度和存儲(chǔ)器管理操作的位圖、跨越時(shí)鐘域、以及片內(nèi)通信的彈性緩沖。
乘法器
流量管理器需要大量的算術(shù)運(yùn)算來完成分組調(diào)度計(jì)算。調(diào)度引擎需要大量的整數(shù)和浮點(diǎn)數(shù)間的乘法運(yùn)算(Tsi(t+)=Tsi(t)+Lpkt/rj)。典型的算法需要 100MHz性能的18位乘法運(yùn)算。平臺(tái)FPGA器件在單個(gè)器件中可提供高達(dá)556個(gè)運(yùn)行在300MHz以上的18×18乘法器。乘法器和邏輯資源配合可以設(shè)計(jì)出定制硬件加速器內(nèi)核,如加密、校驗(yàn)和計(jì)算以及DSP。
大量高性能的可編程邏輯資源(高達(dá)1千萬門)和布線資源
調(diào)度器以極高速度完成大量復(fù)雜的運(yùn)算。而且,操作數(shù)存儲(chǔ)在寄存器中。由于在每個(gè)周期都需要做出調(diào)度決策,需要采用深流水線,因此在處理數(shù)據(jù)風(fēng)險(xiǎn)時(shí),會(huì)嚴(yán)重降低處理效率。為了滿足這些設(shè)計(jì)目標(biāo),需要使用大量的片上觸發(fā)器。FPGA提供了超過 300MHz的邏輯性能,并為大量的寬數(shù)據(jù)通路和鏈接存儲(chǔ)提供了大量內(nèi)部互連線資源。
PowerPC 處理器、CoreConnect以及工具
現(xiàn)在的平臺(tái)FPGA嵌入了多達(dá)4個(gè)300MHz (420 D-MIPS) IBM PowerPC內(nèi)核來幫助實(shí)現(xiàn)諸如統(tǒng)計(jì)監(jiān)控、控制和異常處理等功能。整個(gè)解決方案包括:用于訪問外設(shè)的IBM CoreConnect總線;通過System Generator for PowerPC、GNU編譯器和軟件調(diào)度器工具鏈、風(fēng)河VxWorks、MontaVista HardHat Linux等提供的平滑硬件和軟件設(shè)計(jì)環(huán)境;同時(shí)還提供ChipScope Pro等調(diào)試工具。
本文結(jié)論
僅僅依賴蠻干的方法并不能滿足現(xiàn)代分組交換平臺(tái)的設(shè)計(jì)目標(biāo)。平臺(tái)FPGA器件的性能水平和特性,為構(gòu)建能夠盈利的路由器和交換機(jī)提供了一個(gè)強(qiáng)大的平臺(tái)。平臺(tái)FPGA結(jié)合硬件并行處理、硬件-軟件協(xié)同子系統(tǒng)和IP內(nèi)核等技術(shù),為開發(fā)下一代業(yè)務(wù)流量管理系統(tǒng)提供了一種高性能的靈活平臺(tái)。
評(píng)論