超线程打开与关闭对执行效率的影响

超线程打开与关闭对执行效率的影响在做 DPDK 开发时许多人对于 CPU 的超线程是否打开是迷惑的 intel 在 DPDK 的叙述中也没有明确的说法 至少我没看到 在这里我通过理论分析和实际工程试图说明白这个问题 一个核开启两个线程必然是共同竞争同一个核的硬件资源的 因而理论上说开

欢迎大家来到IT世界,在知识的湖畔探索吧!

在做DPDK开发时许多人对于CPU的超线程是否打开是迷惑的,intel在DPDK的叙述中也没有明确的说法(至少我没看到)。在这里我通过理论分析和实际工程试图说明白这个问题:一个核开启两个线程必然是共同竞争同一个核的硬件资源的,因而理论上说开启多线程会让执行效率降低。但实际情况如何呢?我在用DPDK做网络数据包收发和查表处理时,发现我写的程序是关闭超线程性能更好;在用DPDK做网络数据包收发和查表且使用Hyperscan进行包内容匹配时刚开始发现打开超线程性能更好,这让我怀疑整个处理流程存在较大的“锁开销”造成的,通过优化了流程,将一些比较明显的锁逻辑做了优化,发现关闭超线程性能更高了!这才是符合我的认知的:并行性优良的程序会高效的使用一个核的硬件资源,如果在这样的情况下开启超线程反而是帮倒忙:将处理平摊到两个超线程上 核的运算能力平均分给每个线程 但线程之间总存在调度开销的 无形中损失了核资源。而并行性不好的程序,比如并行优化不好或者确实存在必须串行的逻辑,则开启超线程性能会更好。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/145936.html

(0)
上一篇 9小时前
下一篇 10分钟前

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信