IP Library Granted Patent US 12,418,475
Granted Patent B2
US 12,418,475 · App. 18/077,906 · Granted Sep 16, 2025

Fault-tolerant routing algorithm for toroidal network topologies

Inventors: Yazhou Zu (Sunnyvale, CA); Brian Patrick Towles (Chapel Hill, NC); Alireza Ghaffarkhah (San Jose, CA)
Assignee: Google LLC
H04L45/28H04L45/54
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 12,418,475
App. No.
18/077,906
Granted
Sep 16, 2025
Kind
B2
Abstract

Generally disclosed herein is an approach for optimizing routing strategy to tolerate faults in a toroidal network topology including, but not limited to, N-dimensional mesh, torus, and twisted torus. The approach may include balancing a load for a specified input traffic pattern operating offline or online. The approach may also include an optimization enhancement technique specifically applicable to symmetric, dynamically composable toroidal networks based on a set of centrally connected circuit switches.

Claims (52)

1. Method for optimizing routing for a network, the method comprising:

(i) taking, by one or more processors, a first hop arbitrarily from a source node to a current node along any direction, the first hop establishing a candidate route;

(ii) taking, by the one or more processors, a subsequent hop across a link from the current node to an additional node following a dimension order;

(iii) assigning, by the one or more processors, the additional node as the current node and repeating steps (ii)-(iii) until the current node is a destination node; and

(iv) taking, by the one or more processors, a new first hop from the source node along a new direction to establish a new candidate route and repeating steps (ii)-(iv) until candidate routes are established for all directions from the source node,

further comprising load-balancing each link within the network using integer linear programming, and further comprising:

determining the load balance of each link using the following formula:

γ

C

=

p

c

x

p

wherein, γ C is the load on each link c, p is a candidate route, and x is a Boolean variable that determines whether the candidate route passing the link c is selected by the integer linear programming.

2. The method of claim 1 , further comprising:

minimizing a maximum load across all channels using the following optimization formula:

Minimize L,s·t

γ C ≤L dim(c) ,∀c

L d ≤L,∀d

wherein L is the maximum load across all dimensions, L dim(c) is a maximum load across all link c on a dimension, and L d is a maximum load on dimension d.

3. The method of claim 2 , further comprising:

reducing a number of the channels by taking a multiplier between a fault pattern and a traffic pattern of the network.

4. A routing system of optimizing routing for a network comprises:

a network fabric;

a plurality of circuit switches; and

a plurality of compute nodes, each compute node comprising one or more processors and memory storing instructions that, when performed by the one or more processors, causes the one or more processors to perform operations, the operations comprising:

(i) taking a first hop arbitrarily from either a source node to a current node along any direction, the first hop establishing a candidate route;

(ii) taking a subsequent hop across a link from the current node to an additional node following a dimension order;

(iii) assigning the additional node as the current node and repeating steps (ii)-(iii) until the current node is the destination node; and

(iv) taking a new first hop from the source node along a new direction to establish a new candidate route and repeating steps (ii)-(iv) until candidate routes are established for all directions from the source node,

wherein the operation further comprises load-balancing each link within the network using integer linear programming, and wherein the operation further comprises:

determining the load balance of each link using the following formula:

γ

C

=

p

c

x

p

wherein, γ C is the load on each link c, p is a candidate route, and x is a Boolean variable that determines whether the candidate route passing the link c is selected by the integer linear programming.

5. The system of claim 4 , wherein the operation further comprises: minimizing a maximum load across all channels using the following optimization formula:

Minimize L,s·t

γ C ≤L dim(c) ,∀c

L d ≤L,∀d

wherein L is the maximum load across all dimensions, L dim(c) is a maximum load across all link c on a dimension, and L d is a maximum load on dimension d.

6. The system of claim 5 , wherein the operation further comprises:

reducing a number of the channels by taking a multiplier between a fault pattern and a traffic pattern of the network.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2022
From: ZU, YAZHOU; TOWLES, BRIAN PATRICK; GHAFFARKHAH, ALIREZA
To: GOOGLE LLC
Reel/Frame 062037/0701 →
Continuity (1)
Related Publication 20240195732A1 · Jun 13, 2024
References Cited (28)
US 8085659B2 · Duato Marin et al. · 2011 [cited by applicant]
US 9282037B2 · Parker et al. · 2016 [cited by applicant]
US 9590914B2 · Atlar et al. · 2017 [cited by applicant]
US 10153985B2 · Kim et al. · 2018 [cited by applicant]
US 10469380B2 · Parker et al. · 2019 [cited by applicant]
US 11075892B2 · Venkataraman · 2021 [cited by applicant]
US 11362934B2 · Oprea et al. · 2022 [cited by applicant]
US 11784920B2 · Roweth et al. · 2023 [cited by applicant]
US 20050100035A1 · Chiou · 2005 [cited by examiner]
US 20140185611A1 · Lie · 2014 [cited by examiner]
US 20140237156A1 · Regula · 2014 [cited by examiner]
US 20200112480A1 · Johnsen · 2020 [cited by examiner]
US 20200322258A1 · Oprea et al. · 2020 [cited by applicant]
US 20200389404A1 · Wu et al. · 2020 [cited by applicant]
US 20230094933A1 · Towles · 2023 [cited by applicant]
US 20230261973A1 · Jennings · 2023 [cited by applicant]
CN 1787478A · 2006 [cited by applicant]
Priyanka N. Chopkar and Mahendra A. Gailwad, Ph.D., Review of XY Routing Algorithm for 2D Torus Topology of NoC Architecture, Recent Trends in Engineering Technology, 2013, 5 pages. [cited by applicant]
Jens Domke, Torsten Hoefler, and Satoshi Matsuoka, Routing On The Dependency Graph: A New Approach To Deadlock-Free High Performance Routing, 2016, 12 pages. [cited by applicant]
Abdul Quaiyum Ansari, Mohammad Rashid Ansari and Mohammad Ayoub Khan, Modified Quadrant-Based Routing Algorithm for 3D Torus Network-on-Chip Architecture, Feb. 20, 2016, 4 pages. [cited by applicant]
Bjarne E. Helvik, and Ragnar Øivind Andreassen, Fault Tolerance in Optical Networks; A Study Of Electronic in-and Egress Interconnections in Torus Topologies, Jan. 2005, 13 pages. [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2023/020000 dated Aug. 17, 2023. 15 pages. [cited by applicant]
Yang et al. RDT Properties and Evaluations. Information Technology: New Generations, 2006. ITNG 2006. Third International Conference On Las Vegas, Nv, USA Apr. 10-12, 2006, IEEE, Piscataway, NJ, USA, Apr. 10, 2006 (Apr.… [cited by applicant]
Valiant. A Scheme for Fast Parallel Communication. Siam J. Comput. vol. 11, No. 2, May 1982. Society for Industrial and Applied Mathematics, 12 pages. [cited by applicant]
Singh et al. Locality-Preserving Randomized Oblivious Routing on Torus Networks. SPAA'02, Aug. 10-13, 2002, Winnipeg, Manitoba, Canada. 11 pages. [cited by applicant]
Ramanujam et al. Weighted Random Oblivious Routing on Torus Networks. Oct. 2009. ANCS '09: Proceedings of the 5th ACM/IEEE Symposium on Architectures for Networking and Communications Systems. 9 pages. [cited by applicant]
Extended European Search Report for European Patent Application No. 24212842.9 dated Apr. 22, 2025. 9 pages. [cited by applicant]
Flavell et al. Tokkyu: A High-Performance, Randomizing, Adaptive Message Router With Packet Expressway. IEICE Transactions on Information and Systems, Information & Systems Society, Tokyo, JP, vol. E78-D, No. 10, Oct. 1… [cited by applicant]