IP Library › Granted Patent US 9,294,385
Granted Patent B2
US 9,294,385 · App. 14/194,861 · Granted Mar 22, 2016

Deadlock-free routing in fat tree networks

Inventors: Mircea Gusat (Langnau, CH); Cyriel J Minkenberg (Gutenswil, CH); German Rodriguez Herrera (Adliswil, CH)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
H04L45/122H04L45/48
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,294,385
App. No.
14/194,861
Granted
Mar 22, 2016
Kind
B2
Abstract

Methods and apparatus are provided for routing data packets between source and destination switches in a fat tree network. For each packet, a route is selected having three or less routing phases such that the route follows a shortest path across the network between the source and destination switches. The data packet is transmitted from the source switch to the destination switch, via the route, on one of first and second virtual channels unless the route includes a predetermined one of a down-up turn and an up-down turn. If the route includes the predetermined one of a down-up turn and an up-down turn, the data packet is transmitted, via the route, on the first virtual channel up to the switch 1 at which the turn occurs and on the second virtual channel from that switch. This provides full-connectivity in fat tree networks with deadlock free operation.

Claims (55)

1. A computer-implemented method for routing data packets between source and destination switches in a fat tree network, the method comprising the steps of:

selecting a route for each packet having three or less routing phases such that the route follows a shortest path across said network between the source and destination switches;

transmitting the data packet from the source switch to the destination switch, via said route, on one of first and second virtual channels unless the route includes a predetermined one of a down-up turn and an up-down turn; and

transmitting the data packet, via the route, on the first virtual channel up to the switch at which said turn occurs and on the second virtual channel from that switch if the route includes said predetermined one of a down-up turn and an up-down turn, wherein said predetermined one of a down-up turn and an up-down turn is a down-up turn.

2. The method according to claim 1 further comprising the step of:

transmitting the data packet on the first virtual channel, if the route does not include said predetermined one of a down-up turn and an up-down turn.

3. The method according to claim 1 , further comprising the step of:

calculating the routes for data packets.

4. The method according to claim 1 , further comprising the step of:

selecting the route for a data packet using predetermined routing data indicating precalculated routes between pairs of switches in the network.

5. The method according to claim 3 , further comprising the step of:

calculating the route for each data packet dynamically in operation of the network.

6. The method according to claim 1 , wherein the fat tree network is an indirect fat tree network, and wherein each switch in a lowest level of the topology of the fat tree network is connected to at least one end node.

7. The method according to claim 1 , wherein the fat tree network is a direct fat tree network and wherein at least one switch in at least one level of the topology of the direct fat tree network is connected to at least one end node.

8. The method according to claim 1 , wherein the fat tree network is a direct fat tree network and wherein each switch in the fat tree network is connected to at least one end node.

9. The method according to claim 1 , wherein the fat tree network includes at least one direct fat tree network and at least one interconnection network, and wherein at least one switch in at least one level of the topology of the direct fat tree network is connected to at least one end node.

10. A computer-implemented method for determining routing of data packets between pairs of source and destination switches in a fat tree network, the method comprising the steps of:

selecting respective routes having three or less routing phases such that each route follows a shortest path across said network between the source and destination switches;

assigning each route to one of first and second virtual channels from the source switch to the destination switch unless that route includes a predetermined one of a down-up turn and an up-down turn; and

assigning the route to the first virtual channel up to the switch at which said turn occurs and to the second virtual channel from that switch, if a route includes said predetermined one of a down-up turn and an up-down turn, wherein said predetermined one of a down-up turn and an up-down turn is a down-up turn.

11. A method as claimed in claim 10 , further comprising the step of:

providing routing data, indicating each said route and virtual channel assignment thereof, for use by switches in the network.

12. A computer-implemented method for routing data packets between source and destination switches in a fat tree network, the method comprising the steps of:

selecting a route for each packet having three or less routing phases such that the route follows a shortest path across said network between the source and destination switches;

transmitting the data packet from the source switch to the destination switch, via said route, on one of first and second virtual channels unless the route includes a predetermined one of a down-up turn and an up-down turn;

transmitting the data packet, via the route, on the first virtual channel up to the switch at which said turn occurs and on the second virtual channel from that switch if the route includes said predetermined one of a down-up turn and an up-down turn

calculating the routes for data packets; and

calculating the route for a data packet by determining, for each switch on the route, the direction of the routing phase for the next hop and the next switch on the route in that direction.

13. The method according to claim 12 , further comprising the step of:

transmitting the data packet on the first virtual channel, if the route does not include said predetermined one of a down-up turn and an up-down turn.

14. The method according to claim 12 , further comprising the step of:

determining, for each switch on the route, the virtual channel for the next hop in dependence on said direction.

15. The method according to claim 12 , further comprising the step of:

selecting the route for a data packet using predetermined routing data indicating precalculated routes between pairs of switches in the network.

16. The method according to claim 12 , further comprising the step of:

calculating the route for each data packet dynamically in operation of the network.

17. The method according to claim 12 , wherein the fat tree network is an indirect fat tree network, and wherein each switch in a lowest level of the topology of the fat tree network is connected to at least one end node.

18. The method according to claim 12 , wherein the fat tree network is a direct fat tree network and wherein at least one switch in at least one level of the topology of the direct fat tree network is connected to at least one end node.

19. The method according to claim 12 , wherein the fat tree network is a direct fat tree network and wherein each switch in the fat tree network is connected to at least one end node.

20. The method according to claim 12 , wherein the fat tree network includes at least one direct fat tree network and at least one interconnection network, and wherein at least one switch in at least one level of the topology of the direct fat tree network is connected to at least one end node.

21. A computer-implemented method for routing data packets between source and destination switches in a fat tree network, the method comprising the steps of:

selecting a route for each packet having three or less routing phases such that the route follows a shortest path across said network between the source and destination switches;

transmitting the data packet from the source switch to the destination switch, via said route, on one of first and second virtual channels unless the route includes a predetermined one of a down-up turn and an up-down turn;

transmitting the data packet, via the route, on the first virtual channel up to the switch at which said turn occurs and on the second virtual channel from that switch if the route includes said predetermined one of a down-up turn and an up-down turn;

calculating the routes for data packets;

calculating the route for each data packet dynamically in operation of the network; and

calculating the route for each data packet hop-by-hop at successive switches in said path.

22. The method according to claim 21 , further comprising the step of:

transmitting the data packet on the first virtual channel, if the route does not include said predetermined one of a down-up turn and an up-down turn.

23. The method according to claim 21 , further comprising the step of:

selecting the route for a data packet using predetermined routing data indicating precalculated routes between pairs of switches in the network.

24. The method according to claim 21 , wherein the fat tree network is an indirect fat tree network, and wherein each switch in a lowest level of the topology of the fat tree network is connected to at least one end node.

25. The method according to claim 21 , wherein the fat tree network is a direct fat tree network and wherein at least one switch in at least one level of the topology of the direct fat tree network is connected to at least one end node.

26. The method according to claim 21 , wherein the fat tree network is a direct fat tree network and wherein each switch in the fat tree network is connected to at least one end node.

27. The method according to claim 21 , wherein the fat tree network includes at least one direct fat tree network and at least one interconnection network, and wherein at least one switch in at least one level of the topology of the direct fat tree network is connected to at least one end node.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2014
From: GUSAT, MIRCEA; MINKENBERG, CYRIEL J; RODRIGUEZ HERRERA, GERMAN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 032546/0995 →
Continuity (1)
Related Publication 20150249590A1 · Sep 3, 2015