板载以太网与英特尔网卡

板载以太网与英特尔网卡

我需要一些建议,了解使用专用英特尔以太网卡与仅使用主板集成以太网相比有哪些好处。典型的用例如下:

  1. 每条消息的有效负载约为 100 KB,
  2. 频率最高为每秒 1000 条消息,
  3. 理想情况下,这些消息的处理应该尽可能少地消耗 CPU 时间(CPU 将用于并行进程中的实时计算),
  4. 基于 Linux 的服务器。

对于集成以太网解决方案,我可以使用配备(集成)Intel I225V 或 Realtek RTL8125BG 的主流主板(非服务器级)。

对于具有外部 NIC 的解决方案,我正在考虑 Intel X550-T1。

那么,哪种解决方案更好?

如果专用卡更适合我的使用情况,应该优先使用哪个 PCI-express 端口?使用的端口是否应尽可能靠近 CPU?

答案1

板载和专用网卡之间的延迟没有差异。这两者都使用 PCI-express。专用网卡可能会连接到 CPU 中的内部 PCI-e 控制器。板载集成网卡可以连接到芯片组集成控制器,而不是直接连接到 CPU。但从网卡到内存的传输数据的延迟几乎没有差异。

如果您真的关心处理的性能和延迟,请检查以下几点:

  • 网卡使用 DMA 将数据传输到主内存,因此请使用频率最高的内存
  • PCI-e 的新版本更好(速度更快 - 传输数据的时间更短)
  • CPU 频率比核心数量更重要。
  • 在 NUMA 系统中,数据应在本地节点进行处理。
  • 不要忘记禁用省电功能
  • 使用带内核旁路功能的软件,如 Intel DPDK
  • 了解基于智能网卡或 FPGA 的 DPU 如何卸载处理

答案2

为了比较板载网卡和 PCIe 网卡,必须使用相同的 ASIC 型号和相同的固件来消除外部因素。基于此假设,让我们考虑X550-T1ASIC。影响板载网卡和 PCIe 网卡的一些因素包括

  1. 专用 PCIe 通道的数量。
  2. 访问 NIC 的 NUMA CPU 线程。
  3. 适用于板载 NIC 的固件(某些主板供应商只会提供定制固件)。
  4. 从 PCI 枚举中读取和写入缓冲区大小。
  5. 低延迟模式(例如 -a 0000:88:00.0,rx_low_latency=1)。

注意:所有其他因素(例如内存、CPU、磁盘、I/O、UNCORE)均与系统或 CPU 相关,并且不会影响板载与外部 PCIe NIC。

相关内容