QLogic OFED+ Host Software User Guide, Rev. B
QLogic OFED+ Host Software User Guide, Rev. B
QLogic OFED+ Host Software User Guide, Rev. B
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
4–Running <strong>QLogic</strong> MPI on <strong>QLogic</strong> Adapters<br />
Performance Tuning<br />
Job Blocking in Case of Temporary InfiniBand Link Failures<br />
By default, as controlled by mpirun’s quiescence parameter -q, an MPI job is<br />
killed for quiescence in the event of an InfiniBand link failure (or unplugged cable).<br />
This quiescence timeout occurs under one of the following conditions:<br />
• A remote rank’s process cannot reply to out-of-band process checks.<br />
• MPI is inactive on the InfiniBand link for more than 15 minutes.<br />
To keep remote process checks but disable triggering quiescence for temporary<br />
InfiniBand link failures, use the -disable-mpi-progress-check option with a<br />
nonzero -q option. To disable quiescence triggering altogether, use -q 0. No<br />
matter how these options are used, link failures (temporary or other) are always<br />
logged to syslog.<br />
If the link is down when the job starts and you want the job to continue blocking<br />
until the link comes up, use the -t -1 option.<br />
Performance Tuning<br />
CPU Affinity<br />
These methods may be used at runtime. Performance settings that are typically<br />
set by the system administrator are listed in “Performance Settings and<br />
Management Tips” on page 3-25.<br />
InfiniPath attempts to run each node program with CPU affinity set to a separate<br />
logical processor, up to the number of available logical processors. If CPU affinity<br />
is already set (with sched_setaffinity() or with the taskset utility), then<br />
InfiniPath will not change the setting.<br />
Use the taskset utility with mpirun to specify the mapping of MPI processes to<br />
logical processors. This combination makes the best use of available memory<br />
bandwidth or cache locality when running on dual-core Symmetric<br />
MultiProcessing (SMP) cluster nodes.<br />
The following example uses the NASA Advanced Supercomputing (NAS) Parallel<br />
Benchmark’s Multi-Grid (MG) benchmark and the -c option to taskset.<br />
$ mpirun -np 4 -ppn 2 -m $hosts taskset -c 0,2 bin/mg.B.4<br />
$ mpirun -np 4 -ppn 2 -m $hosts taskset -c 1,3 bin/mg.B.4<br />
The first command forces the programs to run on CPUs (or cores) 0 and 2. The<br />
second command forces the programs to run on CPUs 1 and 3. See the taskset<br />
man page for more information on usage.<br />
To turn off CPU affinity, set the environment variable IPATH_NO_CPUAFFINITY.<br />
This environment variable is propagated to node programs by mpirun.<br />
D000046-005 B 4-23