1. LLC隔离的工具和原理
LLC是指Last Level cache,目前来说通常也就是L3 Cache,CAT是指Intel架构提供的一组工具&技术,用以支持LLC隔离。隔离的目的是针对Latency sensitive服务程序,提高QoS。可以考虑到两个LS敏感的程序跑在同一个机器上相互影响的程度还是比较大。
相关的一些资料如下:
- x86: Intel Cache Allocation Technology support
- Intel 64 and IA-32 Architectures Software Developer Manuals
其中的 17.16 PLATFORM SHARED RESOURCE CONTROL: CACHE ALLOCATION TECHNOLOGY
cpu cache隔离技术的原理基本上就是通过划分LLC,限制进程能使用的cache,前后隔离效果如下:
Cache Allocation Technology Allocates More Resource to High Priority Applications
1.1. Intel CAT技术
Intel CAT技术提供一系列工具:
- 通过CPUID指令,查询当前cpu架构是否支持CAT技术,以及支持哪些资源类型(目前来看一般就是LLC),同时可以查询CLOS的数量以及CBM,CBM是指bitmask的长度
- 提供一种机制,可以关联CLOSID和bitmask
- 提供一个特殊的寄存器,存储CLOSID,硬件根据CLOSID决定当前使用哪些资源