beautypg.com

2 local disks on compute nodes, 3 i/o performance considerations, 1 shared file view – HP XC System 2.x Software User Manual

Page 54: 2 private file view

background image

utilities/libHYPRE_utilities.a:

$(PREFIX) $(MAKE) $(MAKE_J) -C utilities

The modified Makefile is invoked as follows:

$ make PREFIX=’srun -n1 -N1’ MAKE_J=’-j4’

3.9.2 Local Disks on Compute Nodes

The use of a local disk for private, temporary storage may be configured on the compute
nodes of your HP XC system. Contact your system administrator to find out about the local
disks configured on your system.

A local disk is a temporary storage space and does not hold data across execution of
applications. Therefore, any information generated by the application during its execution is not
saved on the local disk once the application has completed.

3.9.3 I/O Performance Considerations

Before building and running your parallel application, I/O performance issues on the HP XC
cluster must be considered.

The I/O control system provides two basic types of standard file system views to the application:

Shared

Private

3.9.3.1 Shared File View

Although a file opened by multiple processes of an application is shared, each processor
maintains a private file pointer and file position. This means that if a certain order of input or
output from multiple processors is desired, the application must synchronize its I/O requests or
position its file pointer such that it acts on the desired file location.

Output requests to standard output and standard error are line-buffered, which can be sufficient
output ordering in many cases. A similar effect for other files can be achieved by using append
mode when opening the file with the

fopen

system call:

fp = fopen ("myfile", "a+");

3.9.3.2 Private File View

Although the shared file approach improves ease of use for most applications, some applications,
especially those written for shared-nothing clusters, can require the use of file systems private to
each node. To accommodate these applications, the system must be configured with local disk.

For example, assume

/tmp

and

/tmp1

have been configured on each compute node.

Now each process can open up a file named

/tmp/myscratch

or

/tmp1/myother-

scratch

and each would see a unique file pointer. If these file systems do not exist local to

the node, an error results.

It is a good idea to use this option for temporary storage only, and make sure that the application
deletes the file at the end.

C example:

fd = open ("/tmp/myscratch", flags)

Fortran example:

open (unit=9, file="/tmp1/myotherscratch" )

3-14

Developing Applications