腾讯工程师一直在努力解决 Linux 内核调度器代码中关于超分配虚拟化环境的长期低效问题。
今天发布了一套十个补丁,用于处理在基于内核的虚拟机(KVM)上运行的 Linux 内核中关于超分配虚拟机的 KVM 和调度器限制。这些补丁实现了一个调度器 vCPU 降级器和 KVM IPI 感知的定向让步支持。这些新机制旨在最小化开销,并且从腾讯的角度来看,优于其他准虚拟化方法。
简而言之,对于只是想知道这些新补丁对 Linux 服务器上超分配虚拟机的净收益的用户/管理员:

并且补丁覆盖信中的分析:
– 在适度的过载(2-3 个虚拟机)下,收益最为明显。在这个水平上,竞争足够激烈,可以从更好的产出行为中受益,但上下文切换的开销仍然可控。
– 由于其 IPI 密集型同步模式,去重显示了最强的改进(在 2 个虚拟机时提高+47.1%)。IPI 感知的定向让步精确地针对瓶颈。
– 在 4 个虚拟机(较重的超分配)的情况下,由于一般 CPU 竞争主导,收益逐渐减少。然而,性能从未下降,这表明机制优雅地降级。”
对这项工作感兴趣的人可以在 Linux 内核邮件列表上找到可供审查的补丁系列。
转自 Tencent Proposes Semantics-Aware vCPU Scheduling For Over-Subscribed KVM Linux VMs – Phoronix
Linuxeden开源社区