<font size=2 face="sans-serif">Dear all,</font>
<br>
<br><font size=2 face="sans-serif">We have started working on implementation
of CPU reservation/entitlement mechanism in Nova (</font><a href="https://blueprints.launchpad.net/nova/+spec/cpu-entitlement"><font size=2 face="sans-serif">https://blueprints.launchpad.net/nova/+spec/cpu-entitlement</font></a><font size=2 face="sans-serif">).</font>
<br><font size=2 face="sans-serif">The idea is to allow associating explicit
CPU allocation guarantees, in a more flexible way than it is done today
in CoreFilter -- the user/admin will be able to define different CPU allocation
guarantees for different instances. The approach we are taking is to use
extra_specs of instance types to indicate the desired level of CPU allocation
guarantees per vCPU (e.g., low=25% of a physical CPU, normal=50%, high=100%),
which would apply to all instances created from the corresponding type.
This fits nicely the resource model of most of the hypervisors, which have
support for CPU guarantees built-in. For KVM, we are implementing the allocation
guarantees using cpu shares in cgroups (by controlling the cpu shares of
each instance and the total amount of shares allocated on a host). You
can find more details in the wiki page linked from the blueprint.</font>
<br>
<br><font size=2 face="sans-serif">Would appreciate thoughts whether the
approach we are taking makes sense, or any other feedback.</font>
<br>
<br><font size=2 face="sans-serif">Thanks!</font>
<br><font size=2 face="sans-serif">Alex</font>
<br><font size=2 face="sans-serif"><br>
<br>
--<br>
Alex Glikson<br>
IBM Research</font>
<br>