Using ParaStation MPI process pinning

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.