Product specifications
Table Of Contents
- Table of Contents
- 1 Introduction
- 2 Feature Overview
- 3 Step-by-Step Cluster Setup and MPI Usage Checklists
- 4 InfiniPath Cluster Setup and Administration
- Introduction
- Installed Layout
- Memory Footprint
- BIOS Settings
- InfiniPath and OpenFabrics Driver Overview
- OpenFabrics Drivers and Services Configuration and Startup
- Other Configuration: Changing the MTU Size
- Managing the InfiniPath Driver
- More Information on Configuring and Loading Drivers
- Performance Settings and Management Tips
- Host Environment Setup for MPI
- Checking Cluster and Software Status
- 5 Using QLogic MPI
- Introduction
- Getting Started with MPI
- QLogic MPI Details
- Use Wrapper Scripts for Compiling and Linking
- Configuring MPI Programs for QLogic MPI
- To Use Another Compiler
- Process Allocation
- mpihosts File Details
- Using mpirun
- Console I/O in MPI Programs
- Environment for Node Programs
- Environment Variables
- Running Multiple Versions of InfiniPath or MPI
- Job Blocking in Case of Temporary InfiniBand Link Failures
- Performance Tuning
- MPD
- QLogic MPI and Hybrid MPI/OpenMP Applications
- Debugging MPI Programs
- QLogic MPI Limitations
- 6 Using Other MPIs
- A mpirun Options Summary
- B Benchmark Programs
- C Integration with a Batch Queuing System
- D Troubleshooting
- Using LEDs to Check the State of the Adapter
- BIOS Settings
- Kernel and Initialization Issues
- OpenFabrics and InfiniPath Issues
- Stop OpenSM Before Stopping/Restarting InfiniPath
- Manual Shutdown or Restart May Hang if NFS in Use
- Load and Configure IPoIB Before Loading SDP
- Set $IBPATH for OpenFabrics Scripts
- ifconfig Does Not Display Hardware Address Properly on RHEL4
- SDP Module Not Loading
- ibsrpdm Command Hangs when Two Host Channel Adapters are Installed but Only Unit 1 is Connected to the Switch
- Outdated ipath_ether Configuration Setup Generates Error
- System Administration Troubleshooting
- Performance Issues
- QLogic MPI Troubleshooting
- Mixed Releases of MPI RPMs
- Missing mpirun Executable
- Resolving Hostname with Multi-Homed Head Node
- Cross-Compilation Issues
- Compiler/Linker Mismatch
- Compiler Cannot Find Include, Module, or Library Files
- Problem with Shell Special Characters and Wrapper Scripts
- Run Time Errors with Different MPI Implementations
- Process Limitation with ssh
- Number of Processes Exceeds ulimit for Number of Open Files
- Using MPI.mod Files
- Extending MPI Modules
- Lock Enough Memory on Nodes When Using a Batch Queuing System
- Error Creating Shared Memory Object
- gdb Gets SIG32 Signal Under mpirun -debug with the PSM Receive Progress Thread Enabled
- General Error Messages
- Error Messages Generated by mpirun
- MPI Stats
- E Write Combining
- F Useful Programs and Files
- G Recommended Reading
- Glossary
- Index

5–Using QLogic MPI
Performance Tuning
IB6054601-00 H 5-21
A
To keep remote process checks but disable triggering quiescence for temporary
IB link failures, use the -disable-mpi-progress-check option with a
nonzero -q option. To disable quiescence triggering altogether, use -q 0. No
matter how these options are used, link failures (temporary or other) are always
logged to syslog.
If the link is down when the job starts and you want the job to continue blocking
until the link comes up, use the -t -1 option.
Performance Tuning
These methods may be used at runtime. Performance settings that are typically
set by the system administrator are listed in “Performance Settings and
Management Tips” on page 4-22.
Use sysctl to Configure Kernel Parameters
sysctl modifies kernel parameters at runtime. You can use the following
parameters to get better TCP/IPoIB performance; QLogic recommends that you
use all of them. Run /sbin/sysctl (as a root user):
# sysctl net.ipv4.tcp_low_latency=0
# sysctl net.ipv4.tcp_timestamps=0
# sysctl net.ipv4.tcp_sack=0
# sysctl net.ipv4.tcp_rmem=’4096 87380 8475988’
# sysctl net.ipv4.tcp_wmem=’4096 65536 8454144’
# sysctl net.ipv4.tcp_mem=’786432 1048576 1572864’
# sysctl net.ipv4.tcp_max_syn_backlog=3000
# sysctl net.core.rmem_max=8475988
# sysctl net.core.wmem_max=8454144
# sysctl net.core.rmem_default=524287
# sysctl net.core.wmem_default=524287
# sysctl net.core.optmem_max=524287
# sysctl net.core.netdev_max_backlog=3000
These settings are in effect until the next reboot. If you want the settings to take
effect on every reboot, add them at the end of the /etc/sysctl.conf file.
CPU Affinity
InfiniPath attempts to run each node program with CPU affinity set to a separate
logical processor, up to the number of available logical processors. If CPU affinity
is already set (with sched_setaffinity() or with the taskset utility), then
InfiniPath will not change the setting.
NOTE:
The sysctl tuning is not necessary for kernel versions 2.6.18 or higher.