![background image](http://html1.mh-extra.com/html/ibm/pseries/pseries_tuning-manual_3486313008.webp)
pshpstuningguidewp040105.doc
Page
8
Sometimes MPI-IO is used in an application as if it were basic POSIX read/write, either because
there is no need for more complex read/write patterns or because the application was previously
hand-optimized to use POSIX read/write. In such cases, it is often better to use the
IBM_largeblock_io hint on MPI_FILE_OPEN. By default, the PE/MPI implementation of MPI-
IO tries to take advantage of the information the MPI-IO interface can provide to do file I/O more
efficiently. If the MPI-IO calls do not use MPI_data types and file views or collective I/O, there
might not be enough information to do any optimization. The hint shuts off the attempt to
optimize and makes MPI-IO calls behave much like the POSIX I/O calls that GPFS already
handles well.
2.3 chgsni command
The chgsni command is used to tune the HPS drivers by changing a list of settings. The basic
syntax for chgsni is:
chgsni -l <HPS device
name > -a <variable>=<new value>
Multiple variables can be set in a single command.
The key variables to set for TCP/IP are spoolsize and rpoolsize. To change the send IP pools for
HPS, change the spoolsize parameter. To change the receive IP pool, change the rpoolsize
parameter.
The IP buffer pools are allocated in partitions of up to 16MB each. Each increase in the buffer
that crosses a 16 MB boundary allocates an additional partition. If you are running a pSeries 655
system with two HPS links, allocate two partitions (32MB) of buffer space. If you are running a
p690+ system with eight HPS links, set the buffer size to 128MB. If you are running in an LPAR
and have a different number of links, scale the buffer size accordingly.
IP buffer settings are global across all HPS links in an AIX 5L partition. This means you only
need to change the setting on one interface. All other interfaces get the new setting. In other
words, if you run the chgsni command against sn0, the new setting takes effect under sn1, sn2,
and so on, up to the number of links in a node or partition. The following command sets the IP
buffer pools for either a p655 with two HPS links or a p690 LPAR:
chgsni -l sni0 -a spoolsize=33554432 -a rpoolsize=33554432
To see the values for the current chgsni settings, use the lsattr command. The following example
shows the settings on the HPS sni0 link.
lsattr -E -l sni0
> lsattr -E -l sni0
base_laddr 0x3fff9c00000 base address False
driver_debug 0x0 Device driver trace level True
int_level 1040 interrupt level False
ip_kthread 0x1 IP kthread flag True
ip_trc_lvl 0x00001111 IP trace level True
num_windows 16 Number of windows False
perf_level 0x00000000 Device driver perf level True
rdma_xlat_limit 0x8000000000000000 RDMA translation limit True