In vSphere 6.7, we introduced a new two-pass algorithm to allocate a resource pool’s resource reservation to its children (also known as divvying).
The old divvying model will not reserve more resources than the current demand in the resource pool, even if the resource pool is configured with a higher reservation. If there is a spike in VM demand after resource divvying is done, DRS will only react when the next resource divvying happens to allocate the remaining reservation. As a result, VMs might suffer from temporary performance issues until the next time resource divvying happens.
In the new model, resource pool reservation is divvied up to its children as much as possible, irrespective of the current demand, thus giving more buffer to account for sudden spikes in VM demand. In the first pass, the resource pool reservation is divvied based on VM demand, limited by each VM’s fair share. Then in the second pass, excess reservation is divvied proportionally, limited by the VM’s configured size.
Let us consider an example scenario to illustrate the new resource pool reservation divvying model. In this example, we have a resource pool with a memory reservation of 10 GB. It has four VMs of 4 GB RAM each. The VMs are all using only 25% of their configured RAM size (memory demand is 1 GB for each VM). The Reservation, Limit, Shares settings for the resource pool are as shown in Figure 10.
Figure 10: RLS settings for the resource pool
Figure 11: Resource pool and VM entitlements—old and new models
In the old model, DRS would divvy the resource pool reservation to its children based on their demand. As you can see in the left side of Figure 11, in our example, each VM would be entitled to around 1.7 GB (VM demand + some percentage of idle memory + overhead). Whereas in the new model (the right side of Figure 11), when DRS divvies resource pool reservation, it is not limited by the VM demand and each VM gets around 2.5 GB of memory reservation, which means the resource pool reservation has been completely divvied out to its children.
Note: The tree structures in Figure 11 were captured using DRS Entitlement Viewer.
In summary, with the new reservation distribution model, VMs will now have extra room to handle any sudden spikes in workload, avoiding any performance impact. This behavior is particularly helpful for volatile workloads.