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