VMware Cloud Community
marshallmathers
Enthusiast
Enthusiast

resource pools help

can someone help me understand resource pools ?

I have the following cluster

- 9 TB of RAM

- 350 Cores of CPU

Resource pool 1 = 200 VMs

"Low" Shares

*2000 Shares of CPU

*81920 Shares or RAM

Resource pool 2 = 300 VMs

"Normal" Shares

*4000 Shares of CPU

*163840 Shares of RAM

Resource pool 3 = 12 VMs

"High" Shares

*8000 Shares of CPU

*327680 Shares of RAM

*These look like default values from VMware.

I would like to confirm what is actually going on here and if this is balanced.

How much is each VM in Pool 1 entitled to roughly ?

How much is each VM in Pool 2 entitled to roughly ?

How much is each VM in Pool 3 entitled to roughly ?

There must be some simple math formula used to calculate this ?

0 Kudos
3 Replies
scott28tt
VMware Employee
VMware Employee

When there is no contention for CPU or memory resources, the shares will have no meaning whatsoever.

When there is contention, the VMs in any given pool compete for resources using their individual VM-level shares against the other VMs in the same pool.

So when you have 1 pool with 300 VMs and another pool with only 12 VMs, those in the 300 VM pool can face much more competition and could therefore suffer more than the VMs in the pool of 12, regardless of the pool-level shares.

The pools compete with one another when there is contention, using their pool-level shares.

You could use simple division to calculate the relative pool-level and VM-level share allocations - but as I mentioned at the start, it is only in periods of contention that those allocations would have any effect.


-------------------------------------------------------------------------------------------------------------------------------------------------------------

Although I am a VMware employee I contribute to VMware Communities voluntarily (ie. not in any official capacity)
VMware Training & Certification blog
0 Kudos
marshallmathers
Enthusiast
Enthusiast

Hi Scott thanks for the reply but i am looking for the answer to the following questions

How much is each VM in Pool 1 entitled to roughly ?

How much is each VM in Pool 2 entitled to roughly ?

How much is each VM in Pool 3 entitled to roughly ?

0 Kudos
scott28tt
VMware Employee
VMware Employee

I've already answered your questions with my previous reply, but allow me to elaborate....

Let's look specifically at CPU resource allocation:

Pool 3 = 8000 shares

Pool 2 = 4000 shares

Pool 1 = 2000 shares

Pool 3 is twice as likely to be allocated CPU resource as Pool 2 WHEN there is CPU contention.

Pool 2 is twice as likely to be allocated CPU resource as Pool 1 WHEN there is CPU contention, but only half as likely to be allocated CPU resource as Pool 3 WHEN there is CPU contention

Pool 1 is half as likely as Pool 2 to be allocated CPU resource as Pool 2 WHEN there is CPU content, and only a quarter as likely to be allocated CPU resource as Pool 3 WHEN there is CPU contention

The same logic applies when you consider the VMs inside each of the resource pools, WHEN there is CPU contention - as an example let us assume each of the 12 VMs in Pool 3 has a single virtual CPU then each VM will have 1000 CPU shares:

VM3A in Pool 3 has 1/12 of the total shares of all the VMs in that pool, therefore it is likely to be allocated 1/12th of the available CPU resource of Pool 3 WHEN there is CPU contention.

VM3B in Pool 3 is the same as VM3A

And so on for the other VMs in Pool 3

If any of the VMs in Pool 3 has 2 vCPUs that VM will have 2000 CPU shares rather than 1000, but the same logic is true for each of the individual vCPUs for that VM.

Apply the same logic to the 300 VMs in Pool 2, and the 200 VMs in Pool 1.


-------------------------------------------------------------------------------------------------------------------------------------------------------------

Although I am a VMware employee I contribute to VMware Communities voluntarily (ie. not in any official capacity)
VMware Training & Certification blog
0 Kudos