存储器的层次结构

存储器的层次结构

 

多核CPU

存储器的层次结构

Registers < 1ns
L1 约 1ns
L2

< 3ns

L3 约15ns
主存 约 80ns

 

 

 

 

 

 

为什么三层:工业测试的效果最好

缓存行大小:越大,局部性空间效率越大,读取越慢;越小,局部性空间效率越小,读取越快。64字节(intel) 

Intel mesi 缓存一致性协议(又叫缓存锁)

其他   msi  

一致性协议无法保证缓存一致性时 :跨越多个缓存行、无法缓存的数据

使用总线锁的策略

 

实践的指导意义:

缓存行对齐:对于有些特别敏感的数字,会存在线程高竞争的访问,为了保证不发生伪共享,可以使用缓存航对齐的编程方式

JDK7中,很多采用long padding提高效率 如disruptor

JDK8,加入了@Contended注解需要加上:JVM -XX:-RestrictContended 根据机器情况帮助填充