實(shí)現(xiàn)多端口1Gbps和10Gbps TCP/iSCSI協(xié)議處理任務(wù)卸載解決方案
隨著數(shù)據(jù)中心網(wǎng)絡(luò)基礎(chǔ)設(shè)施逐步升級到10Gbps,讓基于以太網(wǎng)的解決方案承載數(shù)據(jù)業(yè)務(wù)成為一種經(jīng)濟(jì)可行的方法,并且不會降低性能,延長時延?;谟布闹鳈C(jī)接口(如PCI Express 和千兆級以太網(wǎng)(GbE)),為設(shè)計(jì)面向計(jì)算機(jī)和數(shù)據(jù)處理市場的低成本、高性能產(chǎn)品創(chuàng)造了可能性。Xinlinx Virtex-5 現(xiàn)場可編程門陣列(FPGA)系列,為設(shè)計(jì)具備更強(qiáng)功能和更低功耗的片上系統(tǒng)(SoC)解決方案奠定了基礎(chǔ)。
本文引用地址:http://m.butianyuan.cn/article/201809/388800.htmVirtex-5 架構(gòu)具有一系列關(guān)鍵特性,能夠大大簡化TCP和iSCSI 卸載引擎的SoC設(shè)計(jì):
內(nèi)置PCI Express(PCIe)模塊——一種符合PCIe規(guī)范的集成端點(diǎn),支持一至八個通道,能夠提供高達(dá) 32Gbps 的全雙工帶寬。
內(nèi)置千兆位級以太網(wǎng)媒體接入控制器(GEMAC)——四個硬核GEMAC,為實(shí)現(xiàn)多端口千兆位級解決方案創(chuàng)造了條件,從而減少了SoC設(shè)計(jì)的板卡空間要求。
真正的6輸入查找表(LUT)技術(shù)——提高對單元的利用率,縮短路由時延,從而提高性能。
36-Kb 雙端口 block RAM——帶有糾錯電路、存儲密度更高的存儲器,為實(shí)現(xiàn)可靠的計(jì)算邏輯結(jié)構(gòu)和增加同步收發(fā)操作的片上TCP會話數(shù)量創(chuàng)造了條件。
DSP48E單元——支持面向圖像處理和多媒體應(yīng)用的大規(guī)模并行運(yùn)算模式。
由于 Virtex 系列是一種可編程平臺,您可以根據(jù)不斷變化的標(biāo)準(zhǔn)和市場要求調(diào)整自己的設(shè)計(jì)。借助 Virtex-5 系列所提供的資源,設(shè)計(jì)人員可以為服務(wù)器、存儲器、多協(xié)議交換機(jī),以及生命周期更長的無線基站創(chuàng)建成本低廉的TCP和iSCSI卸載解決方案。
TCP卸載引擎(TOE)概述
當(dāng)前的TCP卸載解決方案主要依賴于完整的軟件堆?;蚧贏SIC(用于TCP/IP協(xié)議處理)的專用網(wǎng)卡(NIC)。軟件解決方案對于低帶寬應(yīng)用是可行的,但高性能應(yīng)用會消耗所有 CPU 資源,結(jié)果形成了關(guān)鍵應(yīng)用的系統(tǒng)瓶頸。
基于ASIC的解決方案一般由初創(chuàng)公司提供,主要面向高性能 10Gbps市場。這些解決方案的價(jià)格仍然不菲,而且提供它們的廠商的財(cái)務(wù)狀況不甚穩(wěn)定。
Xilinx及其第三方IP合作伙伴可提供完全符合 TCP/iSCSI規(guī)范的卸載解決方案。您可以在不加改動的情況下輕松實(shí)現(xiàn)這些解決方案,或者按照所要求的功能、尺寸、速度或目標(biāo)應(yīng)用對其進(jìn)行定制設(shè)計(jì)。
基于FPGA的TCP/iSCSI引擎
內(nèi)置標(biāo)準(zhǔn)化 GEMAC、PCIe核以及容量更大的 Block RAM的Virtex-5器件是一種可編程平臺芯片,系統(tǒng)架構(gòu)設(shè)計(jì)師可利用它輕松完成TCP和iSCSI協(xié)議處理設(shè)計(jì),而不用擔(dān)心網(wǎng)絡(luò)或主機(jī)接口側(cè)的串行連接問題。以下是協(xié)議處理任務(wù)卸載設(shè)計(jì)中經(jīng)常遇到的一些難題:要支持的TCP連接的數(shù)量、TCP數(shù)據(jù)包重組/重排序、IP 數(shù)據(jù)包分片和重組、時延、片上和片外TCP會話管理之間的關(guān)系。
有了Virtex-5 器件的獨(dú)特功能以及 IP 核,所有這些問題都可以迎刃而解。借助內(nèi)置GEMAC 和PCIe接口,您只需最少的 FPGA 資源即可實(shí)現(xiàn)直接內(nèi)存存取解決方案,從而縮短了內(nèi)存存取時延,并且在無需調(diào)用臨時內(nèi)存的情況下即可實(shí)現(xiàn)TCP封包重組。Virtex-5 FPGA 還搭載了一個 36-Kb 雙端口 block RAM,從而使您可以支持的TCP連接數(shù)量倍增。借助 Xilinx 的LogiCORE高速存儲控制器,您可以使用外部DDR2內(nèi)存來擴(kuò)充TCP會話管理功能。讓我們來看看基于 FPGA 的網(wǎng)卡設(shè)計(jì)可以節(jié)約哪些資源。
1Gbps和10Gbps網(wǎng)卡解決方案
面向 IP 存儲和刀片服務(wù)器的集成式多端口1Gbps和 10GbpsTCP卸載網(wǎng)卡(NIC),能夠讓制造商充分利用網(wǎng)絡(luò)設(shè)備進(jìn)行業(yè)務(wù)存儲。圖1提供了一個典型的基于 FPGA 的NIC設(shè)計(jì)。
取決于所使用的 IP 核的數(shù)量,該設(shè)計(jì)可采用多達(dá) 20,000 個單元。Virtex-5 LXT 平臺可將資源占用率降低一半,這樣,您就能在不降低性能的情況下,創(chuàng)建一個低成本的解決方案。除提高硬件效率外,系統(tǒng)架構(gòu)師還可以降低 NRE 成本,因?yàn)樵谠O(shè)計(jì) GbE 和PCIe高速I/O接口時,無需使用 NRE。圖2提供了一個借助 Virtex-5 系列的內(nèi)置資源,對TCP卸載 NIC 進(jìn)行重新設(shè)計(jì)的示例。
結(jié)論
有了第三方廠商提供的在 Xilinx FPGA上實(shí)現(xiàn)的符合TCP和 iSCSI 標(biāo)準(zhǔn)的卸載 IP 核,現(xiàn)在您能夠以更低的開發(fā)成本,設(shè)計(jì)出通用或定制化片上系統(tǒng)。利用 Virtex-5 LXT 平臺——搭載增強(qiáng)型GEMAC和PCIe端點(diǎn)模塊、容量更大的 block RAM,以及6輸入查找表——實(shí)現(xiàn)面向服務(wù)器、存儲器、多協(xié)議交換機(jī),以及無線基站產(chǎn)品的復(fù)雜協(xié)議處理任務(wù)卸載解決方案,可以大大減少 FPGA 資源占用量。
評論