User Tools

Site Tools


aix:virtual_cpu

Power Processor

On IBM Power server, a processor is a core. A core is located on MCM (multichip module) which currently contain 8 cores… up to 20 cores. On Power server the performance of a server is (nb cores) x (perf/core), it's linear different from x86 cores.

Virtual Processor / Physical Processor

Shared Processor virtual machines (LPARs) have a setting called Virtual Processors (or VP for short). This is the number of physical CPUs that the virtual machines can spread out across - in fact, I prefer to call it the “spreading factor” as it is much more obvious what it means. This can be the upper threshold for the number of CPUs that can be used by your virtual machine:

  • For Capped virtual machines, the Entitlement is the maximum of compute cycles that can be used.
  • For Uncapped virtual machines and if there are “spare” CPU cycles in the Shared CPU Pool (or other virtual machines are not requiring their full entitlement) then the VP number is the limit of the total number CPU cycles that can be used.

But AIX does not automatically spread out over all the available virtual processors, if it does not have too, as that is not efficient. If an Uncapped virtual machine has, for example, Entitlement of 8 CPUs and Virtual Processor count of 10 CPUs but only needs at the moment 2.5 CPUs to easily provide CPU time to all the running processes/program then it “folds” away the unneeded 7 virtual processors and runs on just 3.

My recommandations: Use always shared processors and uncapped option with default value for LPAR (or adjust to the LPAR use), and 255 for VIOS (maximum priority, if VIOS are high loaded, all partitions will have performance issues).

https://www.ibm.com/developerworks/mydeveloperworks/blogs/aixpert/entry/aix_virtual_processor_folding_in_misunderstood110?lang=en_us

CPU priority

On Power server, you can give different weight to a partition, the default is 127. For example, VIOS might have a high priority: 191.

Priority Level Value
minimum 0
low 63
default 127
high 191
maximum 255

Example of settings

Priority Level Value
VIOS 255
Production 200
Pre-production 100
Development 50
Test 25

Shared Processor Pool

You can create processor pools by specifying the number of processors into the pool. You can isolated some LPAR into a shared pool to grantee the performance, or for to reduce licenses cost (Ex: Oracle).

Processor Compatibility Mode

On Power server, you can choose the type of processor instructions supported into an LPAR. If your OS is fully compliant Power 7 (AIX TL6 SP6, TL7 SP2, or AIX 7.1) then you can use the native Power 7 instructions, else you can choose another Pocessor Compatibility Mode.

CPU at LPAR level

Check multithreading, and core frenquency

[root@prnim01]/root# lsattr -El proc0
frequency   2500000000     Processor Speed       False
smt_enabled true           Processor SMT enabled False
smt_threads 8              Processor SMT threads False
state       enable         Processor state       False
type        PowerPC_POWER9 Processor type        False

Check CPU on LPAR

[root@prnim01]/root# lparstat -i | grep CPU
Online Virtual CPUs                        : 2
Maximum Virtual CPUs                       : 2
Minimum Virtual CPUs                       : 1
Maximum Physical CPUs in system            : 10
Active Physical CPUs in system             : 10
Active CPUs in Pool                        : 10
Shared Physical CPUs in system             : 10
Physical CPU Percentage                    : 5.00%
Desired Virtual CPUs                       : 2
aix/virtual_cpu.txt · Last modified: 2021/04/02 21:32 by manu