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

pshpstuningguidewp040105.doc

Page 8

Page 8
Image 8
IBM pSeries manual Chgsni command