[ofa-general] [PATCH] opensm: multi lid routing balancing for updn/minhop
Al Chu
chu11 at llnl.gov
Mon Mar 3 15:08:44 PST 2008
Hey Sasha,
I was originally going to submit this later on, but given the recent
"rebalancing switch connections" threads, I figure perhaps was now a
good time to post this patch.
When we turn on lmc > 0, we noticed that sometimes extra lids from a
port would be forwarded through one parent switch than another. For
example, suppose LMC = 2 and we are trying to route lids (1,2,3,4). The
lids can be forwarded out of 8 ports, which go to two different
switches. We would see something like this:
switch port 1 (to switch A): 1
switch port 2 (to switch A): 3
switch port 3 (to switch A): 4
switch port 4 (to switch A):
switch port 5 (to switch B): 2
switch port 6 (to switch B)
switch port 7 (to switch B):
switch port 8 (to switch B):
This occurs because the routing for LMC only favors those sys_guids and
node_guids that have not been seen before. But it does not consider how
many times we have routed through a sys_guid/node_guid before.
The patch is fairly straight forward. We just count how many times we
have forwarded to a sys_guid/node_guid before. If there is a port that
has an equal number of paths to another port, but has not been forwarded
out as much, we pick that port. Most of the patch is architectural
changes. I stuff the sys_guid, node_guid, and a counter inside one
struct and array, because we can't count properly using the multiple
uint64_t arrays from before.
Thanks,
Al
--
Albert Chu
chu11 at llnl.gov
925-422-5311
Computer Scientist
High Performance Systems Division
Lawrence Livermore National Laboratory
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-support-balanced-multi-lid-routing.patch
Type: text/x-patch
Size: 15441 bytes
Desc: not available
URL: <http://lists.openfabrics.org/pipermail/general/attachments/20080303/9b27fb0c/attachment.bin>
More information about the general
mailing list