topology - Program to display Altix 3000 machine configu
ration
SYNOPSIS
topology
DESCRIPTION
topology is a Bourne shell script that uses information in
/dev/hw to print a description of an Altix 3000 system
configuration. This command is useful to make sure that
the user's view of the system hardware matches that of the
firmware and operating system. For example, the user may
expect processor 0 and 1 to be processors on the same
front-side bus in a particular node. However, under cer
tain conditions, the system configuration can be different
from what is expected. Applications whose performance is
sensitive to process placement may run more slowly than
expected in this case, and the user may need to know the
current system configuration in order to assist in diag
nosing this problem.
The command can also be used to determine the relative
"closeness" of various processors and memory to one
another (since this depends on the number of links that a
request needs to traverse in order to get from one proces
sor to another.)
Finally, this command is useful to print the system con
figuration either before or after a change in system par
titioning to make sure tha the system was partitioned as
intended.
EXAMPLE
The following is the output generated by topology on an
internal machine at SGI:
<-----------------------sample output begins
Machine tester.sgi.com has: 6 cpu's 3 memory nodes
The cpus are:
cpu 0 is /dev/hw/module/001c11/slab/0/node/cpubus/0/a
cpu 1 is /dev/hw/module/001c11/slab/0/node/cpubus/0/c
cpu 2 is /dev/hw/module/001c11/slab/1/node/cpubus/0/a
cpu 3 is /dev/hw/module/001c11/slab/1/node/cpubus/0/c
cpu 4 is /dev/hw/module/001c14/slab/1/node/cpubus/0/a
cpu 5 is /dev/hw/module/001c14/slab/1/node/cpubus/0/c
The nodes are:
node 0 is /dev/hw/module/001c11/slab/0/node
node 1 is /dev/hw/module/001c11/slab/1/node
node 2 is /dev/hw/module/001c14/slab/1/node
/dev/hw/module/001c11/slab/0/node/link/1 is /dev/hw/mod
ule/001c11/slab/1/node
/dev/hw/module/001c11/slab/1/node/link/1 is /dev/hw/mod
ule/001c11/slab/0/node
/dev/hw/module/001c11/slab/1/node/link/2 is /dev/hw/mod
ule/001c14/slab/1/node
/dev/hw/module/001c14/slab/1/node/link/2 is /dev/hw/mod
ule/001c11/slab/1/node
/dev/hw/module/001c11/slab/0/node/xtalk/0/link ->
/dev/hw/module/001c11/slab/0/Pbrick
<---------------------sample output ends
This output indicates that:
ˇ The system has 6 cpu's and 3 nodes.
ˇ Cpu's 0 and 1 are on the node with internal identi
fier 001c11/slab/0.
ˇ Cpu's 2 and 3 are on the node with internal identi
fier 001c11/slab/0.
ˇ Cpu's 4 and 5 are on the node with internal identi
fier 001c14/slab/1.
ˇ Cpu's 0 and 1 are processors on the same front side
bus in node 001c11/slab/0. (They are cpubus/0/a and
cpubus/0/c on that node).
ˇ Cpu's 2 and 3 are processors on the same front-side
bus in node 001c11/slab/1.
ˇ Cpu's 3 and 4 are processors on the same front-side
bus in node 001c11/slab/1.
ˇ Numalink connections run from 001c11/slab/0 to
001c11/slab/1 and back.
ˇ Numalink connections run from 001c11/slab/1 to
001c14/slab/1 and back. Thus, memory requests
orginating on node 001c14/slab/1 that are drected to
memory located on node 001c11/slab/0 get there via
node 001c11/slab/1.
ˇ The processors at 001c14/slab/0 are not currently
part of the configuration. (They may either be
absent or offline for some reason.)
ˇ node 001c11's xtalk link A is connected to a Pbrick
Man(1) output converted with
man2html