[ofa-general] Some confusion about DOR algorithm

Dale Purdy purdy at sgi.com
Wed Jun 24 08:58:05 PDT 2009


On Tue, Jun 23, 2009 at 01:46:04PM +0800, Jordan wrote:
> I have some confusion about the DOR algorithm , in this algorithm , It
> chooses the outport throuth a "for" iteration :for (i = start_from; i <
> start_from + num_ports; i++).  So the  small port_num will be choosed
> firstly.
> But not always the small port_num connects the X-dimension or Y-dimension.In
> other words , using this method we can't always conform the DOR rule.
> By the way , in the specification, it says " Paths are grown from a
> destination back to a source using the lowest dimension (port) of available
> paths at each step. ". Maybe ,the lowest port connect to the X-dimension in
> one switch, but it connects to the Y-dimension in another switch. So when
> routing the package from A to B, the dimension may be X -Y- Y- X- X- Y, not
> X-X-X- Y-Y-Y . This will   break the DOR rule.
> 
> Can anybody explain this situation?

You will also note that the description of the DOR Routing Algorithm
indicates that the same port must be used throughout the fabric to
represent the hypercube dimension.  The fabric must be consistently
cabled such that each switch to switch port # is in one to one
correspondence with a hypercube dimension.  Similarly for
(consecutive) port pairs representing a dimension of a mesh.  With a
fabric cabled as described, following port order is the same as
following dimension order.  Perhaps someone could relax these
requirements using the new osm_mesh.c routines.

-- 
Dale



More information about the general mailing list