BittWare的StreamSurge 100G网络实例介绍

BittWare提供StreamSurge,这是一个用于BittWare的XUP-P3R加速卡的100G网络负载测试应用。StreamSurge作为预编译的比特流免费提供给XUP-P3R用户,使该卡成为一个简单的网络测试解决方案,只需支付硬件成本。点击这里获得StreamSurge的应用说明。

为什么将FPGA用于网络测试?
已经有软件解决方案用于任何带宽的网络协议测试和高达10GbE的负载测试。但在25G和更高的带宽下,即使是最新的多核英特尔至强CPU也无法跟上,你需要专用的网络加速硬件。

由于GPU不适合用于数据包处理,选择范围缩小到NIC ASIC或FPGA解决方案。基于ASIC的设备的优点是它们提供25-100Gbps的速度,并有许多用于广泛测试的功能。然而,专用的100G设备是相当昂贵的,它们的成本可能是单个FPGA卡的许多倍。

此外,基于FPGA的解决方案可以以更低的成本设计出符合用户需求的功能。

BittWare建立StreamSurge的动机
在BittWare,我们内部对100G网络负载测试有两种不同的使用情况。

  • 为产品开发进行通宵、持续的集成测试运行
  • 在工厂车间进行制造测试
  • 这两种情况都需要多个100G测试器同时运行。虽然存在用于这些测试的ASIC测试器,但我们需要以非常高的单位成本(是XUP-P3卡价格的五倍或更多)购买几个。

    我们的解决方案是缩小测试所需的功能,以SmartNIC Shell为起点,我们建立了StreamSurge。

    它是如何工作的
    因为我们从SmartNIC Shell开始,我们已经有了垫圈和其他 "管道",以便在FPGA中操作数据包。此外,我们还使用了DPDK数据转换器与主机应用连接。这为我们节省了大量时间,让我们的团队专注于SmartNIC应用中的独特之处:网络负载测试。

    为了测试,我们需要在FPGA内创建一个数据包生成器,或者提供一种方法,使用FPGA播放或流式传输数据包,但要使用来自另一来源的数据包。我们选择了第二条道路,但同时启用了回放或流媒体。对于回放,用户首先从软件或ASIC源捕获数据包到PCAP文件。然后,StreamSurge可以从一个缓冲器中以线速度回放PCAP文件。

    对于流媒体,我们利用行业标准的DPDK主机接口。这使XUP-P3R在数据包生成软件中显示为一个普通的网卡,在发送和接收时都有时间戳。在XUP-P3上有一个大的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卡为100Gb/s的网络测试提供了一个合适的解决方案。对于卡的所有者,StreamSurge在BittWare开发者网站上以比特流的形式免费提供(与有限的芯片/卡配置子集兼容)。

    本文转载自:BittWare官网

    最新文章

    最新文章