Product specifications

Table Of Contents
5–Using QLogic MPI
QLogic MPI Details
5-12 IB6054601-00 H
S
Enabling and Disabling Software Context Sharing
By default, context sharing is enabled; it can also be specifically disabled.
Context Sharing Enabled: The MPI library provides PSM the local process
layout so that InfiniPath contexts available on each node can be shared if
necessary; for example, when running more node programs than contexts. All
PSM jobs assume that they can make use of all available InfiniPath contexts to
satisfy the job requirement and try to give a context to each process.
When context sharing is enabled on a system with multiple QLogic adapter
(InfiniPath) boards (units) and the IPATH_UNIT environment variable is set, the
number of InfiniPath contexts made available to MPI jobs is restricted to the
number of contexts available on that unit. When multiple InfiniPath devices are
present, it restricts the use to a specific InfiniPath unit. By default, all configured
units are used in round robin order.
Context Sharing Disabled: Each node program tries to obtain exclusive access
to an InfiniPath hardware context. If no hardware contexts are available, the job
aborts.
To explicitly disable context sharing, set this environment variable in one of the
two following ways:
PSM_SHAREDCONTEXTS=0
PSM_SHAREDCONTEXTS=NO
The default value of PSM_SHAREDCONTEXTS is 1 (enabled).
Restricting InfiniPath Hardware Contexts in a Batch Environment
If required for resource sharing between multiple jobs in batch systems, you can
restrict the number of InfiniPath hardware contexts that are made available on
each node of an MPI job by setting that number in the
PSM_SHAREDCONTEXTS_MAX environment variable.
For example, if you are running two different jobs on nodes using the QLE7140,
set PSM_SHAREDCONTEXTS_MAX to 2 instead of the default 4. Each job would
then have at most two of the four available hardware contexts. Both of the jobs
that want to share a node would have to set PSM_SHAREDCONTEXTS_MAX=2 on
that node before sharing begins.
However, note that setting PSM_SHAREDCONTEXTS_MAX=2 as a clusterwide
default would unnecessarily penalize nodes that are dedicated to running single
jobs. So a per-node setting, or some level of coordination with the job scheduler
with setting the environment variable, is recommended.
If some nodes have more cores than others, then the setting must be adjusted
properly for the number of cores on each node.