RSS不使用超线程的CPU
……早上在网上闲逛,突然看到这样一段话。这样说来,如果有网卡有带RSS功能,是不是要把CPU的超线程给关掉才能享受到这个功能呢? 开超线程对rss有正面贡献。本质上,对于IO密集型应用,超线程都是有益的。然而,要特别注意两点。首先,对于每一个网络设备,要分配同一cpu物理以及逻辑核心。其次,要保证所有核心都在同一numa节点之下(仅针对多cpu系统) summerq 发表于 2024-4-1 00:33
开超线程对rss有正面贡献。本质上,对于IO密集型应用,超线程都是有益的。
然而,要特别注意两点。首先,对 ...
不是的!原话是这样:”RSS是一种网卡驱动技术,能让多核系统中跨多个处理器的网络收包处理能力高效能分配。
注意:由于同一个核的处理器超线程共享同一个执行引擎,这个效果跟有多个物理核的处理器不一样。因此,RSS不能使用超线程处理器。”
这样说来,RSS功能应该是完全不使用打开超线程功能的CPU hekmbahh 发表于 2024-4-2 09:09
不是的!原话是这样:”RSS是一种网卡驱动技术,能让多核系统中跨多个处理器的网络收包处理能力高效能分 ...
你应该读一些有实际测试的案例,譬如这个
https://fast.dpdk.org/doc/perf/DPDK_23_03_Intel_NIC_performance_report.pdf
summerq 发表于 2024-4-2 09:27
你应该读一些有实际测试的案例,譬如这个
https://fast.dpdk.org/doc/perf/DPDK_23_03_Intel_NIC_perform ...
这样说来,就是放心大胆的用咯。 hekmbahh 发表于 2024-4-2 14:38
这样说来,就是放心大胆的用咯。
我有些经验。就是网卡再分配cpu到rss queue的时候,每一个端口要成对配置一个物理核心和一个超线程核心,而不能够一个网口全部物理核心,另一个网口全部超线程。我曾经看过dpdk的一些文章,说由于同一个物理核心和超线程共享cache,因此对于IO密集型应用有正向贡献,性能提高大约20%。既然如此,那么为何很多文章都说要关闭超线程呢?因为大部分应用都不是跑在裸金属上,而是虚拟机中。此时cpu内核绑定之后,vm里无法区分是物理还是超线程核心,这样就会造成每一个网口的rss绑定混乱。总之简单的说,裸金属开超线程,vm就关闭 summerq 发表于 2024-4-2 15:00
我有些经验。就是网卡再分配cpu到rss queue的时候,每一个端口要成对配置一个物理核心和一个超线程核心, ...
懂了,谢谢 最近了解了一下这部分内容,RSS的核心是MSI-X的中断能够均衡的打到local apic中去响应并且多个cpu core均衡的执行中断handler,而超线程也有物理上的local apic,那MSI-X打中断这部分当然是没问题的(参考:https://juejin.cn/post/7317928251855224847)。
所以在host下是完全没问题的。
vm场景#6楼分析的很好了。
页:
[1]