|
Packit |
13e616 |
.TH TORUS\-2QOS.CONF 5 "January 4, 2013" "OpenIB" "OpenIB Management"
|
|
Packit |
13e616 |
.
|
|
Packit |
13e616 |
.SH NAME
|
|
Packit |
13e616 |
torus\-2QoS.conf \- Torus-2QoS configuration for OpenSM subnet manager
|
|
Packit |
13e616 |
.
|
|
Packit |
13e616 |
.SH DESCRIPTION
|
|
Packit |
13e616 |
.
|
|
Packit |
13e616 |
The file
|
|
Packit |
13e616 |
.B torus-2QoS.conf
|
|
Packit |
13e616 |
contains configuration information that is specific to the OpenSM
|
|
Packit |
13e616 |
routing engine torus-2QoS.
|
|
Packit |
13e616 |
Blank lines and lines where the first non-whitespace character is
|
|
Packit |
13e616 |
"#" are ignored.
|
|
Packit |
13e616 |
A token is any contiguous group of non-whitespace characters.
|
|
Packit |
13e616 |
Any tokens on a line following the recognized configuration tokens described
|
|
Packit |
13e616 |
below are ignored.
|
|
Packit |
13e616 |
.
|
|
Packit |
13e616 |
.P
|
|
Packit |
13e616 |
\fR[\fBtorus\fR|\fBmesh\fR]
|
|
Packit |
13e616 |
\fIx_radix\fR[\fBm\fR|\fBM\fR|\fBt\fR|\fBT\fR]
|
|
Packit |
13e616 |
\fIy_radix\fR[\fBm\fR|\fBM\fR|\fBt\fR|\fBT\fR]
|
|
Packit |
13e616 |
\fIz_radix\fR[\fBm\fR|\fBM\fR|\fBt\fR|\fBT\fR]
|
|
Packit |
13e616 |
.RS
|
|
Packit |
13e616 |
Either \fBtorus\fR or \fBmesh\fR must be the first keyword in the
|
|
Packit |
13e616 |
configuration, and sets the topology
|
|
Packit |
13e616 |
that torus-2QoS will try to construct.
|
|
Packit |
13e616 |
A 2D topology can be configured by specifying one of
|
|
Packit |
13e616 |
\fIx_radix\fR, \fIy_radix\fR, or \fIz_radix\fR as 1.
|
|
Packit |
13e616 |
An individual dimension can be configured as mesh (open) or torus
|
|
Packit |
13e616 |
(looped) by suffixing its radix specification with one of
|
|
Packit |
13e616 |
\fBm\fR, \fBM\fR, \fBt\fR, or \fBT\fR. Thus, "mesh 3T 4 5" and
|
|
Packit |
13e616 |
"torus 3 4M 5M" both specify the same topology.
|
|
Packit |
13e616 |
.P
|
|
Packit |
13e616 |
Note that although torus-2QoS can route mesh fabrics, its ability to
|
|
Packit |
13e616 |
route around failed components is severely compromised on such fabrics.
|
|
Packit |
13e616 |
A failed fabric component is very likely to cause a disjoint ring;
|
|
Packit |
13e616 |
see \fBUNICAST ROUTING\fR in torus-2QoS(8).
|
|
Packit |
13e616 |
.RE
|
|
Packit |
13e616 |
.
|
|
Packit |
13e616 |
.P
|
|
Packit |
13e616 |
\fBxp_link
|
|
Packit |
13e616 |
\fIsw0_GUID sw1_GUID
|
|
Packit |
13e616 |
.br
|
|
Packit |
13e616 |
.ns
|
|
Packit |
13e616 |
\fByp_link
|
|
Packit |
13e616 |
\fIsw0_GUID sw1_GUID
|
|
Packit |
13e616 |
.br
|
|
Packit |
13e616 |
.ns
|
|
Packit |
13e616 |
\fBzp_link
|
|
Packit |
13e616 |
\fIsw0_GUID sw1_GUID
|
|
Packit |
13e616 |
.br
|
|
Packit |
13e616 |
.ns
|
|
Packit |
13e616 |
\fBxm_link
|
|
Packit |
13e616 |
\fIsw0_GUID sw1_GUID
|
|
Packit |
13e616 |
.br
|
|
Packit |
13e616 |
.ns
|
|
Packit |
13e616 |
\fBym_link
|
|
Packit |
13e616 |
\fIsw0_GUID sw1_GUID
|
|
Packit |
13e616 |
.br
|
|
Packit |
13e616 |
.ns
|
|
Packit |
13e616 |
\fBzm_link
|
|
Packit |
13e616 |
\fIsw0_GUID sw1_GUID
|
|
Packit |
13e616 |
\fR
|
|
Packit |
13e616 |
.RS
|
|
Packit |
13e616 |
These keywords are used to seed the torus/mesh topology.
|
|
Packit |
13e616 |
For example, "xp_link 0x2000 0x2001" specifies that a link from
|
|
Packit |
13e616 |
the switch with node GUID 0x2000 to the switch with node GUID 0x2001
|
|
Packit |
13e616 |
would point in the positive x direction,
|
|
Packit |
13e616 |
while "xm_link 0x2000 0x2001" specifies that a link from
|
|
Packit |
13e616 |
the switch with node GUID 0x2000 to the switch with node GUID 0x2001
|
|
Packit |
13e616 |
would point in the negative x direction. All the link keywords for
|
|
Packit |
13e616 |
a given seed must specify the same "from" switch.
|
|
Packit |
13e616 |
.P
|
|
Packit |
13e616 |
In general, it is not necessary to configure both the positive and
|
|
Packit |
13e616 |
negative directions for a given coordinate; either is sufficient.
|
|
Packit |
13e616 |
However, the algorithm used for topology discovery needs extra information
|
|
Packit |
13e616 |
for torus dimensions of radix four (see \fBTOPOLOGY DISCOVERY\fR in
|
|
Packit |
13e616 |
torus-2QoS(8)). For such cases both the positive and negative coordinate
|
|
Packit |
13e616 |
directions must be specified.
|
|
Packit |
13e616 |
.P
|
|
Packit |
13e616 |
Based on the topology specified via the \fBtorus\fR/\fBmesh\fR keyword,
|
|
Packit |
13e616 |
torus-2QoS will detect and log when it has insufficient seed configuration.
|
|
Packit |
13e616 |
.RE
|
|
Packit |
13e616 |
.
|
|
Packit |
13e616 |
.P
|
|
Packit |
13e616 |
\fBx_dateline
|
|
Packit |
13e616 |
\fIposition
|
|
Packit |
13e616 |
.br
|
|
Packit |
13e616 |
.ns
|
|
Packit |
13e616 |
\fBy_dateline
|
|
Packit |
13e616 |
\fIposition
|
|
Packit |
13e616 |
.br
|
|
Packit |
13e616 |
.ns
|
|
Packit |
13e616 |
\fBz_dateline
|
|
Packit |
13e616 |
\fIposition
|
|
Packit |
13e616 |
\fR
|
|
Packit |
13e616 |
.RS
|
|
Packit |
13e616 |
In order for torus-2QoS to provide the guarantee that path SL values
|
|
Packit |
13e616 |
do not change under any conditions for which it can still route the fabric,
|
|
Packit |
13e616 |
its idea of dateline position must not change relative to physical switch
|
|
Packit |
13e616 |
locations. The dateline keywords provide the means to configure such
|
|
Packit |
13e616 |
behavior.
|
|
Packit |
13e616 |
.P
|
|
Packit |
13e616 |
The dateline for a torus dimension is always between the switch with
|
|
Packit |
13e616 |
coordinate 0 and the switch with coordinate radix-1 for that dimension.
|
|
Packit |
13e616 |
By default, the common switch in a torus seed is taken as the origin of
|
|
Packit |
13e616 |
the coordinate system used to describe switch location.
|
|
Packit |
13e616 |
The \fIposition\fR parameter for a dateline keyword moves the origin
|
|
Packit |
13e616 |
(and hence the dateline) the specified amount relative to the common
|
|
Packit |
13e616 |
switch in a torus seed.
|
|
Packit |
13e616 |
.RE
|
|
Packit |
13e616 |
.
|
|
Packit |
13e616 |
.P
|
|
Packit |
13e616 |
\fBnext_seed
|
|
Packit |
13e616 |
\fR
|
|
Packit |
13e616 |
.RS
|
|
Packit |
13e616 |
If any of the switches used to specify a seed were to fail torus-2QoS
|
|
Packit |
13e616 |
would be unable to complete topology discovery successfully.
|
|
Packit |
13e616 |
The \fBnext_seed\fR keyword specifies that the following link and dateline
|
|
Packit |
13e616 |
keywords apply to a new seed specification.
|
|
Packit |
13e616 |
.P
|
|
Packit |
13e616 |
For maximum resiliency, no seed specification should share a switch
|
|
Packit |
13e616 |
with any other seed specification.
|
|
Packit |
13e616 |
Multiple seed specifications should use dateline configuration to
|
|
Packit |
13e616 |
ensure that torus-2QoS can grant path SL values that are constant,
|
|
Packit |
13e616 |
regardless of which seed was used to initiate topology discovery.
|
|
Packit |
13e616 |
.RE
|
|
Packit |
13e616 |
.
|
|
Packit |
13e616 |
.P
|
|
Packit |
13e616 |
\fBportgroup_max_ports
|
|
Packit |
13e616 |
\fImax_ports
|
|
Packit |
13e616 |
\fR
|
|
Packit |
13e616 |
.RS
|
|
Packit |
13e616 |
This keyword specifies the maximum number of parallel inter-switch
|
|
Packit |
13e616 |
links, and also the maximum number of host ports per switch, that
|
|
Packit |
13e616 |
torus-2QoS can accommodate.
|
|
Packit |
13e616 |
The default value is 16.
|
|
Packit |
13e616 |
Torus-2QoS will log an error message during topology discovery if this
|
|
Packit |
13e616 |
parameter needs to be increased.
|
|
Packit |
13e616 |
If this keyword appears multiple times, the last instance prevails.
|
|
Packit |
13e616 |
.P
|
|
Packit |
13e616 |
Note that the switch management port (switch port 0) gets put into
|
|
Packit |
13e616 |
the same port group with the host ports, so if you have 16 host ports per
|
|
Packit |
13e616 |
switch, portgroup_max_ports would need to be at least 17.
|
|
Packit |
13e616 |
.RE
|
|
Packit |
13e616 |
.
|
|
Packit |
13e616 |
.P
|
|
Packit |
13e616 |
\fBport_order
|
|
Packit |
13e616 |
\fIp1 p2 p3 ...
|
|
Packit |
13e616 |
\fR
|
|
Packit |
13e616 |
.RS
|
|
Packit |
13e616 |
This keyword specifies the order in which CA ports on a destination switch
|
|
Packit |
13e616 |
are visited when computing routes. When the fabric contains switches connected
|
|
Packit |
13e616 |
with multiple parallel links, routes are distributed in a round-robin fashion
|
|
Packit |
13e616 |
across such links, and so changing the order that CA ports are visited changes
|
|
Packit |
13e616 |
the distribution of routes across such links. This may be advantageous for
|
|
Packit |
13e616 |
some specific traffic patterns.
|
|
Packit |
13e616 |
.P
|
|
Packit |
13e616 |
The default is to visit CA ports in increasing port
|
|
Packit |
13e616 |
order on destination switches.
|
|
Packit |
13e616 |
.P
|
|
Packit |
13e616 |
Duplicate values in the list will be ignored.
|
|
Packit |
13e616 |
.RE
|
|
Packit |
13e616 |
.
|
|
Packit |
13e616 |
.P
|
|
Packit |
13e616 |
\fBmax_changes
|
|
Packit |
13e616 |
\fImax
|
|
Packit |
13e616 |
\fR
|
|
Packit |
13e616 |
.RS
|
|
Packit |
13e616 |
This keyword specifies the maximum number of torus changes reported.
|
|
Packit |
13e616 |
The default value is 32.
|
|
Packit |
13e616 |
.RE
|
|
Packit |
13e616 |
.
|
|
Packit |
13e616 |
.SH EXAMPLE
|
|
Packit |
13e616 |
.
|
|
Packit |
13e616 |
\f(RC
|
|
Packit |
13e616 |
.nf
|
|
Packit |
13e616 |
# Look for a 2D (since x radix is one) 4x5 torus.
|
|
Packit |
13e616 |
torus 1 4 5
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
# y is radix-4 torus dimension, need both
|
|
Packit |
13e616 |
# ym_link and yp_link configuration.
|
|
Packit |
13e616 |
yp_link 0x200000 0x200005 # sw @ y=0,z=0 -> sw @ y=1,z=0
|
|
Packit |
13e616 |
ym_link 0x200000 0x20000f # sw @ y=0,z=0 -> sw @ y=3,z=0
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
# z is not radix-4 torus dimension, only need one of
|
|
Packit |
13e616 |
# zm_link or zp_link configuration.
|
|
Packit |
13e616 |
zp_link 0x200000 0x200001 # sw @ y=0,z=0 -> sw @ y=0,z=1
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
next_seed
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
yp_link 0x20000b 0x200010 # sw @ y=2,z=1 -> sw @ y=3,z=1
|
|
Packit |
13e616 |
ym_link 0x20000b 0x200006 # sw @ y=2,z=1 -> sw @ y=1,z=1
|
|
Packit |
13e616 |
zp_link 0x20000b 0x20000c # sw @ y=2,z=1 -> sw @ y=2,z=2
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
y_dateline -2 # Move the dateline for this seed
|
|
Packit |
13e616 |
z_dateline -1 # back to its original position.
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
# If OpenSM failover is configured, for maximum resiliency
|
|
Packit |
13e616 |
# one instance should run on a host attached to a switch
|
|
Packit |
13e616 |
# from the first seed, and another instance should run
|
|
Packit |
13e616 |
# on a host attached to a switch from the second seed.
|
|
Packit |
13e616 |
# Both instances should use this torus-2QoS.conf to ensure
|
|
Packit |
13e616 |
# path SL values do not change in the event of SM failover.
|
|
Packit |
13e616 |
|
|
Packit |
13e616 |
# port_order defines the order on which the ports would be
|
|
Packit |
13e616 |
# chosen for routing.
|
|
Packit |
13e616 |
port_order 7 10 8 11 9 12 25 28 26 29 27 30
|
|
Packit |
13e616 |
.fi
|
|
Packit |
13e616 |
\fR
|
|
Packit |
13e616 |
.
|
|
Packit |
13e616 |
.SH FILES
|
|
Packit |
13e616 |
.TP
|
|
Packit |
13e616 |
.B @OPENSM_CONFIG_DIR@/@TORUS2QOS_CONF_FILE@
|
|
Packit |
13e616 |
Default torus-2QoS config file.
|
|
Packit |
13e616 |
.
|
|
Packit |
13e616 |
.SH SEE ALSO
|
|
Packit |
13e616 |
.
|
|
Packit |
13e616 |
opensm(8), torus-2QoS(8).
|