cache coloring 缓存着色

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

  • 颜色(color)是物理 page 的颜色。
  • 缓存一个page需要使用一些连续的set,这些set的集合叫做 cache bin。 使用相同 cache bin 的 pages 具有相同的颜色。
  • 物理地址 bitsy-1:12 值相同的所有 page 具有相同的 color 。(为什么是12,因为假设使用4KB page)
  • 物理地址的 bitsy-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

相关推荐
wdfk_prog1 天前
ROS教程10:从 gtest 到 rostest——Unit Test、Node 集成测试、rosbag 与 rqt 验证闭环
运维·缓存·docker·容器·ros
程序猿乐锅2 天前
【黑马点评 | 第四篇】Redis缓存雪崩
java·数据库·spring boot·redis·缓存
HanhahnaH2 天前
Redis单线程和Tair多线程架构设计对比
分布式·缓存
wdfk_prog2 天前
ROS教程07:从 ros::start() 顺着源码读懂 Master、XML-RPC 与 Topic 注册发现
运维·缓存·docker·容器·ros
Escalating_xu2 天前
【内存管理发展史】从 8086 实模式到分页:CPU 如何把虚拟地址变成物理地址
linux·缓存
wdfk_prog2 天前
用 Git Submodule + Sparse Checkout 管理 RT-Thread:内核、BSP、第三方库与业务代码分层实践
运维·缓存·docker·容器·ros
努力努力再努力wz2 天前
【Docker入门系列】镜像为什么能复用?一文吃透 Docker Image、Registry、运行时架构与常用命令
缓存·docker·容器
shark-chili2 天前
关于AI辅助编程的认知
数据库·人工智能·redis·macos·缓存
oioihoii2 天前
在 Kubernetes 上管好数据库:金仓 KES-Operator 正式落地
缓存
wdfk_prog2 天前
ROS教程06:ROS1 Node 启动与停止流程
运维·缓存·docker·容器·ros