[openib-general] [PATCH] osm: fat-tree documentation
Yevgeny Kliteynik
kliteyn at dev.mellanox.co.il
Wed Dec 27 08:19:23 PST 2006
Hi Hal.
Added fat-tree routing details and some cosmetics in the txt files.
--
Yevgeny
Signed-off-by: Yevgeny Kliteynik <kliteyn at dev.mellanox.co.il>
---
osm/doc/current-routing.txt | 57 ++++++++++++++++++++++++++++++++++++++----
osm/doc/modular-routing.txt | 4 +-
2 files changed, 53 insertions(+), 8 deletions(-)
diff --git a/osm/doc/current-routing.txt b/osm/doc/current-routing.txt
index e58ae1f..da050c6 100644
--- a/osm/doc/current-routing.txt
+++ b/osm/doc/current-routing.txt
@@ -1,5 +1,5 @@
Current OpenSM Routing
-12/20/06
+12/27/06
OpenSM offers three routing engines:
@@ -11,11 +11,10 @@ node, but it is constrained to ranking r
if the subnet is not a pure Fat Tree, and deadlock may occur due to a
loop in the subnet.
-3. Fat Tree Unicast routing algorithm - this algorithm optimizes routing
-for congestion-free "shift" communication pattern.
-It should be chosen if a subnet is a symmetrical Fat Trees of various types,
-not just K-ary-N-Trees: non-constant K, not fully staffed, any CBB ratio.
-Similar to UPDN, Fat Tree routing is constrained to ranking rules.
+3. Fat-tree Unicast routing algorithm - this algorithm optimizes routing
+Of fat-trees for congestion-free "shift" communication pattern.
+It should be chosen if a subnet is a symmetrical fat-tree.
+Similar to UPDN, Fat-tree routing is credit-loop-free.
OpenSM now also offers a file method which can load routes from a table. See
modular-routing.txt for more information on this.
@@ -73,6 +72,7 @@ switches will be skipped. Multicast is n
Min Hop Algorithm
+-----------------
The Min Hop algorithm is invoked when neither UPDN or the file method are
specified.
@@ -91,6 +91,9 @@ port GUID. The latter is supplied by:
LMC awareness routes based on (remote) system or switch basis.
+UPDN Routing Algorithm
+----------------------
+
Purpose of UPDN Algorithm
The UPDN algorithm is designed to prevent deadlocks from occurring in loops
@@ -151,3 +154,45 @@ To learn more about deadlock-free routin
"Deadlock Free Message Routing in Multiprocessor Interconnection Networks"
by William J Dally and Charles L Seitz (1985).
+
+Fat-tree Routing Algorithm
+--------------------------
+
+Purpose:
+
+The fat-tree algorithm optimizes routing for "shift" communication pattern.
+It should be chosen if a subnet is a symmetrical fat-tree of various types.
+It supports not just K-ary-N-Trees, by handling for non-constant K,
+cases where not all leafs (HCAs) are present, any CBB ratio.
+As in UPDN, fat-tree also prevents credit-loop-deadlocks.
+Fat-tree algorithm supports topologies that comply with the following rules:
+ - Tree rank should be between two and eight (inclusively)
+ - Switches of the same rank should have the same number
+ of UP-going port groups*, unless they are root switches,
+ in which case the shouldn't have UP-going ports at all.
+ - Switches of the same rank should have the same number
+ of DOWN-going port groups, unless they are leaf switches.
+ - Switches of the same rank should have the same number
+ of ports in each UP-going port group.
+ - Switches of the same rank should have the same number
+ of ports in each DOWN-going port group.
+*ports that are connected to the same remote switch are referenced as 'port group'.
+
+Note that although fat-tree algorithm supports trees with non-integer CBB
+ratio, the routing will not be as balanced as in case of integer CBB ratio.
+In addition to this, although the algorithm allows leaf switches to have any
+number of HCAs, the closer the tree to be fully populated, the more effective
+the "shift" communication pattern will be.
+
+The algorithm also dumps HCA ordering file (osm-ftree-ca-order.dump) in the
+same directory where the OpenSM log resides. This ordering file provides the
+HCA order that may be used to create efficient communication pattern, that
+will match the routing tables.
+
+
+Usage:
+
+Activation through OpenSM
+
+Use '-R ftree' option to activate the fat-tree algorithm.
+
diff --git a/osm/doc/modular-routing.txt b/osm/doc/modular-routing.txt
index 3708e1b..86677d0 100644
--- a/osm/doc/modular-routing.txt
+++ b/osm/doc/modular-routing.txt
@@ -6,8 +6,8 @@ for ease of "plugging" new routing modul
Currently, only unicast callbacks are supported. Multicast
can be added later.
-One existing routing module is up-down "updn", which may be
-activate with '-R updn' option (instead of old '-u').
+One of existing routing modules is up-down "updn", which may
+be activate with '-R updn' option (instead of old '-u').
General usage is:
$ opensm -R 'module-name'
--
1.4.4.1.GIT
More information about the general
mailing list