Locality-Optimized Resource Alignment
13
This first example was extremely simple: the resources on each cell were divided in half. But it shows
quite clearly the power behind the LORA concept: the alignment between processor cores and local
memory guarantees that the preponderance of memory references will be satisfied through the fastest
hardware path.
A slightly more complicated example involves dividing the nPartition into four equal vPars instances.
Each instance must have 6 cores and 48 GB of memory, of which 42 GB is local memory and 6 GB
is interleaved memory. The first three instances can be built easily, with each taking three quarters of
the resources on a cell. The fourth instance must be built from the remaining resources and is
therefore split across all three cells. The splintering of a vPars instance reduces performance and so
should be avoided when possible, but sometimes it is inevitable.
For this example, the processor and memory allocations would be as shown in the following diagram:
Figure 3. Four equal vPars instances configured according to LORA rules
It would not have been so smooth if it had been requested to create 7 equal vPars instances from the
nPartition of 3 cells. The arithmetic implies that each instance would have 3.4 cores, but only an
integral number of cores can be allocated. To solve this problem, some instances could have 3 cores
and others 4, or the entire allocation could be handled by the technique for creating custom instances
described in the next section.