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

相关推荐
千宇宙航7 小时前
闲庭信步使用图像验证平台加速FPGA的开发:第九课——图像插值的FPGA实现
图像处理·计算机视觉·缓存·fpga开发
全栈凯哥8 小时前
20.缓存问题与解决方案详解教程
java·spring boot·redis·后端·缓存
Hellyc15 小时前
用户查询优惠券之缓存击穿
java·redis·缓存
鼠鼠我捏,要死了捏17 小时前
缓存穿透与击穿多方案对比与实践指南
redis·缓存·实践指南
汤姆大聪明1 天前
Redis 持久化机制
数据库·redis·缓存
kk在加油1 天前
Redis数据安全性分析
数据库·redis·缓存
hcvinh2 天前
CANDENCE 17.4 进行元器件缓存更新
学习·缓存
墨着染霜华2 天前
Caffeine的tokenCache与Spring的CaffeineCacheManager缓存区别
java·spring·缓存
weixin_438335402 天前
Redis:分组与设备在 Redis 中缓存存储设计
redis·缓存·bootstrap
秋也凉2 天前
redis的命令集合
数据库·redis·缓存