dijous, 28 de gener del 2016

More on ESX vCPU versus PowerVM VP

Let’s explore further singularities of virtual CPUs (virtual CPUs in ESX parlance, virtual processors in PowerVM parlance). In particular we will try to determine the relationship between the throughput delivered by a single and solitary Virtual Machine and the number of assigned vCPU/VP.

Once more we will execute a thought SAPS benchmark with our already iconic systems in the following table.

Dell PowerEdge R730 2s/36c/72t Intel Xeon  E5-2699 v3 @2.30 GHz

Physical System
IBM POWER S824 2s/24c/192t POWER8 @3.52GHz
36
Cores
24
72
Threads
192
90120
SAPS
115870


Just a reminder (see “Don’t put in the same bag Xeon and POWER virtual CPUs” post in this blog):
  • ESX maps a vCPU to a HW thread, and there can be one or two running threads per core.
  • PowerVM maps a VP to a core.  
We are not taking into account capacity reductions due to the virtualization or CPU overcommitment (there are no CPU overcommit here).

PowerVM VP

The graph of throughput versus number of VPs for the PowerVM/POWER system is perfectly linear: an additional VP enables an additional running core, and thus contributes with the same number of SAPS (4800 SAPS per VP).

ESX vCPU

The graph of throughput versus number of vCPUs for the ESX/Xeon case is very different, as you see below.

Why this shape? Because there are two types of ESX vCPUs:
  • high capacity: vCPUs running on solitary threads (only one thread active in a core), estimated to deliver 2015 SAPS
  • low capacity: vCPUs running on threads from cores with two active threads, estimated to deliver 1250 SAPS (2500 SAPS/core * 1 core/2 threads).

From 1 to 36 vCPUs there are only high capacity vCPUs, assuming the hypervisor always tries to obtain the best capacity, so the slope is 2015 SAPS for each new vCPU.  Alternatively, the hypervisor may dispatch units of work to the two threads in the same core before activating the next core, but in this case the throughput would always be smaller for a given number of vCPUs.

From 37 to 72 vCPUs each additional vCPU, being mapped to the the second active thread in the core, runs at low capacity, and forces the companion thread in the same core to run at low capacity as well. Thus adding only net 485 SAPS (=2500 - 2015) for each additional vCPU.

Summarizing

The (performance) capacity of the PowerVM VP is greater than the ESX vCPU, this is well stated and known. And the capacity delivered by each PowerVM VP is uniform, no matter how many more are there.



But it cannot be said the same for ESX vCPU: when you have a ESX vCPU, which kind is it, high or low capacity? How much capacity are you going to obtain when adding an additional ESX vCPU, 2015 or 485 SAPS?

A little bit disturbing don’t you think so?



Mirror: 
https://www-304.ibm.com/connections/blogs/performance/entry/more_on_esx_vcpu_versus_powervm_vp

Cap comentari:

Publica un comentari a l'entrada