高L3缓存失误影响(DPDK)pkt转发AMD CPU

发布于 2025-02-04 07:09:21 字数 657 浏览 5 评论 0 原文

在运行基于DPDK的转发/路由应用程序时,我在AMD上看到了很高的L3缓存。我的应用程序由PKT民意线程(例如P1)和两个Worker线程W1和W2组成。 P1将NIC和Sprake数据包进行轮询为W1或W2。工人从事固定的数据包作业,并将其发送回P1进行发射。 在AMD 7702上,我无法越过22MPPS,并且在AMD 7542上只有15MPP。 将此与Intel Xeon 6248R进行比较,对于同一应用程序,我可以得到约40毫米。这里的NIC Mellanox Connectx-5双端口100Gbps。

另外,即使我只是将数据包放在RX本身上,我也会看到L3缓存错过。因此,我们在PKT Poll Thread中立即进行数据包RX,并立即将所有内容释放。即使那样,我注意到了很高的L3高速缓存。顺便说一句,这在同一线程中。 我什至尝试过运行testpmd,但不要超过35MPP。相比之下,该文档中的数字看起来很不知所措(尽管硬件是不同的)。

I am Seeing a very high L3 cache misses on AMD while running DPDK based forwarding/routing applications. My application consists of an Pkt Poll Thread (say P1) and two Worker Threads W1 and W2. P1 polls the nic and sprays packets to W1 or W2. The Worker does fixed packet jobs and send it back to P1 for transmit back.
on AMD 7702 i am not able to cross 22Mpps and on AMD 7542 its just 15Mpps.
Compare this to Intel Xeon 6248R, for the same application, i can get ~40Mpps. The NiC here mellanox ConnectX-5 dual port 100Gbps.

Also i am seeing L3 cache misses even if i simply drop packets at Rx itself. So we do packet rx and immediately free all of them in the Pkt Poll thread. Even then i am noticing very high L3 cache misses. This is in the same thread by the way.
I have even tried running testpmd but dont get beyond 35Mpps. The numbers in this doc look quite overwhelming in comparison (although the hardware is different).

https://fast.dpdk.org/doc/perf/DPDK_19_08_Mellanox_NIC_AMD_performance_report.pdf

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文