HP-MPI User's Guide (11th Edition)

Understanding HP-MPI
MPI options
Chapter 3 145
MPI_FLUSH_FCACHE set to 0, fcache pct = 22, attempting to flush
fcache on host opteron2
MPI_FLUSH_FCACHE set to 10, fcache pct = 3, no fcache flush
required on host opteron2
Memory is allocated with mmap, then munmap'd afterwards.
MP_GANG MP_GANG enables gang scheduling on HP-UX systems only.
Gang scheduling improves the latency for synchronization by ensuring
that all runable processes in a gang are scheduled simultaneously.
Processes waiting at a barrier, for example, do not have to wait for
processes that are not currently scheduled. This proves most beneficial
for applications with frequent synchronization operations. Applications
with infrequent synchronization, however, may perform better if gang
scheduling is disabled.
Process priorities for gangs are managed identically to timeshare
policies. The timeshare priority scheduler determines when to schedule a
gang for execution. While it is likely that scheduling a gang will preempt
one or more higher priority timeshare processes, the gang-schedule
policy is fair overall. In addition, gangs are scheduled for a single time
slice, which is the same for all processes in the system.
MPI processes are allocated statically at the beginning of execution. As
an MPI process creates new threads, they are all added to the same gang
if MP_GANG is enabled.
The MP_GANG syntax is as follows:
[ON|OFF]
where
ON Enables gang scheduling.
OFF Disables gang scheduling.
For multihost configurations, you need to set MP_GANG for each appfile
entry. Refer to the -e option in “Creating an appfile” on page 78.
You can also use the HP-UX utility mpsched to enable gang scheduling.
Refer to the HP-UX gang_sched and mpsched man pages for more
information.
NOTE The MP_GANG feature will be deprecated in a future release.