【翻译】split lock检测与处理
本文在解读 https://lwn.net/Articles/790464/ 的基础上,加入自己理解,与原文存在差异。
从地址不对齐访问到split lock
Intel CPU微架构允许不对齐的内存访问,但ARM、RISC-V等架构却不允许。在众多的不对齐中,一个特殊的场景是:原子操作的操作数(由于地址不对齐)跨越两个cache lines,Intel将之叫做split lock。它有两个特征:
- 原子操作,即汇编指令包含Lock前缀;
- 操作数地址不对齐,还跨越两个cache lines;
其实大部分吃瓜群众都不知道这个特性,但是它却对应用性能影响极大。最近,Intel工程师Fenghua Yu同学正在开发一组内核补丁,用于检测和处理split lock,现在已经发出了第8版code review。阿里巴巴在多年前就意识到split loc
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
殷浩详解DDD系列 第二讲 - 应用架构
第二讲 - 应用架构 架构这个词源于英文里的“Architecture“,源头是土木工程里的“建筑”和“结构”,而架构里的”架“同时又包含了”架子“(scaffolding)的含义,意指能快速搭建起来的固定结构。而今天的应用架构,意指软件系统中固定不变的代码结构、设计模式、规范和组件间的通信方式。在应用开发中架构之所以是最重要的第一步,因为一个好的架构能让系统安全、稳定、快速迭代。在一个团队内通过规定一个固定的架构设计,可以让团队内能力参差不齐的同学们都能有一个统一的开发规范,降低沟通成本,提升效率和代码质量。 在做架构设计时,一个好的架构应该需要实现以下几个目标: 独立于框架:架构不应该依赖某个外部的库或框架,不应该被框架的结构所束缚。 独立于UI:前台展示的样式可能会随时发生变化(今天可能是网页、明天可能变成console、后天是独立
- 下一篇
如何打破边界,接入各家云,使用阿里云的数据产品作游戏数据分析?
背景: 某某游戏公司的业务逻辑图,其实可以从中发现这基本上跟大多数的游戏公司一样,通过阿里云作数据分析,其他云作数据接入。原因在于阿里云的数据产品比较贴合使用习惯、全面丰富的良好产品体验。 但是,接入的通路问题,采集问题,甚至集成问题,都是困扰一大部分用户的。这篇文章,就是希望打开这方面的脑洞。细化到网络层面,组件层面,使用方式等,做一次分析。 网络层: 一般游戏发行商,会接入到各个地区。因为不同类型的游戏都有主打开拓市场的区域。那这个时候不同游商在某些区域有数据中心,这个就显得很重要。 但是某一家云商不可能在全世界任何一个地方都有数据中心,所以当某家云不在某某区域有数据中心,他的网络接入能力就显得尤为重要。这个时候,可以分别借力阿里云的网络能力,比如没有点的地方采用全球加速,有点之间的连接就采
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS8编译安装MySQL8.0.19
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS关闭SELinux安全模块
- MySQL8.0.19开启GTID主从同步CentOS8
- 设置Eclipse缩进为4个空格,增强代码规范
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Docker快速安装Oracle11G,搭建oracle11g学习环境