全部博文(436)
分类: LINUX
2012-12-17 19:49:20
存储器层次结构中的缓存
这一周针对自己对cache的不了解,学习了一些cache方面的知识。
存储器层次结构的中心思想是。对于每个K,位于K层的更快更小的存储设备作为位于K+1层更大更慢的存储设备的缓存。层次结构中的每一层都缓存来自较低一层的数据对象。例如,本地磁盘作为通过网络从远程磁盘取出的文件的缓存,主存作为本地磁盘上数据的缓存,依次类推,直到最小的缓存——CPU寄存器集合。
⑴缓存命中
当程序需要第K+1层的某个数据对象d时,它首先在当前存储在第K层的一个块中差找d,如果d刚好缓存在第K层,就是缓存命中,读取更快。
⑵缓存不命中
第k层中没有缓存的对象d,就是缓存不命中。
① 强制性不命中:第K层的缓存是空的,称为冷缓存,此类不命中
称为强制性不命中。
② 冲突不命中:限制性的放置策略引起的不命中。
放置策略:第K+1层的某个块限制放在第K层块的一个小的子集中。例如,可以确定第K+1层的块i必须放置在第K层的块(i mol 4)中。
●缓存管理:
存储器层次结构的本质是,每一层存储设备都是较低一层的缓存。
在每一层上,某种形式的逻辑必须管理缓存。管理缓存的逻辑可是
硬件,软件或者是两者的集合。
同时对上一周的讨论又有了进一步的研究。
●动态调度:
到目前为止,PIE调度在一个静态的设置,即,评估的工作量被安排在一个给定的核心,它的整个执行将延迟,有机会进一步提高PIE调度ING的动态调整工作负载的相行为。这里观察到的一个关键是,虽然平均增长放缓是高的小核心到大核心,核心达到每相媲美的性能大一些执行阶段的核心。为libquantum,约10%的指令可以是小核心上执行无显著影响整体性能。然而,时间刻度粒度是相对细粒(几毫秒)和更小的
比一般的OS时间片(如10毫秒)。这表明可能有利于提供动态的硬件调度重新安排(即迁移)的开销是低的。
●量化迁移开销
动态调度所产生的开销迁移工作负载在不同核心之间。不仅在迁移当前的上下文切换,它的开销也导致气候变暖硬件状态,尤其是高速缓存层次结构。上下文开关都会引起一个固定的成本恢复体系结构状态。对更好地了解高速缓存变暖引起的开销,考虑高速缓存的情况下,以深入了解显示层级设计的低迁移开销细粒度动态调度。
问题:为什么PIE动态调度的开销会降低?静态调度比动态调度好在哪里?