In VMware Lab Platform, you can configure and use algorithms to define and deploy a vApp from any data center. To determine which data center and vApp to use for deployments, the system provides many configurable options. For example, for on-demand deployments, based on the geographical preference, or the speed of the deployment, the choice of a virtual data center is made. However, for prepopulated vApps, or other advanced deployments, VMware Lab Platform uses the VMware Cloud Director placement algorithm to determine which VDC or VDCs to use for a vApp deployment.

About the Placement Algorithm

The purpose of a placement algorithm is to determine which VDC or VDCs is used for a new prepopulated lab template and reserved deployments. You can overwrite the default placement algorithm in a lab template. To determine the deployments, the algorithm overrides the default settings for per-lab template, and the uses the current state of the system.

Each deployment algorithm shares a common first phase, and determines which VDC can deploy the new vApps. For a VDC to be available, it must have access to at least one of the template that is used for the deployment (either directly or as a shadow). The template must be available, enabled, and have sufficient storage for the deployment (storage must not be over-provisioned, so when the available storage is used, the VDC will no longer be used for deployments). If this phase makes more than one VDC available, the deployment algorithm determines how to make the deployment – either by selecting a single VDC for a single deployment, or by specifying how multiple deployments must be made across VDCs if multiple deployments are being made at once.

VMware Lab Platform supports six deployment algorithms. As described earlier, each algorithm has a standard first phase and only if there are multiple VDCs available, the algorithm is used to determine the placement.

Algorithm options

The supported algorithms are:

  • VMware Lab Platform Placement Algorithm

  • Equal by Resource Utilization Algorithm

  • Equal by Total Deployments for Template Count Algorithm

  • Equal by Total Deployment Count Algorithm

  • Equal by Deployment Count Algorithm

  • Equal by Deployed Template Count Algorithm

VMware Lab Platform Placement Algorithm

The VMware Lab PlatformPlacement Algorithm is the default algorithm, and we recommend that you do not change this algorithm or the configuration of this algorithm without the support of the VMware Lab Platform support team.

The aim of this algorithm is to use all the available VDCs equally. The equal placement is done by randomly selecting VDCs for deployments so that over the time, the usage of the available VDCs is roughly equal. The algorithm assigns a resource usage value to each VDC and lowers the probability of that VDC being selected once the usage value passes a configured value, thus favoring the fewer utilized VDCs.

The usage value is a weighted average of the currently used number of the CPU divided by the total number of CPUs, and the currently used amount of the memory divided by the total memory. The weight relies more on the memory value, so the utilization score grows higher and quicker (thus making a less likely to be selected) as memory utilization increases when compared to just the CPU utilization increase.

Equal by Resource Utilization Algorithm

The Equal by Resource Utilization Algorithm balances deployments so that vDCs are utilized in equal proportions. That is, a VDC with more total resources is likely to be assigned more placements than a vDC with fewer available total resources.

Like the VMware Lab Platform Placement Algorithm, the Equal by Resource Utilization Algorithm uses the utilization score of a VDC to determine what proportion of the available vDC resources are currently in use. The algorithm then assigns deployments to lesser used VDCs. The VMware Lab Platform Placement Algorithm treats all clouds equally until they reach a certain threshold of usage, where as Equal by Resource Utilization Algorithm always favors less used clouds.

Equal By Total Deployments for Template Count Algorithm

The Equal By Total Deployments for Template Count Algorithm balances the number of deployed vApps that use the same template(s) in current deployment across all available VDCs so that the same number of vApps using these templates are deployed to each cloud.

Equal By Total Deployment Count Algorithm

The Equal By Total Deployment Count Algorithm balances the total number of deployments across all the available VDCs regardless of the vApp state. This algorithm does not consider what the deployed vApps are, but aims to make the placement decisions so that the total number of deployed vApps is equal in all VDCs. 

Equal By Deployment Count Algorithm

The Equal By Deployment Count Algorithm balances the number of running and currently deployed vApps across available VDCs. The size of the vApp is not considered for this deployment algorithm.

Equal By Deployed Template Count Algorithm

The Equal By Deployed Template Count Algorithm balances the number of running and currently deployed vApps derived from the templates that are used across available VDCs in this placement decision. The size of the vApp is not considered for this deployment algorithm.