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

相关推荐
zym大哥大1 天前
Redis-List
数据库·redis·缓存
银迢迢1 天前
redis项目知识体系
数据库·redis·缓存
曾几何时`1 天前
链表OJ(十六)146. 模拟LRU 缓存 双向链表+哈希
链表·缓存·哈希算法
程序员水自流1 天前
MySQL InnoDB存储引擎缓存刷盘CheckPoint技术底层实现原理详细介绍
数据库·mysql·缓存
半截詩1 天前
苍穹外卖-Day7(缓存菜品/套餐,清除缓存)
缓存
技术猴小猴1 天前
如何使用Python实现LRU缓存
python·spring·缓存
Roye_ack1 天前
【黑马点评 - 实战篇01】Redis项目实战(Windows安装Redis6.2.6 + 发送验证码 + 短信验证码登录注册 + 拦截器链 - 登录校验)
数据库·spring boot·redis·缓存·mybatisplus·session·黑马点评
智海观潮2 天前
Spark RDD详解 —— RDD特性、lineage、缓存、checkpoint、依赖关系
大数据·缓存·spark
野犬寒鸦2 天前
从零起步学习Redis || 第十章:主从复制的实现流程与常见问题处理方案深层解析
java·服务器·数据库·redis·后端·缓存
梁辰兴2 天前
计算机操作系统:进程同步
网络·缓存·操作系统·进程·进程同步·计算机操作系统