[openib-general] OpenSM

shaharf shaharf at voltaire.com
Tue Mar 29 07:33:02 PST 2005


Hi abhijitngpune,

 

OpenSM do not know care about the topology of the network. Every
connected graph is valid for it. BTW, fat tree can have cycles too. If I
don't err, the algorithm used by the OpenSM is a variation of some well
known graph algorithm invented by Dijkstra or based on one of Dijkstra's
(I hope I write his name correctly) algorithm. You can find these
algorithms in any graph theory text book - look for "find all shortest
paths" algorithms. (for example :
http://ciips.ee.uwa.edu.au/~morris/Year2/PLDS210/dijkstra.html )

 

Very briefly the algorithm that the opensm is using goes like that:

 

1. All switches learn about themselves (hop 0) and any direct connected
hosts (hop 1). They keep this information in a forwarding table that
contains (schematically) the following information (the actual details
are a bit more complicated to be able to support multipathing) :

 

Lid (local port id), out-port, hops

 

2. Now you start the hop>1 learning phase that use several passes over
the switches. On every single pass, you go over all switches (the order
does not matter) and within each switch you go examine any direct
attached switch called "neighbor".   For every such neighbor you compare
your forwarding table to neighbor table. If you find a lid that have hop
count less than your hop count +1 (for the extra hop between you and the
neighbor switch)  you change you table entry to route that lid thought
the connecting port.

 

3. You repeat the above process until no table is changed during a
complete pass, or until number of switch passes are done.

 

The correctness of this algorithm is left to the reader ;-)

 

It seems that you are using gen1 stack and Opensm. Please be aware to
the fact that gen1 tree is not supported any more. Please use gen2.

The opensm Tcl extension is not supported on gen2 and I don't know on
any plans to support it.

 

Regarding the topology example - any connected graph will do. I guess
that most connected graphs are very inefficient traffic wise, but still
all of them are valid.

 

Demonstrating that a topology is configured correctly is a bit of a
problem. If you are willing to spend some efforts, you can use the
topology simulator released with Melloanox Gold - look for the IBADM
package. This stuff is not very well documented but it should be
useable. Melloanox released (or about to release) a real subnet
simulator that you can use to run opensm on top of it. Using this
simulator you can test any arbitrary topology. The problem is that you
have to port this simulator to gen2.

Any volunteers are welcomed...

  

Shahar

 

________________________________

From: openib-general-bounces at openib.org
[mailto:openib-general-bounces at openib.org] On Behalf Of abhijitngpune
Sent: Tuesday, March 29, 2005 3:09 PM
To: openib-general at openib.org
Subject: [openib-general] OpenSM

 

Hi all, I am a new to infiniband and related issues. I have some few
doubts related to openSM. 1. how does openSM support the non fat tree
(graph having cycles) topologies? (any research paper will do) 2. Given
a graph (it contains cycles) topology how can i demonstrate that subnet
manager working for this topology? 3. What is openSM tcl extension is
used for? does anybody have example code for perticular (irregular/ non
fat tree) topology? Abhijeet 

________________________________

Indiatimes Email now powered by APIC Advantage. Help!
<http://email.indiatimes.com/apic/>  

My Presence
<http://imaround.indiatimes.com/IMaround/presencefr.mss?userid=abhijitng
pune> Help <http://email.indiatimes.com/apic/userpage.html> 

________________________________

 



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/general/attachments/20050329/5baa6a3d/attachment.html>


More information about the general mailing list