The Context Manager requires the HPVM administrator to provide a network configuration file that describes the physical configuration of the network. The default name of the file is `fmconfig.txt', but this can be changed by setting "MCP file" in the NT registry (look in HKEY_LOCAL_MACHINE\SOFTWARE\CSAG\HPVM\Myrinet\Context Manager).
The network configuration file contains one line for each switch in the network. The first field on a line is a switch number, which is assigned by the HPVM administrator to identify that switch uniquely. Following the switch number is a field for each port of the switch that specifies what that port is connected to: either another switch, a workstation, or nothing. Switches are specified by their switch number, workstations by their name, and dangling ports by a `-'.
For example, consider the following network, which contains three machines (BLUE, GREEN, and PINK) and two 4-port Myrinet switches:
The corresponding network configuration file might look like this:
0 - 1 GREEN BLUE 1 - - PINK 0
0 YELLOW ORANGE
Suffixing a switch number with `@port' tells the CM to connect the source switch logically to port of the target switch. This is used when there are multiple physical connections between a pair of switches. (Normally, the CM chooses arbitrarily among the various possibilities.) For example,
0 1@1 1@3 GREEN BLUE 1 - 0@0 PINK 0@1
specifies that switch 0, port 0 connects to switch 1, port 1 and that switch 0, port 1 connects to switch 1, port 3. Without `@port', the CM might assume the wrong connection and render HPVM processes unable to communicate.
The up*/down* routing algorithm used by HPVM maps routes to links assuming one root node; we added a feature that optionally allows the algorithm to consider more than one root while performing the mapping. The up*/down* routing scheme works by first computing a breadth-first logical tree starting from an arbitrary node (ideally the physical root in case of tree topolgy), and assigning a "up" (toward the root) and a "down" (away from the root) direction to each link in the network based on the computed tree. The scheme then mandates that all legal routes be composed of zero or more links in the "up" direction, followed by zero or more in the "down" direction. Such restriction prevents deadlock by avoiding the formation of dependency cycles between links. In HPVM the root is by default the last switch specified in the `fmconfig.txt' file; this information can be used to optimize the placement of routes by putting the root switch of a tree-shaped network at the end of the file. For topologies with more than one root (e.g. tree with duplicated roots) the selection of more than one root can be forced using the ` switch!' notation. For example,
... 45! 44 PINK 46! GREEN 40
specifies that switch 45 and switch 46 should be both regarded as roots when assigning "up" and "down" directions to the links in the route mapping procedure. The result is a balanced allocation of routes across the multiple trees; however the use of more than one root makes the routing potentially deadlock-prone in non-tree topologies.
Dual and Octal switches are more complicated than standard 8-port switches. This is because these switches contain internal switches and FM needs to understand the internal configuration to route messages correctly. Included in the distribution in the `etc' directory is a Perl script called `makefmconfig.pl'. Instructions on how to use this script to generate network configurations when dual/octal switches are used is included. The script alleviates the tedium and possibility of introducing errors by automatically providing network entries for the internal switches.
Go to the first, previous, next, last section, table of contents.