ParaStation MPI is able to pin down compute tasks to particular cores. This will avoid 'hoping' processes between different cores or CPUs during runtime, controlled by the OS scheduler.
While placing tasks to particular nodes, ParaStation MPI will also decide
which CPU-slots (= virtual cores) on this node will be used. The
physical core assigned to this CPU-slot will be calculated using
the mapping defined in the configuration file or by the
environment variable __PSI_CPUMAP
, provided by
the job environment.
Process pinning may be enabled or disabled globally or on a per
node basis.
Refer to pinProcs,
CPUmap and allowUserMap entries in
parastation.conf
and the set
pinprocs, set cpumap and
set allowusermap directives
of psiadmin for details.
Process pinning may be disabled for a particular job by
defining the environment variable
__PSI_NO_PINPROC
. The value itself is
thereby irrelevant.
See also parastation.conf(5) and psiadmin(1) for more information.