Three dimensional fat tree networks
AssigneePLX Technology, Inc.
InventorJack Regula
Life of this patent
Estimating the term…
Abstract
In a first embodiment of the present invention, a non-blocking switch fabric is provided comprising: a first set of intra-domain switches; a second set of intra-domain switches; a set of inter-domain switches located centrally between the first set of intra-domain switches and the second set of intra-domain switches, wherein each of the ports of each of the inter-domain switches is connected to an intra-domain switch from the first or second set of intra-domain switches.
Claims12
A method for operating an intra-domain switch in a first set of intra-domain switches in a non-blocking switch fabric having the first set of intra-domain switches, a second set of intra-domain switches, and a set of inter-domain switches located between the first set of intra-domain switches and the second set of intra-domain switches, the method comprising:
- at an outside edge port of the intra-domain switch, inserting, in a packet that must travel between domains, an inter-domain routing prefix identifying both the source and destination domains;
- and
- passing the packet that must travel between domains to one of the inter-domain switches via an inside edge port of the intra-domain switch, the method further comprising:
- classifying an incoming packet as an ordered packet or an unordered packet;
- for an ordered packet, forwarding the incoming packet to a port identified by a spread routing table using a hash of source and destination identifications as a table index;
- and
- for an unordered packet, forwarding the incoming packet to a currently least utilized port, that leads to a root of the non-blocking switch fabric, having a smallest accumulator value, wherein an accumulator value for a port is increased by a value proportional to a length of each packet being forwarded to that port.
A non-transitory program storage device readable by a machine tangibly embodying a program of instructions executable by the machine to perform a method for operating an intra-domain switch in a first set of intra-domain switches in a non-blocking switch fabric having the first set of intra-domain switches, a second set of intra-domain switches, and a set of inter-domain switches located between the first set of intra-domain switches and the second set of intra-domain switches, the method comprising:
- at an outside edge port of the intra-domain switch, inserting, in a packet that must travel between domains, an inter-domain routing prefix identifying both a source and a destination domain;
- and
- passing the packet that must travel between domains to one of the inter-domain switches via an inside edge port of the intra-domain switch, the method including:
- classifying an incoming packet as an ordered packet or an unordered packet;
- for an ordered packet, forwarding the incoming packet to a port identified by a spread routing table using a hash of source and destination identifications as a table index;
- and
- for an unordered packet, forwarding the incoming packet to a currently least utilized port, that leads to a root of the non-blocking switch fabric, having a smallest accumulator value, wherein an accumulator value for a port is increased by a value proportional to a length of each packet being forwarded to that port.
An apparatus operating an intra-domain switch in a first set of intra-domain switches in a non-blocking switch fabric having the first set of intra-domain switches, a second set of intra-domain switches, and a set of inter-domain switches located between the first set of intra-domain switches and the second set of intra-domain switches, the apparatus comprising:
- means for, at an outside edge port of the intra-domain switch, inserting, in a packet that must travel between domains, an inter-domain routing prefix identifying both source destination domains;
- means for passing the packet that must travel between domains to one of the intra-domain switches via an inside edge port of the intra-domain switch,
- means for classifying an incoming packet as an ordered packet or an unordered packet;
- for an ordered packet, forwarding the incoming packet to a port identified by a spread routing table using a hash of source and destination identifications as a table index;
- and
- for an unordered packet, forwarding the incoming packet to a currently least utilized port, that leads to a root of the non-blocking switch fabric, having a smallest accumulator value, wherein an accumulator value for a port is increased by a value proportional to a length of each packet being forwarded to that port.
Dependencies are inferred from the claim text.