IP Library › Granted Patent US 12,309,061
Granted Patent B2
US 12,309,061 · App. 17/734,865 · Granted May 20, 2025

Routing policies for graphical processing units

Inventors: Jagwinder Singh Brar (Bellevue, WA); David Dale Becker (Seattle, WA); Lukasz Sulek (Seattle, WA); Jacob Robert Uecker (Las Vegas, NV)
Assignee: Oracle International Corporation
H04L45/38G06T1/20H04L45/34
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,309,061
App. No.
17/734,865
Granted
May 20, 2025
Kind
B2
Abstract

Discussed herein is a routing mechanism for graphical processing units (GPUs) that are hosted on several host machines in a cloud environment. For a packet transmitted by a GPU of a host machine and received by a network device, the network device determines an incoming port-link of the network device on which the packet was received. The network device obtains a flow information associated with the packet, and computes, based on the flow information, an outgoing port-link of the network device in accordance with a hashing algorithm. The hashing algorithm is configured to hash packets received on a particular incoming port-link of the network device to be transmitted on a same outgoing port-link of the network device. The network device forwards the packet on the outgoing port-link of the network device.

Claims (45)

1. A method comprising:

for a packet transmitted by a graphical processing unit (GPU) of a host machine and received by a network device,

obtaining, by the network device, a flow information associated with the packet;

computing, by the network device, based on the flow information, an outgoing port-link of the network device in accordance with a hashing algorithm, wherein the network device is configured to direct all packets received on a particular incoming port-link of the network device to be transmitted on a same outgoing port-link of a plurality of outgoing port-links of the network device;

verifying, by the network device, a condition associated with the outgoing port-link of the network device;

responsive to the condition being satisfied, forwarding the packet on the outgoing port-link of the network device; and

responsive to the condition being unsatisfied

executing, by the network device, an equal cost multi-path algorithm to obtain a new outgoing port-link of the network device based on the flow information; and

forwarding, by the network device, the packet on the new outgoing port-link of the network device.

2. The method of claim 1 , wherein the condition corresponds to determining whether the outgoing port-link of the network device is active.

3. The method of claim 1 , wherein the network device is a top-of-rack (TOR) switch.

4. The method of claim 1 , wherein information related to a hash operation performed on packets received by the network device is stored in a forwarding table database.

5. The method of claim 1 , wherein for a first packet and a second packet that are received on a first incoming port-link of the network device, and a third packet and a fourth packet that are received on a second incoming port-link of the network device, the network device is configured for:

transmitting, by the network device, the first packet and the second packet on a first outgoing port-link of the network device; and

sending, by the network device, the third packet and the fourth packet on a second outgoing port-link of the network device, wherein the first incoming port-link of the network device is different than the second incoming port-link of the network device, and the first outgoing port-link of the network device is different than the second outgoing port-link of the network device.

6. The method of claim 5 , wherein the first packet, the second packet, the third packet and the fourth packet belong to a GPU workload.

7. The method of claim 5 , wherein the first incoming port-link and the second incoming port-link of the network device are a first set of links connecting the host machine to a top-of-rack (TOR) switch, and the first outgoing port-link and the second outgoing port-link of the network device are a second set of links connecting the TOR to a spine switch.

8. A network device comprising:

a processor; and

a memory including instructions that, when executed with the processor, cause the network device to, at least:

for a packet transmitted by a graphical processing unit (GPU) of a host machine and received by a network device,

obtain a flow information associated with the packet;

compute based on the flow information, an outgoing port-link of the network device in accordance with a hashing algorithm, wherein the network device is configured to direct all packets received on a particular incoming port-link of the network device to be transmitted on a same outgoing port-link of a plurality of outgoing port-links of the network device;

verify a condition associated with the outgoing port-link of the network device;

responsive to the condition being satisfied, forward the packet on the outgoing port-link of the network device; and

responsive to the condition being unsatisfied

execute an equal cost multi-path algorithm to obtain a new outgoing port- link of the network device based on the flow information; and

forward the packet on the new outgoing port-link of the network device.

9. The network device of claim 8 , wherein the condition corresponds to determining whether the outgoing port-link of the network device is active.

10. The network device of claim 8 , wherein the network device is a top-of-rack (TOR) switch.

11. The network device of claim 8 , wherein information related to a hash operation performed on packets received by the network device is stored in a forwarding table database.

12. The network device of claim 8 , wherein for a first packet and a second packet that are received on a first incoming port-link of the network device, and a third packet and a fourth packet that are received on a second incoming port-link of the network device, the network device is configured to:

transmit the first packet and the second packet on a first outgoing port-link of the network device; and

send the third packet and the fourth packet on a second outgoing port-link of the network device, wherein the first incoming port-link of the network device is different than the second incoming port-link of the network device, and the first outgoing port-link of the network device is different than the second outgoing port-link of the network device.

13. The network device of claim 12 , wherein the first packet, the second packet, the third packet and the fourth packet belong to a GPU workload.

14. The network device of claim 12 , wherein the first incoming port-link and the second incoming port-link of the network device are a first set of links connecting the host machine to a top-of-rack (TOR) switch, and the first outgoing port-link and the second outgoing port-link of the network device are a second set of links connecting the TOR to a spine switch.

15. A non-transitory computer readable medium storing specific computer-executable instructions that, when executed by a processor, cause a computer system to perform operations comprising:

for a packet transmitted by a graphical processing unit (GPU) of a host machine and received by a network device,

obtaining, by the network device, a flow information associated with the packet;

computing, by the network device, based on the flow information, an outgoing port-link of the network device in accordance with a hashing algorithm, wherein the network device is configured to direct all packets received on a particular incoming port-link of the network device to be transmitted on a same outgoing port-link of a plurality of outgoing port-links of the network device;

verifying, by the network device, a condition associated with the outgoing port-link of the network device;

responsive to the condition being satisfied, forwarding the packet on the outgoing port-link of the network device; and

responsive to the condition being unsatisfied

executing, by the network device, an equal cost multi-path algorithm to obtain a new outgoing port-link of the network device based on the flow information; and

forwarding, by the network device, the packet on the new outgoing port-link of the network device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 2, 2022
From: BRAR, JAGWINDER SINGH; BECKER, DAVID DALE; SULEK, LUKASZ; UECKER, JACOB ROBERT
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 059785/0270 →
Continuity (2)
Provisional Application 63215264 · Jun 25, 2021
Related Publication 20220417139A1 · Dec 29, 2022
References Cited (22)
US 11496364B1 · Mellquist et al. · 2022 [cited by applicant]
US 20130329730A1 · Zhang · 2013 [cited by examiner]
US 20140218377A1 · Wu · 2014 [cited by examiner]
US 20150146719A1 · Janarthanan et al. · 2015 [cited by applicant]
US 20170012942A1 · Wittenschlaeger · 2017 [cited by examiner]
US 20170311060A1 · Cai · 2017 [cited by examiner]
US 20190044849A1 · Ganguli et al. · 2019 [cited by applicant]
US 20190097914A1 · Zhong et al. · 2019 [cited by applicant]
US 20190173776A1 · Levy · 2019 [cited by examiner]
US 20190230025A1 · Kommula et al. · 2019 [cited by applicant]
US 20190245915A1 · Kommula · 2019 [cited by examiner]
US 20200036632A1 · Kommula · 2020 [cited by examiner]
US 20200409761A1 · Stuntebeck et al. · 2020 [cited by applicant]
US 20210266259A1 · Renner, III · 2021 [cited by examiner]
US 20220086025A1 · Tewari · 2022 [cited by examiner]
US 20220086091A1 · Rosenberg et al. · 2022 [cited by applicant]
EP 3531633A1 · 2019 [cited by applicant]
PCT/US2022/034788 , “International Search Report and Written Opinion”, Sep. 22, 2022, 14 pages. [cited by applicant]
PCT/US2022/034789 , “International Search Report and the Written Opinion”, Sep. 22, 2022, 14 pages. [cited by applicant]
PCT/US2022/034788 , “International Preliminary Report on Patentability”, Jan. 4, 2024, 10 pages. [cited by applicant]
PCT/US2022/034789 , “International Preliminary Report on Patentability”, Jan. 4, 2024, 11 pages. [cited by applicant]
U.S. Appl. No. 17/734,833, Non-Final Office Action mailed on Jun. 27, 2024, 22 pages. [cited by applicant]
Cited By (3)
US 12,519,718 US 12,706,861 US 12,744,748