The BtrPlace Constraints Catalog
Constraints

Oversubscription

Definition

Signature

oversubscription(s : set<server>, r : string, x : number)

The oversubscription constraint ensures the online servers in s have for each hosted VM, an amount of free resources at least equals to a given factor of a physical resource. Servers not in the Online state and VMs not in the Running state are ignored.

Classification

Usage

The memory is usually considered as the bottleneck that limitooor the servers hosting capacity. Originally, the memory was not shareable between the VMs so their cumulated requirement shall not exceed the servers capacity. Hypervisors such as Xen [22] or VMWare [49] now provide sharing systems to oversubscribe the memory. The datacenter administrator can then use oversubscription constraint to control this sharing. With a factor greater than 100%, a server can host simultaneously VMs with a cumulated memory usage that exceed its capacity. A high factor increases the hosting capabilities of the servers but may alter the VMs performance due to the overhead of the memory sharing system.

It is also accepted to oversubscribe the physical CPUs (PCPUs) of a server. Each VM uses one or more virtual CPUs (VCPUs) and for the maximum performance, each VCPU should be mapped to a dedicated PCPU. In practice, multiple VCPU are mapped to a same PCPU when the performance overhead is acceptable. In 2010, The Virtual Management Index reported an oversubcription ratio of 200%: each PCPU is allocated to 2 VCPUs on average. [46]

Finally, a VM is usually an instance of a given template that define the maximum amount of computational resources (UCPU) it can consume. To increase the hosting capacity of the servers, the resource are often allocated dynamically, on demand, rather than statically[45], [40], [9], [25]. It is however not desirable to place too many VMs that currently consume a few uCPU on a single server as it increases the chances of having a saturated server if the VMs simultaneously increase their uCPU demand. One solution to control this oversubscription is to ensure to each of the VMs a given percentage of its maximum uCPU resource usage. For example, the datacenter administrator may use one oversubscription constraint and an oversubscription ratio of 80% to ensure each server must be able to provide each of the VMs it hosts 80% of the VM's maximum uCPU usage, even if its current demand is inferior.

Example

Figure 16 depicts a sample reconfiguration between a source and a destination configuration where each server provides 8 unit of CPU and 7 unit of memory resources to VMs. The rectangles of the VMs denotes their maximum requirements while the grey part denotes their usage. During the reconfiguration, the following oversubscription constraints were considered:

img/oversubscription

figure 16: A reconfiguration motivated by oversubscription constraints.

See also

Related Constraints