The BtrPlace Constraints Catalog
Constraints

MostlySpread

Definition

Signature

mostlySpread(s : set<VM>, n : number)

The mostlySpread constraint ensures the running virtual machines in s will be running on at least n distinct servers.

Classification

Usage

The mostlySpread constraint may be used by an application administrator to provide to a replicated service, fault tolerance to hardware failures. By hosting replaces on distinct servers, the service will be available while at least one server is still online. When the number of replicas is important, it is however difficult to have a large amount of different servers. Furthermore, the chances of having all the hosting hervers but one failing simultaneously decrease when the number of replicas increases. It is then tolerable to use a number of servers that is smaller to the number of replicas. The application administrator can then use one mostlySpread constraint to indicate the minimum number of distinct servers that must be used to host the replicas.

Example

Figure 13 depicts a sample reconfiguration between a source and a destination configuration. In this example, the following mostlySpread constraints were considered:

N1: VM1 VM2

N2: VM5

N3: VM3

arrow

N1: VM1 VM6

N2: VM2

N3: VM3 VM5

Figure 13: A reconfiguration motivated by mostlySpread constraints.

See also

Related Constraints

Specialization(s)