[ofa-general] Re: [PATCH] opensm: multi lid routing balancing for updn/minhop
Sasha Khapyorsky
sashak at voltaire.com
Sun Mar 9 08:09:56 PDT 2008
Hi Al,
On 15:08 Mon 03 Mar , Al Chu wrote:
>
> 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.
This looks like a great improvement. Thanks.
Sasha
More information about the general
mailing list