[ofa-general] Re: [PATCH] osm: enhancing fat-tree routing for non-pure trees
Hal Rosenstock
halr at voltaire.com
Sun Jul 8 15:15:17 PDT 2007
Hi Yevgeny,
On Sun, 2007-07-08 at 09:55, Yevgeny Kliteynik wrote:
> Hi Hal.
>
> This patch handles the two new options for fat-tree routing:
> root guid file and compute node guid files, and by doing that
> fat-tree routing it is able to handle trees that are not pure
> fat-trees, or even not symmetrical.
> But the routing "quality" depends on the tree "correctness" -
> the more the topology looks like pure fat-tree, the better
> the routing.
>
> All the changes are in one file - osm_ucast_ftree.c, so as
> much as I've tried to divide this patch into separate stages,
> I found myself going back and fixing things too many times, so
> at this point it won't make sense to send this patch in parts,
> as earlier patches would have too much wrong code that was fixed
> later.
>
> Bottom line: sorry, but this thing has to go in a single patch.
>
> Here's what this patch does:
>
> 1. Some modifications to ftree data structures and functions
> - Added guid getters for CAs and switches
> - Added node type and guid for each port group
> - Some naming changes
> - Added get_sw_by_guid and get_hca_by_guid functions
>
> 2. Reading roots and compute nodes from guid files
> - Marking CAs with the number of CNs on the node
> - Marking port groups if they belong to CN
>
> 3. Ranking rewritten to supports root guids
> - ftree.tree_rank replaced by two ranks:
> ftree.max_switch_rank and ftree.leaf_switch_rank.
> - Tree rank for routing is considered as (ftree.leaf_switch_rank + 1)
>
> 4. Created leaf switch array that contains all the leafs
> with CNs and possibly leafs between them, according to
> the fabric indexing.
>
> 5. Checking new "lighter" topology constaraint
> - all the leafs with real CNs should be at the same tree rank.
>
> 6. Implemented the routing itself:
> - routing to all the CNs first
> - routing dummy targets for all the missing nodes
> or non-CNs that are connected to leaf switches
> - routing to all the non-CN CAs in the fabric
> (routing them as real targets on secondary path)
> - routing to all the switch-to-switch pathes (left the same)
>
> 7. Updated ordering file dump qfunction
> - Treating non-compute nodes as dummies
>
> -- Yevgeny
>
> Signed-off-by: Yevgeny Kliteynik <kliteyn at dev.mellanox.co.il>
Thanks. Applied.
-- Hal
More information about the general
mailing list