IP Library Granted Patent US 12,407,608
Granted Patent B2
US 12,407,608 · App. 18/062,667 · Granted Sep 2, 2025

Method and apparatus for processing control packet in collective communication system, device, and system

Inventors: Zhao Lu (Shenzhen, CN); Wenjin Gou (Hangzhou, CN); Sicong Li (Hangzhou, CN); Zhaohui Ding (Beijing, CN)
Assignee: Huawei Technologies Co., Ltd.
H04L45/566H04L45/123H04L45/42
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,407,608
App. No.
18/062,667
Filed
Dec 7, 2022
Granted
Sep 2, 2025
Kind
B2
Art Unit
2454
USPC
709/238
Abstract

The present disclosure relates to methods and apparatuses for processing a control packet in a collective communication system, where the collective communication system includes a switch network and multiple computing nodes, and the switch network includes a first switch. In one example method, the first switch forwards a query packet transmitted by a source node to a destination node, where the query packet is generated by the source node based on a context of the collective communication system. Then, the first switch forwards a notification packet transmitted by the destination node to the source node, where the notification packet carries an in-network computing capability of the switch network.

Claims (59)

1. A method for processing a control packet, wherein the method comprises:

forwarding, by a first switch of a switch network, a query packet transmitted by a source node to a destination node, wherein a packet header of the query packet includes an in-network computing tag (INC Tag) and a communicator identifier, the INC Tag includes an INC Tag low and an INC Tag high, the INC Tag low and the INC Tag high indicate that the query packet is an INC packet, the communicator identifier identifies a communicator serving a group of communication processes in a collective communication system, the collective communication system comprises the switch network, the source node, and the destination node, the query packet is used to query an in-network computing capability of the switch network, and the query packet is generated by the source node based on a context of the communicator;

receiving, by the first switch and in response to forwarding the query packet to the destination node, a notification packet transmitted by the destination node to the source node, wherein the notification packet carries the in-network computing capability of the switch network; and

forwarding, by the first switch, the notification packet transmitted by the destination node to the source node.

2. The method according to claim 1 , wherein forwarding, by the first switch, the query packet transmitted by the source node to the destination node comprises:

adding, by the first switch when receiving the query packet, an in-network computing capability of the first switch to the query packet; and

forwarding, by the first switch to the destination node, the query packet to which the in-network computing capability of the first switch is added.

3. The method according to claim 2 , wherein the in-network computing capability of the first switch comprises at least one of a collective operation type or a data type supported by the first switch.

4. The method according to claim 3 , wherein the in-network computing capability of the first switch comprises a size of a remaining available resource for in-network computing of the first switch.

5. The method according to claim 1 , wherein the method further comprises:

establishing, by the first switch, an entry based on a hop count of the query packet, wherein the entry is used by the first switch to perform computing offloading on service packets.

6. The method according to claim 1 , wherein the switch network comprises upper-layer switches and a lower-layer switch, and the first switch is the lower-layer switch; and

wherein forwarding, by the first switch, the notification packet transmitted by the destination node to the source node comprises:

determining, by the first switch, a target switch from the upper-layer switches based on sizes of remaining available resources for in-network computing of the upper-layer switches;

adding, by the first switch, a size of a remaining available resource for in-network computing of the target switch to the notification packet; and

forwarding, by the first switch to the source node, the notification packet to which the size of the remaining available resource for in-network computing of the target switch is added.

7. The method according to claim 6 , wherein determining, by the first switch, the target switch from the upper-layer switches based on the sizes of the remaining available resources for in-network computing of the upper-layer switches comprises:

determining, by the first switch, the target switch from the upper-layer switches by using a load balancing policy based on the sizes of the remaining available resources for in-network computing of the upper-layer switches.

8. The method according to claim 6 , wherein the method further comprises:

sending, by the first switch, a switch query packet to an upper-layer switch, wherein the switch query packet is used to query a size of a remaining available resource for in-network computing of the upper-layer switch; and

receiving, by the first switch, a switch notification packet sent by the upper-layer switch, wherein the switch notification packet is used to notify the size of the remaining available resource for in-network computing of the upper-layer switch to the first switch.

9. The method according to claim 1 , wherein the switch network comprises an upper-layer switch and a lower-layer switch, and the first switch is the upper-layer switch, and wherein the method further comprises:

receiving, by the first switch, a switch query packet sent by the lower-layer switch, wherein the switch query packet is used to query a size of a remaining available resource for in-network computing of the first switch; and

sending, by the first switch, a switch notification packet to the lower-layer switch, wherein the switch notification packet is used to notify the size of the remaining available resource for in-network computing of the first switch to the lower-layer switch.

10. A switch, comprised in a switch network, comprising:

at least one processor; and

a non-transitory computer-readable storage medium comprising computer-executable instructions which, when executed by the at least one processor, cause the switch to perform operations comprising:

forwarding a query packet transmitted by a source node to a destination node, wherein a packet header of the query packet includes an in-network computing tag (INC Tag) and a communicator identifier, the INC Tag includes an INC Tag low and an INC Tag high, the INC Tag low and the INC Tag high indicate that the query packet is an INC packet, the communicator identifier identifies a communicator serving a group of communication processes in a collective communication system, the collective communication system comprises the switch network, the source node, and the destination node, the query packet is used to query an in-network computing capability of the switch network, and the query packet is generated by the source node based on a context of the communicator;

receiving a notification packet transmitted by the destination node to the source node in response to forwarding the query packet to the destination node, wherein the notification packet carries the in-network computing capability of the switch network; and

forwarding the notification packet transmitted by the destination node to the source node.

11. The switch according to claim 10 , wherein forwarding the query packet transmitted by the source node to the destination node comprises:

adding, when receiving the query packet, an in-network computing capability of the switch to the query packet; and

forwarding, to the destination node, the query packet to which the in-network computing capability of the switch is added.

12. The switch according to claim 11 , wherein the in-network computing capability of the switch comprises at least one of a collective operation type or a data type supported by the switch.

13. The switch according to claim 11 , wherein the in-network computing capability of the switch comprises a size of a remaining available resource for in-network computing of the switch.

14. The switch according to claim 10 , wherein the operations further comprise:

establishing an entry based on a hop count of the query packet, wherein the entry is used by the switch to perform computing offloading on service packets.

15. The switch according to claim 10 , wherein the switch network comprises upper-layer switches and a lower-layer switch, and the switch is the lower-layer switch; and

wherein forwarding the notification packet transmitted by the destination node to the source node comprises:

determining a target switch from the upper-layer switches based on sizes of remaining available resources for in-network computing of the upper-layer switches;

adding a size of a remaining available resource for in-network computing of the target switch to the notification packet; and

forwarding, to the source node, the notification packet to which the size of the remaining available resource for in-network computing of the target switch is added.

16. The switch according to claim 15 , wherein determining the target switch from the upper-layer switches based on the sizes of the remaining available resources for in-network computing of the upper-layer switches comprises:

determining the target switch from the upper-layer switches by using a load balancing policy based on the sizes of the remaining available resources for in-network computing of the upper-layer switches.

17. The switch according to claim 15 , wherein the operations further comprise:

sending a switch query packet to an upper-layer switch, wherein the switch query packet is used to query a size of a remaining available resource for in-network computing of the upper-layer switch; and

receiving a switch notification packet sent by the upper-layer switch, wherein the switch notification packet is used to notify the size of the remaining available resource for in-network computing of the upper-layer switch to the switch.

18. The switch according to claim 10 , wherein the switch network comprises an upper-layer switch and a lower-layer switch, and the switch is the upper-layer switch, and wherein the operations further comprise:

receiving a switch query packet sent by the lower-layer switch, wherein the switch query packet is used to query a size of a remaining available resource for in-network computing of the switch; and

sending a switch notification packet to the lower-layer switch, wherein the switch notification packet is used to notify the size of the remaining available resource for in-network computing of the switch to the lower-layer switch.

19. A collective communication system, wherein:

the collective communication system comprises a switch network and a plurality of computing nodes, the switch network comprises a first switch, and the plurality of computing nodes comprise a first computing node and a second computing node;

the second computing node is configured to generate a query packet based on a context of a communicator serving a group of communication processes in the collective communication system, wherein a packet header of the query packet includes an in-network computing tag (INC Tag) and a communicator identifier identifying the communicator, the INC Tag includes an INC Tag low and an INC Tag high, the INC Tag low and the INC Tag high indicate that the query packet is an INC packet, and the query packet is used to query an in-network computing capability of the switch network;

the first switch is configured to forward the query packet transmitted by the second computing node to the first computing node;

the first computing node is configured to generate a notification packet in response to receiving the query packet, wherein the notification packet carries the in-network computing capability of the switch network; and

the first switch is further configured to forward the notification packet transmitted by the first computing node to the second computing node.

20. The collective communication system according to claim 19 , wherein forwarding the query packet transmitted by the second computing node to the first computing node comprises:

adding, when receiving the query packet, an in-network computing capability of the first switch to the query packet; and

forwarding, to the first computing node, the query packet to which the in-network computing capability of the first switch is added.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2025
From: LU, ZHAO; GOU, WENJIN; LI, SICONG; DING, ZHAOHUI
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 071200/0214 →
Priority Claims (2)
CN 202010514291.1 · Jun 8, 2020 · national
CN 202010760361.1 · Jul 31, 2020 · national
Continuity (2)
Continuation PCTCN2021087948 · Apr 17, 2021
Related Publication 20230106425A1 · Apr 6, 2023
References Cited (21)
US 10432669B1 · Badhwar et al. · 2019 [cited by applicant]
US 20070165603A1 · Yokobori · 2007 [cited by examiner]
US 20110149844A1 · G. et al. · 2011 [cited by applicant]
US 20120327952A1 · Huang · 2012 [cited by examiner]
US 20140359089A1 · Davis · 2014 [cited by examiner]
US 20160094667A1 · Jani · 2016 [cited by examiner]
US 20160315814A1 · Thirumurthi · 2016 [cited by examiner]
US 20180183855A1 · Sabella · 2018 [cited by examiner]
US 20200067812A1 · Malhotra et al. · 2020 [cited by applicant]
US 20200133531A1 · Subramaniam · 2020 [cited by examiner]
US 20220109746A1 · Lindheimer · 2022 [cited by examiner]
US 20220417323A1 · Julien · 2022 [cited by examiner]
CN 101465782A · 2009 [cited by applicant]
CN 110233798A · 2019 [cited by applicant]
CN 111143427A · 2020 [cited by applicant]
CN 111245651A · 2020 [cited by applicant]
EP 4052442B1 · 2024 [cited by applicant]
Extended European Search Report in European Appln No. 21822429.3, dated Oct. 13, 2023, 8 pages. [cited by applicant]
Venkata et al., “Accelerating OpenSHMEM Collectives Using In-Network Computing Approach,” 2019 31st International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD), Dec. 5, 2019, 8 pages. [cited by applicant]
International Search Report and Written Opinion in International Appln. No. PCT/CN2021/087948, mailed on Jul. 2, 2021, 18 pages (with English translation). [cited by applicant]
EP Communication Pursuant to Article 94(3) EPC in European Appln. No. 21822429.3, mailed on Jul. 4, 2025, 7 pages. [cited by applicant]
Cited By (1)
US 12,641,160