An allocation model determines how and when the provider virtual datacenter compute and memory resources that you allocate are committed to the organization virtual datacenter.

Allocation Pool Allocation Model

With the allocation pool allocation model, a percentage of the resources you allocate from the provider virtual datacenter are committed to the organization virtual datacenter. You can specify the percentage for both CPU and memory. This percentage is known as the percentage guarantee factor, and it allows you to overcommit resources.

Starting with vCloud Director 5.1.2, system administrators can configure allocation-pool organization virtual datacenters to be elastic or non-elastic. This is a global setting that affects all allocation-pool organization virtual datacenters. See Modify General System Settings.

By default, allocation-pool organization virtual datacenters have a elastic allocation pool enabled. Systems upgraded from vCloud Director 5.1 that have allocation-pool organization virtual datacenters with virtual machines spanning multiple resource pools have elastic allocation pool enabled by default.

When allocation-pool virtual datacenters have the elastic allocation pool feature enabled, the organization virtual datacenter spans and uses all resource pools associated with its provider virtual datacenter. As a result, vCPU frequency is now a mandatory parameter for an allocation pool.

Set the vCPU frequency and percentage guarantee factor in such a way that a sufficient number of virtual machines can be deployed on the organization virtual datacenter without CPU being a bottleneck factor.

When a virtual machine is created, the placement engine places it on a provider virtual datacenter resource pool that best fits the requirements of the virtual machine. A subresource pool is created for this organization virtual datacenter under the provider virtual datacenter resource pool, and the virtual machine is placed under that subresource pool.

When the virtual machine powers on, the placement engine checks the provider virtual datacenter resource pool to ensure that it still can power on the virtual machine. If not, the placement engine moves the virtual machine to a provider virtual datacenter resource pool with sufficient resources to run the virtual machine. A subresource pool for the organization virtual datacenter is created if one does not already exist.

The subresource pool is configured with sufficient resources to run the new virtual machine. The subresource pool's memory limit is increased by the virtual machine's configured memory size, and its memory reservation is increased by the virtual machine's configured memory size times the percentage guarantee factor for the organization virtual datacenter. The subresource pool's CPU limit is increased by the number of vCPUs that the virtual machine is configured with times the vCPU frequency specified at the organization virtual datacenter level. The CPU reservation is increased by the number of vCPU configured for the virtual machine times the vCPU specified at the organization virtual datacenter level times the percentage guarantee factor for CPU set at the organization virtual datacenter level. The virtual machine is reconfigured to set its memory and CPU reservation to zero and the virtual machine placement engine places the virtual machine on a provider virtual datacenter resource pool.

The benefits of the allocation-pool model are that a virtual machine can take advantage of the resources of an idle virtual machine on the same subresource pool. This model can take advantage of new resources added to the provider virtual datacenter.

In rare cases, a virtual machine is switched from the resource pool it was assigned at creation to a different resource pool at power on because of a lack of resources on the original resource pool. This change might involve a minor cost to move the virtual machine disk files to a new resource pool.

When the elastic allocation pool feature is disabled, the behavior of allocation-pool organization virtual datacenters is similar to the allocation pool model in vCloud Director 1.5. In this model, the vCPU frequency is not configurable. Overcommitment is controlled by setting the percentage of resources guaranteed.

Pay-As-You-Go Allocation Model

With the pay-as-you-go allocation model, resources are committed only when users create vApps in the organization virtual datacenter. You can specify a percentage of resources to guarantee, which allows you to overcommit resources. You can make a pay-as-you-go organization virtual datacenter elastic by adding multiple resource pools to its provider virtual datacenter.

Resources committed to the organization are applied at the virtual machine level.

When a virtual machine is powered on, the placement engine checks the resource pool and assigns it to another resource pool if the original resource pool cannot accommodate the virtual machine. If a sub-resource pool is not available for the resource pool, vCloud Director creates one with an infinite limit and zero rate. The virtual machine's rate is set to its limit times its committed resources and the virtual machine is placed, and the virtual machine placement engine places the virtual machine on a provider virtual datacenter resource pool.

The benefit of the pay-as-you-go model is that it can take advantage of new resources added to the provider virtual datacenter.

In rare cases, a virtual machine is switched from the resource pool it was assigned at creation to a different resource pool at power on because of a lack of resources on the original resource pool. This change might involve a minor cost to move the virtual machine disk files to a new resource pool.

In the pay-as-you-go model, no resources are reserved ahead of time, so a virtual machine might fail to power on if there aren't enough resources. Virtual machines operating under this model cannot take advantage of the resources of idle virtual machines on the same subresource pool, because resources are set at the virtual machine level.

Reservation Pool Allocation Model

All of the resources you allocate are immediately committed to the organization virtual datacenter. Users in the organization can control overcommitment by specifying reservation, limit, and priority settings for individual virtual machines.

Because only one resource pool and one subresource pool are available in this model, the placement engine does not reassign a virtual machine's resource pool when it is powered on. The virtual machine's rate and limit are not modified.

With the reservation pool model, sources are always available when needed. This model also offers fine control over virtual machine rate, limit, and shares, which can lead to optimal use of the reserved resources if you plan carefully.

In this model, reservation is always done at the primary cluster. If sufficient resources are not available to create an organization virtual datacenter on the primary cluster, the organization virtual datacenter creation fails.

Other limitations of this model are that it is not elastic and organization users might set nonoptimal shares, rates, and limits on virtual machines, leading to underuse of resources.