白皮書
BittWare的StreamSurge 100G網路示例簡介
概述
BittWare提供StreamSurge,這是一個用於BittWare的XUP-P3R加速器卡的100G網路負載測試應用程式。StreamSurge 作為預編譯的比特流免費提供給 XUP-P3R 擁有者,只需硬體成本即可將卡變成簡單的網路測試解決方案。按兩下此處獲取 StreamSurge 的應用說明。
為什麼選擇 FPGA 進行網路測試?
軟體解決方案已經存在,可用於任何頻寬的網路協定測試和高達 10 GbE 的負載測試。但是,在 25G 及更高的情況下,即使是最新的多核 Intel Xeon CPU 也無法跟上,您需要專用的網路加速硬體。
由於 GPU 不適合數據包處理,因此選擇範圍縮小到 NIC ASIC 或 FPGA 解決方案。基於 ASIC 的設備的優勢在於它們提供 25-100 Gbps 的速度,具有許多功能,可用於廣泛的測試。然而,專用的100G設備非常昂貴,它們的成本可能是單個FPGA卡的很多倍。
此外,基於FPGA的解決方案可以以更低的成本設計出滿足使用者需求所需的功能。
BittWare構建StreamSurge的動機
在BittWare,我們內部有兩個不同的用例用於100G網路負載測試:
- 一夜之間,持續集成測試運行產品開發
- 在工廠車間進行製造測試
這兩種情況都需要同時運行多個 100G 測試儀。雖然存在用於這些測試的ASIC測試儀,但我們需要以非常高的單位成本(XUP-P3R卡價格的五倍或更多)購買幾個。
我們的解決方案是縮小測試所需的功能範圍,並使用SmartNIC Shell作為起點,我們構建了StreamSurge。
工作原理
因為我們從SmartNIC Shell開始,所以我們已經有了墊圈和其他“管道”,以便在FPGA中操作數據包。此外,我們還使用 DPDK 資料行動器與主機應用程式進行互動。這為我們節省了大量時間,讓我們的團隊專注於此 SmartNIC 應用程式的獨特之處:網路負載測試。
為了進行測試,我們需要在FPGA內部創建一個數據包生成器,或者提供一種使用FPGA但使用來自其他來源的數據包來播放或流式傳輸數據包的方法。我們選擇了第二條路徑,但同時啟用了播放或流式傳輸。對於播放,使用者首先從軟體或ASIC源捕獲數據包到PCAP檔。然後,StreamSurge 可以從緩衝區以線速播放PCAP檔。
對於流式傳輸,我們使用行業標準的 DPDK 主機介面。這使得XUP-P3R看起來像數據包生成器軟體的常規NIC卡,在發送和接收時都有時間戳。在XUP-P3R上,有一個具有以下功能的大型DRAM緩衝區:
- 增加了在傳輸緩衝區填滿時暫停傳輸的功能
- 增加了迴圈傳輸緩衝區以進行無限長負載測試的功能
- 增加了在傳輸時更改幀間間隙 (IFG) 的功能
- 添加將傳輸時間戳應用於數據包有效負載的功能,以實現延遲和抖動測量
為了與StreamSurge介面,我們創建了“streamcli”DPDK應用程式。此命令行工具控制上述所有硬體功能。此外,它可以將數據包接收到PCAP檔中,傳輸PCAP檔,並可以使用基於IETF RFC 2544和ITU-T Y.1564測試神話的模式填充數據包緩衝區
我們有一個視頻顯示StreamSurge使用兩個XUP-P3R卡運行,與GPS原子鐘同步,並設置為測量卡之間設備的延遲。
結論
對於網路數據包處理,BittWare的FPGA解決方案可以説明CPU性能受限,並且基於ASIC的解決方案要麼不可用,要麼不可行,要麼對於所需的應用來說過於昂貴。在這種情況下,基於ASIC的設備具有足夠的功能,但設備成本限制了持續集成測試或製造測試的功能。
相反,BittWare XUP-P3R卡為100 Gb/s的網路測試提供了合適的解決方案。對於卡擁有者,StreamSurge 在BittWare Developer網站上作為比特流(與晶片/卡配置的有限子集相容)是免費的。
我們提供了有關StreamSurge的更多詳細資訊,可免費下載應用說明;今天通過下面的表格獲取!
還有更多內容要閱讀:獲取 StreamSurge 應用說明
請求 PDF 下載
你在這個頁面上看到的是BittWare的StreamSurge的介紹 。完整的應用說明中還有更多細節!填寫表格以請求訪問完整應用筆記的PDF版本。
“*”表示必填欄位