今天我学了什么

ADoyle 的碎片化知识笔记。 博观而约取,厚积而薄发。

TagsRSSGithub

关系图谱

首页

❯

计算机

CPU 伪共享 (CPU Cache Line False Sharing)

创建时间:2020/09/10更新时间:2020/09/10110 个字1分钟读完

也称 Cache Line Bouncing。

检测方法

perf c2c 命令。详见这篇文章

解决方案

缓存行填充(也称缓存行对齐)。增加无意义的变量声明,增加冗余空间来填充到一个 Cache Line 的长度。

Java 提供了 @sun.misc.Contended 注解来自动填充。
Go 提供了 CacheLinePad 来填充。

参考资料

  • 杂谈 什么是伪共享(false sharing)? (链接备份)
  • Cache False Sharing Debug (链接备份)

  • 检测方法
  • 解决方案
  • 参考资料

反向链接

  • CPU 缓存

关系图谱

Copyright 2016-Now ADoyle (adoyle.h@gmail.com). All Rights Reserved. ADoyle 保留所有权力。
转载本站文字需要注明署名和来源链接。版权归 ADoyle 所有。如有违反,虽远必诛。
本站源码 adoyle-h/Today-I-Learned。觉得好请点个 Star。
若有意见或问题,请你发到讨论区,并遵守我的交流规约。