GID capable switching in an infiniband fabric
AssigneeIntel Corporation
InventorMark S. Hefty
Life of this patent
Estimating the term…
Abstract
Methods, systems, and apparatus for extending the size of Infiniband subnets using GID switching in an Infiniband fabric. An Infiniband subnet is defined to include multiple local identifier (LID) domains, each including multiple nodes interconnected via one or more LID switches. In turn, the LID domains are interconnected via one or more GID switches. Messages may be transferred between nodes in a given LID domain using LID switches in the domain. Messages may be transferred between nodes in separate LID domains by routing the messages via one or more GID switches. In various embodiments, GID switches may be implemented to also operate as LID switches and perform routing based on selected packet header fields.
Claims17
An Infiniband subnet, comprising:
- a plurality of Infiniband Local Identifier (LID) domains, each LID domain including a plurality of nodes interconnected in communication with other nodes in the LID domain via at least one LID switch;
- and
- at least one Infiniband Global Identifier (GID) switch, each GID switch connected in communication with at least one LID switch in each of at least two LID domains,
- wherein the LID switches and each GID switch is configured to route messages between the plurality of nodes such that communications between nodes within a LID domain employ at least one LID switch and communications between nodes in different LID domains employ at least two LID switches and at least one GID switch;
- and
- wherein each of the GID switches employs a GID switch routing table having a plurality of fields including a Destination GID (DGID) field and a new Destination LID (DLID) field, wherein packets are routed via a GID switch by inspecting a packet DGID and assigning a new DLID address to the packet based on a corresponding entry in the GID switch routing table and routing the packet to a corresponding port defined for a routing table entry having a DGID value or DGID range corresponding to the packet DGID.
A Global Identifier (GID) switch, comprising:
- one or more processing elements;
- memory;
- packet routing logic, stored in the memory, comprising instructions configured to be executed on at least one of the one or more processing elements to enable the GID switch to perform GID switching operations when implemented in an InfiniBand subnet including a plurality of Local Identifier (LID) domains, each LID domain including a plurality of nodes interconnected in communication with other nodes in the LID domain via at least one LID switch;
- first and second ports configured to support routing of packets between the GID switch and first and second LID switches;
- and
- a GID switch routing table having a plurality of fields including a Destination GID (DGID) field and a new Destination LID (DLID) field, wherein packets originating from a first LID domain and destined for a second LID domain are routed via the GID switch by inspecting a packet DGID and assigning a new DLID address to the packet based on a corresponding entry in the GID switch routing table and routing the packet to a corresponding port defined for a routing table entry having a DGID value or DGID range corresponding to the packet DGID.
A method comprising:
- implementing an InfiniBand subnet comprising a plurality of local identifier (LID) domains linked in communication via at least one global identifier (GID switch), each LID domain including a plurality of nodes interconnected in communication via at least one LID switch;
- routing messages between nodes within a given LID domain using at least one LID switch implemented in that domain;
- and
- routing messages between nodes in first and second LID domains using a respective LID switch in each of the first and second LID domains and at least one GID switch located outside of the first and second LID domains,
- wherein each GID switch employs a GID switch routing table having a plurality of fields including a Destination GID (DGID) field and a new Destination LID (DLID) field, wherein packets are routed via a GID switch by inspecting a packet DGID and assigning a new DLID address to the packet based on a corresponding entry in the GID switch routing table and routing the packet to a corresponding port defined for a routing table entry having a DGID value or DGID range corresponding to the packet DGID.
Dependencies are inferred from the claim text.