5.5.4. Assigning of a Shared Processor Pool
In order to demonstrate the limitation of the processor utilization through a shared processor pool, we started a small benchmark program on 2 LPARs in parallel, see figure 5.13. Both LPARs are configured with 4 virtual processors, an entitlement of 0.4 and a weight of 100:
$ lpar lsproc lpar1 lpar2
PROC PROCS PROC_UNITS UNCAP PROC
LPAR_NAME MODE MIN DESIRED MAX MIN DESIRED MAX CURR_SHARING_MODE WEIGHT POOL
lpar1 shared 1 4 8 0.1 0.4 2.0 uncap 100 DefaultPool
lpar2 shared 1 4 8 0.1 0.4 2.0 uncap 100 DefaultPool
The same benchmark program was started on both LPARs at about the same time. The graphic in figure 5.13 shows that both LPARs together utilize up to 8 complete processors (cores).
By using a shared processor pool, the processor utilization of the two LPARs should be limited to a maximum of 2 processors (cores). For this we configure the previously unused SharedPool02 pool with a maximum pool capacity of 2 processors (cores) and at the same time rename the pool to benchmark:
$ ms chprocpool ms11 SharedPool02 new_name=benchmark max_pool_proc_units=2
Overall, we have the following shared processor pools:
$ ms lsprocpool ms11
MS_NAME PROCPOOL ID EC_LPARS RESERVED PENDING ENTITLED MAX
ms11 DefaultPool 0 1.20 - - 1.20 -
ms11 testpool 1 0.00 0.00 0.00 0.00 2.00
ms11 benchmark 2 0.00 0.00 0.00 0.00 2.00
Next we assign the two LPARs from above to the shared processor pool benchmark. The command to do this is “lpar chprocpool” (change processor pool):
$ lpar chprocpool lpar1 benchmark
$ lpar chprocpool lpar2 benchmark
With the “ms lsprocpool” command, the LPARs assigned to a pool can be displayed by using the “-l” (list LPARs) option:
$ ms lsprocpool -l ms11
PROCPOOL LPAR PROCPOOL
MS_NAME NAME ID NAME ID EC RESERVED ENTITLED MAX
ms11 DefaultPool 0 lpar3 5 0.40 - - -
ms11 DefaultPool 0 - - 0.40 - 0.40 -
ms11 testpool 1 - - 0.00 0.00 0.00 2.00
ms11 benchmark 2 lpar1 3 0.40 - - -
ms11 benchmark 2 lpar2 4 0.40 - - -
ms11 benchmark 2 - - 0.80 0.00 0.80 2.00
In the output for the shared processor pool benchmark you can see that there are 2 assigned LPARs, lpar1 and lpar2, and that they each have an entitlement of 0.40, which makes a total of 0.80. The shared processor pool has a maximum pool capacity of 2.00 (column MAX).
We repeat the benchmark run on both LPARs. The resulting processor usage is shown in figure 5.14:
You can clearly see that the maximum pool capacity (red line) is not exceeded. The two LPARs each receive an average of around 1.0 processing units. It can also be clearly seen that the runtime of the benchmark has now increased significantly.
Note: The assignment of an LPAR to a shared processor pool can be changed without an active RMC connection between the LPAR and the HMCs.