Sugiro ativar o serviço NumaD:
yum install numad
systemctl enable numad
systemctl start numad
A numd deve ser capaz de cuidar da localização da memória automaticamente. A situação como processo é executada na CPU do primeiro nó NUMA, no entanto, os dados estão no local da RAM ao segundo nó NUMA, não devem mais acontecer (a menos que a quantidade de memória necessária seja maior que a capacidade da RAM local para o único nó NUMA).
Sugiro também configurar o serviço ajustado com perfil, que corresponde melhor ao seu cenário de uso. Você teria que medir as diferenças e escolher o melhor (ou você pode criar algumas personalizadas).
Talvez eu tenha encontrado o motivo do comportamento estranho em seu nó. Eu procurei por mpirun e encontrei a página man:
Está escrito:
Quick Summary
If you are simply looking for how to run an MPI application, you probably want to use a command line of the following form: % mpirun [ -np X ] [ --hostfile ] This will run X copies of in your current run-time environment (if running under a supported resource manager, Open MPI’s mpirun will usually automatically use the corresponding resource manager process starter, as opposed to, for example, rsh or ssh, which require the use of a hostfile, or will default to running all X copies on the localhost), scheduling (by default) in a round-robin fashion by CPU slot. See the rest of this page for more details.
Please note that mpirun automatically binds processes as of the start of the v1.8 series. Three binding patterns are used in the absence of any further directives:
Bind to core: when the number of processes is <= 2
Bind to socket: when the number of processes is > 2
Bind to none: when oversubscribed
If your application uses threads, then you probably want to ensure that you are either not bound at all (by specifying --bind-to none), or bound to multiple cores using an appropriate binding level or specific number of processing elements per application process.
No seu caso, com n = 22, não há vinculação aplicada e os segmentos podem ser realocados. Você pode tentar ligação de CPU externa (como com taskset). Você terá que experimentar.