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

相关推荐
linweidong1 天前
多级缓存系统设计:从本地到分布式,打造高性能利器
分布式·缓存·消息队列·雪崩·java面经·击穿·消费端
Feng.Lee1 天前
聊聊高并发访问遇到过期的缓存项测试策略
功能测试·缓存·可用性测试·测试覆盖率
宁&沉沦1 天前
Nginx清除浏览器缓存的三个缓存响应头的关系详解
运维·nginx·缓存
山河亦问安1 天前
SpringBoot3整合JetCache缓存
缓存
一辉ComeOn1 天前
【大数据高并发核心场景实战】 数据持久化层 - 查询分离
java·大数据·数据库·elasticsearch·缓存·oracle
cookies_s_s1 天前
项目--缓存系统(C++)
c++·缓存
怪兽20142 天前
缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题
java·缓存·面试
Deamon Tree2 天前
Redis的过期策略以及内存淘汰机制
java·数据库·redis·缓存
weixin_46682 天前
Redis主从复制
数据库·redis·缓存
想名字好难啊竟然不止我一个2 天前
清除 Pip 缓存, 释放磁盘空间
python·缓存·pip