The BtrPlace Constraints Catalog
Constraints

SingleCapacity

Definition

Signature

singleCapacity(s:set<server>, nb:number, r:string)

The singleCapacity constraint restricts to a maximum of nb, the amount of a specific resource of type r that can be used on each of the online servers in s to run VMs.

Classification

Usage

The singleCapacity constraint is used by a datacenter administrator to indicate to the VM manager, the practical amount of resources on each server, that will be available to the VMs. As an example, a server having 4 GB of RAM running a Xen hypervisor [7] cannot offer this amount of memory to the VMs as the Domain-0 requires memory resources to run. Using a singleCapacity constraint, the datacenter administrator may then declare the practical amount of memory that will be available to the VMs by removing the amount used by the Domain-0.

Management operations, such as migrations, requires CPU resources on the involved servers. When every resources are devoted to the running VMs, a migration will alter their performance as the hypervisor will use a significant amount of the resources that was allotted to the VMs, to manage the migration. Using singleCapacity constraints, the datacenter administrator may prevent this temporary performance loss by dedicating in advance some resources to the hypervisor. Typically a core or a CPU, to let it perform the management operations without impacting the running VMs.

Example

Figure 18 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. Each VM is associated to a gray rectangle that denotes its resource usage. In this setting, the following singleCapacity constraints were considered :

img/singleCapacity

figure 18: A reconfiguration motivated by singleCapacity constraints.

See also

Related Constraints

Reformulation(s)