about CPU QoS in KVM

From: Gonglei (Arei)
Date: Thu Apr 20 2017 - 09:33:14 EST


Hi all,

Currently, KVM do the CPU resource reservation by the cgroup mechanism
which can't do entire accurate separation because the capacity of the Linux
scheduler. Take the public cloud as an example, some customers rent one vm
with 8 CPUs paid by enough money, they want to get enough response
speed on CPU scheduling. So we (the cloud platform providers ) reserve 1GHz
CPU resources by cgroup for those VM's vcpu/pcpu.

But the actual effects can't meet those requirements because the cgroup is
limiting share usage of other processes in order to attach the reservation proportion,
but the scheduler can't assure that. This mechanism is different with Xen,
We can directly change the CPU weight on Xen hypervisor so that we can
get entire accurate control on CPU resources based on accurate capacity (upper limit),
share (weight) and reservation.

So my question is do we have a good method to do CPU reservation in KVM?

Thanks,
-Gonglei