CPU polarization
You can modify the operation of a vertical SMP environment by adjusting the SMP factor.
Before you begin
About this task
Horizontal CPU polarization means that the PR/SM hypervisor dispatches each virtual CPU of an LPAR for the same amount of time.
With vertical CPU polarization, the PR/SM hypervisor dispatches certain CPUs for a longer time than others. For example, if an LPAR has three virtual CPUs, each of them with a share of 33%, then in case of vertical CPU polarization, all of the processing time would be combined to a single CPU. This CPU would run most of the time while the other two CPUs would get nearly no time.
There are three types of vertical CPUs: high, medium, and low. Low CPUs hardly get any real CPU time, while high CPUs get a full real CPU. Medium CPUs get something in between.
Procedure
# chcpu -p horizontal|vertical
Alternatively, you can write a
0
for horizontal polarization (the default) or a 1
for vertical
polarization to /sys/devices/system/cpu/dispatching.vertical
.# chcpu -p vertical
You can achieve the
same results by issuing the following
command:# echo 1 > /sys/devices/system/cpu/dispatching
What to do next
# cat /sys/devices/system/cpu/cpu<N>/polarization
horizontal
- each of the guests' virtual CPUs is dispatched for the same amount of time.vertical:high
- full CPU time is allocated.vertical:medium
- medium CPU time is allocated.vertical:low
- very little CPU time is allocated.unknown
- temporary value following a polarization change until the change is completed and the kernel has established the new polarization of each CPU.