When setting up CPU pools, pay attention to the physical server architecture.
Larger servers with a higher multiprocessor level may have multiple processor modules. These generally have their own cache. In NUMA architectures, the main memory is separated into several domains, which are each assigned to a specific processor module from an administration perspective. Memory access times from a CPU core to a memory module assigned to its “own” processor module is more performant than access to “more remote” memory modules.
If a task or a VM moves between different processor modules during processing, the performance is impaired by cache losses and memory access times. When using CPU pools, you have the opportunity to reduce these effects:
- Only assign CPUs from the same processor module to your CPU pools:
In an optimum situation, each CPU pool will be limited to just one module.
However, such strict delineation is not always possible, e.g. as soon as a CPU pool has to have more CPUs than a single module provides due to the performance requirements of a VM. You should then attempt to distribute your CPU pools among the CPUs in such a way that- at least the most performance critical VMs can use as many CPUs as possible from a particular module.
- as few CPU pools as possible are split between multiple modules.
The general conditions to be considered depend on the specific server unit:
SU /390
An SU /390 has one or two system boards. These each house a processor module with up to 16 BS2000 CPUs and the associated IO processors and main memory.
An SU710 or SU730 has one to two system boards.
Up to and including the respective -70 models, all CPUs are located on one board, which means there is nothing to consider.
The models -100 to -160 have two system boards. The first 8 CPUs are located on the first board and all others on the second board. Ideally, your CPU pools should therefore only include either the CPUs 0-7 or 8-15.
An SU740 has one system board.
On this system board, there is one processor containing 16 cores. However, this processor is internally split into to sections with 8 cores each. Considering performance, this causes effects similar to the older models with two system boards:
Up to and including SU740-80 there is nothing to consider.
On the models from SU740-100 to SU740-160, your CPU pools should ideally only include either CPUs 0-7 oder 8-15.
SU x86
An SU x86 has two or four Intel processors. Each of these correspond to a processor module. To guarantee thorough separation, CPU pools exist at several hierarchical levels, some of which cannot be influenced by configuration settings.
More in-depth details can be found in the “ Fujitsu SE Server - Administration and Operation” manual[4], “Visualization on x86 server unit” section. But for the understanding in this context , only the following information is relevant:
Each physical CPU (corresponding to an Intel core) is pre-assigned to one of two internal system pools (X2000, BS2000). This classification cannot be influenced.
The pool containing all BS2000 CPUs is located in one or two process modules depending on the server model. With VM2000, a further subdivision can be carried out using VM2000 CPU pools.
Therefore, from a VM2000 perspective, the assignment of the physical CPUs follows essentially the same logic as for /390 servers, i.e. the first BS2000 CPU is always assigned to the first CPU of a particular module. If there are more BS2000 CPUs than a module provides, all remaining CPUs are located on the other module. The following applies here:
- An SU310 has Intel processors, each with 16 cores. Therefore, all BS2000 CPUs are located in the same module. Although there is nothing to consider concerning the server architecture, you are advised to configure CPU pools only as large as necessary.
- An SU330(B) has Intel processors, each with 16 cores. Therefore, all BS2000 CPUs are located in the same module. Although there is nothing to consider concerning the server architecture, you are advised to configure CPU pools only as large as necessary.
- An SU340 has Intel processors, each with 16 cores. Therefore, all BS2000 CPUs are located in the same module. Although there is nothing to consider concerning the server architecture, you are advised to configure CPU pools only as large as necessary.