====== 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.
{{:aix:power_proc2.png|}}
** 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.
{{:aix:power_proc1.png|}}
===== 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