cache coloring 缓存着色

cache coloring虽然实现起来很复杂,但其原理很简单。 下面我用几句话简单说明cache coloring的原理:

  • 颜色(color)是物理 page 的颜色。
  • 缓存一个page需要使用一些连续的set,这些set的集合叫做 cache bin。 使用相同 cache bin 的 pages 具有相同的颜色。
  • 物理地址 bits[y-1:12] 值相同的所有 page 具有相同的 color 。(为什么是12,因为假设使用4KB page)
  • 物理地址的 bits[y-1:12] 也叫做 color bits 或 cache bin bits 。
  • 至此,我们可知,系统中全部的物理内存页就都有了颜色。
  • Hypervisor为VM分配物理内存页时,每个VM使用不同颜色的物理内存,就可以避免VM之间互相踩踏对方的cache。(因为不同颜色的物理内存页的cache一定在不同的set中。)
  • OS在为进程分配物理内存页时,每个进程使用不同颜色的物理内存,可以避免进程之间互相踩踏对方的cache。

关于cache的基本概念参考上一篇https://blog.csdn.net/power1952/article/details/136472919

相关推荐
杨运交13 小时前
[020][缓存模块]基于 BeanCreator 的缓存管理器创建器模式设计与实践
java·spring·缓存
开开心心loky13 小时前
[OC 底层] (三) 方法缓存与消息发送机制
macos·ios·缓存·objective-c·cocoa
kyrie学java13 小时前
多级缓存
缓存
YL2004042615 小时前
【Redis基础篇】Redis常见命令
数据库·redis·缓存
Jing_jing_X15 小时前
DeepSeek 的上下文缓存是什么?它和程序里的 Redis 缓存一样吗?
redis·spring·缓存·ai
ujainu小16 小时前
CANN hixl:大模型 PD 分离场景的零拷贝通信库
android·java·缓存
共绩算力17 小时前
无服务器冷启动:HF 缓存与预计算哈希
人工智能·缓存·serverless·哈希算法·共绩算力
今天背单词了吗98017 小时前
缓存与数据库双写不一致问题及终极解决方案(高频面试题)
java·数据库·学习·缓存
TheWolfsfaith18 小时前
Redis服务键控建通知安装
数据库·redis·缓存
字节高级特工18 小时前
Redis事务:简单但实用的打包执行
数据库·redis·后端·缓存