You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

现代AMD/Intel CPU下同核心SMT/HT与跨核心线程原子操作竞争性能问询

同核心SMT/HT线程与跨核心线程原子操作竞争性能对比

针对现代AMD Zen2+、Intel Skylake+的消费级/服务器级x86 CPU,同核心的两个SMT/HT线程发生原子操作竞争时的性能,普遍显著优于绑定在不同核心上的线程竞争性能。

核心原因

  • 缓存一致性开销差异:同SMT线程共享核心的L1、L2缓存,原子操作涉及的缓存行仅需在单个核心内部同步,不需要触发跨核心的MESI缓存一致性RFO(所有权请求)操作,也不需要经过CPU内部的跨核心互联链路(Intel的环形总线、AMD的Infinity Fabric)通信,延迟大幅降低。跨核心竞争时,缓存行需要在多个核心的缓存之间来回迁移,每次竞争都会触发完整的一致性协议交互,开销极高。
  • 原子指令硬件实现差异:x86平台带lock前缀的原子指令(如lock inc、lock dec)、隐含锁语义的xchg等指令,在同核心SMT竞争场景下,硬件仅需临时暂停另一个同核心SMT线程的内存操作,完成原子指令后即可恢复,不需要和其他核心做任何交互,执行耗时和无竞争场景差距很小。
  • 实测性能差距参考:以单变量原子递增的竞争场景为例,同核心SMT两个线程的操作吞吐量通常是跨核心场景的310倍,操作延迟仅为跨核心场景的1/51/3,这个差异在近5年发布的AMD、Intel CPU上表现一致。

补充说明:该结论仅适用于多线程竞争同一个原子变量的场景。如果各线程操作独立的无共享原子变量,没有竞争存在,那么同核心SMT线程会因为共享核心的计算、缓存资源,性能反而低于跨核心部署的线程。

内容的提问来源于stack exchange,提问作者iam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.16 21:45:04