QLogic OFED+ Host Software User Guide, Rev. B
QLogic OFED+ Host Software User Guide, Rev. B
QLogic OFED+ Host Software User Guide, Rev. B
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
7 Dispersive Routing<br />
Infiniband uses deterministic routing that is keyed from the Destination LID (DLID)<br />
of a port. The Fabric Manager programs the forwarding tables in a switch to<br />
determine the egress port a packet takes based on the DLID.<br />
Deterministic routing can create hotspots even in full bisection bandwidth (FBB)<br />
fabrics for certain communication patterns if the communicating node pairs map<br />
onto a common upstream link, based on the forwarding tables. Since routing is<br />
based on DLIDs, the InfiniBand fabric provides the ability to assign multiple LIDs<br />
to a physical port using a feature called Lid Mask Control (LMC). The total number<br />
of DLIDs assigned to a physical port is 2^LMC with the LIDS being assigned in a<br />
sequential manner. The common InfiniBand fabric uses a LMC of 0, meaning<br />
each port has 1 LID assigned to it. With non-zero LMC fabrics, this results in<br />
multiple potential paths through the fabric to reach the same physical port. For<br />
example, multiple DLID entries in the port forwarding table that could map to<br />
different egress ports.<br />
Dispersive routing, as implemented in the PSM, attempts to avoid congestion<br />
hotspots described above by “spraying” messages across these paths. A<br />
congested path will not bottleneck messages flowing down the alternate paths<br />
that are not congested. The current implementation of PSM supports fabrics with<br />
a maximum LMC of 3 (8 LIDs assigned per port). This can result in a maximum of<br />
64 possible paths between a SLID, DLID pair ([SLID, DLID],[SLID, DLID+1],<br />
[SLID,DLID+2]…..[SLID,DLID+8],[SLID+1, DLID],[SLID+1, DLID+1]…..[SLID+7,<br />
DLID+8]). Keeping state associated with these many paths requires large amount<br />
of memory resources, with empirical data showing not much gain in performance<br />
beyond utilizing a small set of multiple paths. Therefore PSM reduces the number<br />
of paths actually used in the above case to 8 where the following paths are the<br />
only ones considered for transmission — [SLID, DLID], [SLID + 1, DLID + 1],<br />
[SLID + 2, DLID + 2] ….. [SLID + N, DLID + N]. This makes the resource<br />
requirements manageable while providing most of the benefits of dispersive<br />
routing (congestion avoidance by utilizing multiple paths).<br />
D000046-005 B 7-1