What are Linode CPU provisioning policy/rules?
Is there a document describing the provisioning policy/rules/algorithm for Linode standard (non dedicated-cpu) plans?
If not, at least what are the answers to the following questions:
1) Worst case: the physical server is full to capacity with virtual hosts, each virtual host has one virtual CPU and using as much cpu as it gets (always cpu-bound). What percentage of real cpu each host would get?
2) Similar to case 1, but one virtual host is a nicer guy – usually he needs only 10% -20% of cpu, but occasionally he needs 100% of CPU. Would this host get a preferential treatment in terms of cpu provisioning during those occasional bursts?
Thank you
1 Reply
While we don’t have a single document that discusses our provisioning rules I would be happy to discuss them a bit here. To put it simply, each Linode is assigned its own virtual processor (or up to forty eight), which acts and makes requests to the physical processors independently. What does this mean? It means that in many cases, how much CPU resources your Linode’s neighbors on the host are using won’t impact your Linode’s CPU performance at all. This post gives some excellent information on how we handle virtualization and resource allocation.
With that being said, we can move on to your questions:
1) Worst case: the physical server is full to capacity with virtual hosts, each virtual host has one virtual CPU and using as much cpu as it gets (always cpu-bound). What percentage of real cpu each host would get?
In this case, it remains true that none of the Linodes have direct access to the physical CPU. Rather, all the requests are interpreted and optimized by the hypervisor (ie, the virtualization environment). So while we cannot specify a percentage of real CPU time that each Linode would get the worst case scenario here is that your Linode will have to wait in line to have its task performed by the host CPUs. This is sometimes called CPU steal.
2) Similar to case 1, but one virtual host is a nicer guy – usually he needs only 10% -20% of cpu, but occasionally he needs 100% of CPU. Would this host get a preferential treatment in terms of cpu provisioning during those occasional bursts?
No Linodes (with the exception of Dedicated CPU Plans) get any preferential treatment in regards to how CPU is provisioned to them. Whether you are using 1% or 99% of your available virtual cores you will have the same resources available at all times.