The BtrPlace Constraints Catalog
Constraints

Gather

Definition

Signature

gather(s : set<VM>)

The gather constraint forces all the running VMs in the set s to be hosted on the same server.

Classification

Usage

The gather constraint may first be used by an application administrator to force the colocation of strongly communicating VMs. Using one gather constraint, the VMs will be running on a same server and the virtual network between them will be embedded into the internal network provided by the hypervisor instead of the physical network, leading to better network performance.

The gather constraint may also be used by an application administrator to force the colocation of VMs that have to share a component such as a filesystem. Without any guarantee of colocation, it is a necessary to rely on a distributed filesystem or a file server which provide less performance than a raw and direct access to the data. Using the colocation guarantee provided by a gather constraint, the filesystem may be placed directly on the hosting server to achieve better performance. In this context, it is also often desirable to use one cstr: root]root constraint to prevent from VMs relocation.

It has however to be noticed that these usages ask explicitly for the VMs colocation. It is then not allowed to host the VMs on several servers when the colocation is not possible. The application administrator should then not over-estimate his needs to prevent him from having its VMs not running at all.

Example

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

N1: VM1 VM2

N2: VM3 VM6

N3: VM5

N4:

? : VM4

arrow

N1: VM1 VM4

N2:

N3: VM5 VM2

N4: VM3 VM6

? :

Figure 9: A reconfiguration motivated by gather constraints.

See also

Related Constraints

Reformulation(s)