
Exemplar C and Fortran 77 Programmer's Guide
System utilities
[ Previous Page ] [ Next Page ] [ Contents ]
This chapter describes various utilities that allow you to make
more effective use of your Exemplar servers. Before discussing
any of these utilities, however, we need to discuss subcomplexes
because some of the utilities (such as mpa, scm, and sysinfo)
work with subcomplexes.
On Exemplar servers, processes run on subcomplexes, which are collections of processors and global memory. Subcomplexes are highly configurable, and configuration is done by the system administrator using the Subcomplex Manager. For more information on the Subcomplex Manager, refer to the scm(1) man page or the SPP-UX System Administrator's Guide.
Subcomplexes allow the system administrator to tailor processors and memory to specific application needs, making the most efficient use of system resources. For example, a nonparallel or nontime-critical application can be allocated a single processor; an application containing a lot of fine-grain parallelism can be allocated many processors; and an application requiring large amounts of memory can be allocated processors on several hypernodes. (A hypernode is a set of processors and physical memory organized as a symmetric multiprocessor, or SMP, running a single image of the operating system microkernel.)
Subcomplexes can consist of from one processor to the total number installed on the server. Hypernodes can be split among as many subcomplexes as there are processors in the hypernode, and subcomplexes can be subsets or supersets of hypernodes. Processors can belong to only one subcomplex at a time, and--in order to be used--every processor must belong to a subcomplex.
Figure 1 shows a 4-hypernode, 64-processor X2000 server split into four subcomplexes.
Figure 1 Hypothetical subcomplex configurations
See the Exemplar Programming Guide for more information on subcomplexes.
chatr utilityThe chatr (change attributes) utility can be used to print a file's
attributes to standard output and to change the file's attributes.
chatrThe first example shows the chatr output (file attributes) on a
serial executable:
% chatr a.out
a.out:
ESOM shared executable
shared library dynamic path search:
SHLIB_PATH disabled second
embedded path disabled first Not Defined
internal name:
a.out
shared library list:
dynamic /usr/lib/libc.1e
shared library binding:
deferred
The following example shows the chatr output from a parallel
executable:
% chatr parallel-a.out
parallel-a.out:
ESOM shared executable
shared library dynamic path search:
SHLIB_PATH disabled second
embedded path disabled first Not Defined
internal name:
parallel-a.out
shared library list:
dynamic /usr/lib/libpthread.1
dynamic /usr/lib/libcps.1
dynamic /usr/lib/libail.sl
dynamic /usr/lib/libc.1e
shared library binding:
deferred
This output lists the extra libraries linked into a parallel executable.
chatr informationFor more information on using the chatr utility, see the chatr(1)
man page.
file utilityThe file utility is used to determine file types. It can be
used to determine an abundance of information including whether an
executable file's parallel flag is set or whether an executable file is
in the SOM or ESOM format. (See the section "SOM vs. ESOM" on
page 62 for more information on these formats.)
fileThe first example below shows that the a.out is in the ESOM format:
% file a.out a.out: PA-RISC2.0 ESOM shared executable dynamically linked -not stripped
The next example shows the output when file is used on a
parallel a.out:
% file a.out a.out: PA-RISC2.0 ESOM shared executable dynamically linked parallel -not stripped
If a file is in the SOM format, SOM does not appear in output; the
absence of ESOM indicates a SOM file, as shown in the following
example:
% file a.out a.out: PA-RISC2.0 shared executable dynamically linked -not stripped
file informationFor more information on using the file utility, see the file(1)
man page.
mpa utilityThe mpa utility is used to modify program attributes of an
executable file. It can control the:
Changes to a program's attributes can be made temporarily (for a
single run of the executable) or permanently (the executable
maintains the attributes until changed) using -m.
mpaThis section shows several short examples of how to use the mpa
utility. The examples assume that the executable a.out was
compiled using +O3 +Oparallel or +O4 +Oparallel, and
hence is a parallel executable.
% mpa -sc chemistry a.out
% mpa -min 8 -max 16 a.out
available, the -over option enables oversubscription (running
more than one thread per processor):
% mpa -min 4 -max 4 -over a.out
-STACK in all uppercase
without an argument):
% mpa -STACK a.out
You can set the stack size to sizes less than the largest allowed by
the system by using -stack s, where s is a positive integer.
mpa informationFor more information on using mpa, see the mpa(1) man page.
sysinfo utilityThe sysinfo command provides system information regarding
memory, processors, and subcomplexes. This command can
produce information such as:
sysinfoThis section provides examples of how to use the sysinfo utility.
% sysinfo -a
Using -a shows each individual option (except -a) to sysinfo
followed by its corresponding output. Due to its length, the
output from sysinfo -a is not shown.
% sysinfo -cpu_count
16
The output indicates that the current system has 16 processors.
% sysinfo -ls System load average: 1.86 1.92 2.02 EPM load average: 0.58 0.69 0.83 MLIB load average: 1.07 1.04 0.79
The output shows three subcomplexes (System, EPM, and MLIB)
and their respective load averages.
Display memory statistics for the entire system:
% sysinfo -memc COMPLEX MEMORY max allocated free global 0M 0M 0M node private 1843M 783M 1060M buffer cache 204M network cache 0M total 2048M 783M 1060M
The sysinfo -memc output provides information on the various
types of memory available.
sysinfo informationFor more information on using sysinfo, see the sysinfo(1) man
page.
Table 10 lists other system utilities that you may find helpful in using your Exemplar server. Sources for additional information on these utilities are given in the second column of the table.
|
Prints thread information for processes. See the cnx_ps(1) man page for more information. |
|
Maintains, updates, and regenerates groups of programs. See the make(1) man page for more information. |
|
Monitors total memory usage per hypernode; use |
|
Prints the name list of an object file or library; |
<> Transfer interrupted! |