Locality-Optimized Resource Alignment
12
Figure 2. Six equal vPars instances configured according to LORA rules
To achieve alignment between processors and memory with the vPars version delivered in Update 3,
it was necessary to specify the cell identifiers for the processors to match the local memory. This had
the drawback of disallowing gWLM to perform processor deletion operations upon the cell local
processors. With the enhancements added in Update 4, gWLM is free to delete any core, and online
processor addition operations will select the cores that give the best possible resource alignment.
The creation commands did not specify any I/O allocations. The needed I/O could be added with
subsequent commands. For example:
vparmodify -p vp5 -a io:1/0/0/2/0.6.0:BOOT -a io:1/0/0/1/0
vparmodify -p vp6 -a io:1/0/4/0/0.6.0:BOOT -a io:1/0/6/1/0
As a general rule, overall system performance is determined by processor to memory alignment, and
is less sensitive to I/O location. Most I/O operations are asynchronous and the operating system and
applications employ a wide variety of latency-hiding techniques to make progress while I/O
operations are pending. If a particular workload were sensitive to processor to I/O alignment, this
can be achieved by specifying I/O location with the create command. For example:
vparcreate -p vp5 -a cpu::4 -a io:3/0/0/2/0.6.0:BOOT -a io:3/0/0/1/0
vparcreate -p vp6 -a cpu::4 -a io:3/0/4/0/0.6.0:BOOT -a io:3/0/6/1/0
It is also possible to specify both local memory and I/O in the vparcreate command, in which case
the processor cores are allocated across the set of localities is spanned by the memory and I/O. The
following command would allocate processor cores preferentially from cells 2 and 3:
vparcreate -p vp5 -a cpu::4 -a mem::4096 -a cell:2:mem::28672
-a io:3/0/0/2/0.6.0:BOOT -a io:3/0/0/1/0