paper-outline
paper-outline copied to clipboard
To Hardware Prefetch or Not to Prefetch? A Virtualized Environment Study and Core Binding Approach
验证开启 hardware prefetching 在虚拟机环境下是否会导致性能回退。这里的 prefetching 指的是从主存中预取指令和数据到 CPU cache 中。
Prefetching 主要被用于填补主存和 CPU 之间的速度差异。然而,当大量 prefetching 请求竞争有限的内存带宽和 cache 资源时,反而可能引起性能的回退。由于虚拟机环境中多个虚拟机可能共享 CPU 核心(以及 cache),传统的最佳实践是在虚拟机环境下关闭 hardware prefetching。
本文通过 OLTP 和 FileBench 两个场景的测试,说明只有在特定场景的组合下会发生性能回退。基于回退场景,提出了 VM 的 Virtual CPU 的调度算法来避免回退。