In-network computing implementation method and apparatus, and device and storage medium

WO2026007406A1PCT designated stage Publication Date: 2026-01-08ZTE CORP
5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/076654
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-07-05
Filing Date
2025-02-10
Publication Date
2026-01-08

Smart Images

  • Figure CN2025076654_08012026_PF_FP_ABST
    Figure CN2025076654_08012026_PF_FP_ABST
Patent Text Reader

Abstract

Provided in the embodiments of the present application are an in-network computing implementation method and apparatus, and a device and a storage medium. The method comprises: receiving a protocol tree creation notification message, wherein the protocol tree creation notification message comprises a node identifier of a protocol tree node adjacent to a target protocol tree node; on the basis of local routing information, determining interface information reaching the adjacent protocol tree node; and on the basis of the interface information, generating a protocol tree forwarding table, wherein the protocol tree forwarding table is used for forwarding a data message of an in-network computing task. In the method, when a network has a problem, a protocol tree forwarding table can be dynamically updated, such that the establishment time of the protocol tree forwarding table is shortened, thereby improving the computing efficiency of an in-network computing task.
Need to check novelty before this filing date? Find Prior Art

Description

In-network computing implementation method, device and equipment and storage medium TECHNICAL FIELD

[0001] The present application relates to the field of communication technology, and in particular to an in-network computing implementation method, device and equipment and storage medium. BACKGROUND

[0002] High-performance computing and artificial intelligence drive rapid development of various industries, and more and more applications also bring more massive computing, and the scale of data centers used to implement high-performance computing and artificial intelligence training is also getting larger and larger. The huge amount of information interaction brought by various communication computing modes also brings great pressure to the network of the data center. If the network causes too long delay or causes some data or computing results to be packet loss at a certain time, it may lead to the fact that these artificial intelligence training or computing tasks cannot be completed within the specified time, and then the training or computing will be initiated again, causing the network to interact with huge amount of information again.

[0003] At present, in-network computing technology can alleviate the delay and redundancy problems caused by data transmission through large-scale nodes to a great extent by using network devices for near-data computing. For example, in some related technologies, in-network computing functions can be implemented by using a reduction tree, but the configuration mode of the reduction tree in the related technology is not flexible enough, and when the network has a problem, it will cause more data or result packet loss. SUMMARY

[0004] The embodiments of the present application provide an in-network computing implementation method, device and equipment and storage medium.

[0005] In a first aspect, the embodiments of the present application provide an in-network computing implementation method applied to a target reduction tree node, and the method comprises:

[0006] receiving a reduction tree creation notification message; wherein the reduction tree creation notification message comprises a node identifier of a neighboring reduction tree node of the target reduction tree node;

[0007] determining interface information to the neighboring reduction tree node according to local routing information;

[0008] generating a reduction tree forwarding table according to the interface information; wherein the reduction tree forwarding table is used to forward data packets of in-network computing tasks.

[0009] In a second aspect, the embodiments of the present application provide an in-network computing implementation method, comprising:

[0010] adding reduction bitmap information of a destination node or a BIER forwarding router identifier in a data packet to be transmitted by a source node;

[0011] The source node forwards the data packet added with the bitmap information of the destination node or the BIER forwarding router identifier according to a local BIER forwarding table.

[0012] In a third aspect, an in-network computing implementation method is provided, including:

[0013] For each target node in the network, determining, by a fat tree routing protocol, a south node, a north node, interface information to the south node, and interface information to the north node of the target node;

[0014] Generating an aggregation relationship table of the target node according to the south node, the north node, the interface information to the south node, and the interface information to the north node of the target node; wherein the aggregation relationship table is used for forwarding data packets of in-network computing tasks.

[0015] In a fourth aspect, an in-network computing implementation device is provided, integrated in a target protocol tree node, including:

[0016] A receiving module is configured to receive a protocol tree creation notification message; wherein the protocol tree creation notification message includes a node identifier of a neighboring protocol tree node of the target protocol tree node;

[0017] A determining module is configured to determine, according to local routing information, interface information to the neighboring protocol tree node;

[0018] A constructing module is configured to generate a protocol tree forwarding table according to the interface information; wherein the protocol tree forwarding table is used for forwarding data packets of in-network computing tasks.

[0019] In a fifth aspect, an in-network computing implementation device is provided, including:

[0020] A packaging module is configured to add, in a data packet to be transmitted, bitmap information of a destination node or a BIER forwarding router identifier;

[0021] A sending module is configured to forward the data packet added with the bitmap information of the destination node or the BIER forwarding router identifier according to a local BIER forwarding table.

[0022] In a sixth aspect, an in-network computing implementation device is provided, including:

[0023] A determining module is configured to, for each target node in the network, determine, by a fat tree routing protocol, a south node, a north node, interface information to the south node, and interface information to the north node of the target node;

[0024] A constructing module is configured to generate an aggregation relationship table of the target node according to the southbound node, the northbound node, the interface information to the southbound node and the interface information to the northbound node of the target node; wherein the aggregation relationship table is used for southbound forwarding of data packets of in-network computing tasks and northbound aggregation of computing feedback results of the data packets.

[0025] In a seventh aspect, an embodiment of the present application provides a transmission device, including a memory and a processor, the memory stores a computer program, and the processor implements the steps of the in-network computing implementation method provided in the first aspect, the second aspect or the third aspect of the present application when executing the computer program.

[0026] In an eighth aspect, an embodiment of the present application provides a storage medium, the storage medium stores a computer program, and the computer program implements the steps of the in-network computing implementation method provided in the first aspect, the second aspect or the third aspect of the present application when executed by a processor.

[0027] More details about the above embodiments and other aspects of the present application and implementation manners thereof are provided in the following description of drawings, specific embodiments and claims. BRIEF DESCRIPTION OF DRAWINGS

[0028] FIG. 1 is a schematic diagram of a data center network topology architecture provided by an embodiment of the present application;

[0029] FIG. 2 is a schematic diagram of an in-network computing network topology architecture provided by an embodiment of the present application;

[0030] FIG. 3 is a schematic diagram of an in-network computing implementation method provided by an embodiment of the present application;

[0031] FIG. 4 is a schematic diagram of protocol tree information provided by an embodiment of the present application;

[0032] FIG. 5 is a schematic diagram of a sending manner of protocol tree information in a routing protocol provided by an embodiment of the present application;

[0033] FIG. 6 is another schematic diagram of a sending manner of protocol tree information in a routing protocol provided by an embodiment of the present application;

[0034] FIG. 7 is a schematic diagram of a protocol tree forwarding table of an S11 node provided by an embodiment of the present application;

[0035] FIG. 8 is a schematic diagram of a protocol tree forwarding table of an L11 node provided by an embodiment of the present application;

[0036] FIG. 9 is another schematic diagram of an in-network computing network topology architecture provided by an embodiment of the present application;

[0037] FIG. 10 is a schematic diagram of a reduction tree forwarding table of the SS1 node according to an embodiment of the present application;

[0038] FIG. 11 is another schematic diagram of a reduction tree forwarding table of the L11 node according to an embodiment of the present application;

[0039] FIG. 12 is a schematic diagram of an updated reduction tree forwarding table of the SS1 node according to an embodiment of the present application;

[0040] FIG. 13 is a schematic diagram of an updated reduction tree forwarding table of the L11 node according to an embodiment of the present application;

[0041] FIG. 14 is another flow diagram of the in-network computing implementation method according to an embodiment of the present application;

[0042] FIG. 15 is a schematic diagram of a data packet encapsulation manner of the in-network computing task according to an embodiment of the present application;

[0043] FIG. 16 is a schematic diagram of reduction bitmap information according to an embodiment of the present application;

[0044] FIG. 17 is a schematic diagram of a local BIER forwarding table of the SS1 node according to an embodiment of the present application;

[0045] FIG. 18 is a schematic diagram of a local BIER forwarding table of the S11 node according to an embodiment of the present application;

[0046] FIG. 19 is a schematic diagram of a local BIER forwarding table of the L11 node according to an embodiment of the present application;

[0047] FIG. 20 is a schematic diagram of an updated local BIER forwarding table of the SS1 node according to an embodiment of the present application;

[0048] FIG. 21 is a schematic diagram of an updated local BIER forwarding table of the S11 node according to an embodiment of the present application;

[0049] FIG. 22 is a schematic diagram of an updated local BIER forwarding table of the L11 node according to an embodiment of the present application;

[0050] FIG. 23 is another flow diagram of the in-network computing implementation method according to an embodiment of the present application;

[0051] FIG. 24 is a schematic diagram of an aggregation relationship table of the SS1 node according to an embodiment of the present application;

[0052] FIG. 25 is a schematic diagram of an aggregation relationship table of the S11 node according to an embodiment of the present application;

[0053] FIG. 26 is a schematic diagram of an aggregation relationship table of the L11 node according to an embodiment of the present application;

[0054] FIG. 27 is a structural schematic diagram of an in-network computing implementation device according to an embodiment of the present application;

[0055] FIG. 28 is another structural schematic diagram of an in-network computing implementation device according to an embodiment of the present application;

[0056] FIG. 29 is still another structural schematic diagram of an in-network computing implementation device according to an embodiment of the present application;

[0057] FIG. 30 is a structural schematic diagram of a transmission device according to an embodiment of the present application. DETAILED DESCRIPTION

[0058] It should be understood that the specific embodiments described herein are merely illustrative of the present application and do not limit the present application. The embodiments of the present application will be described in detail below with reference to the accompanying drawings.

[0059] FIG. 1 is a schematic diagram of a data center network topology architecture according to an embodiment of the present application, which adopts a Leaf-Spine structure and can include computing nodes, Leaf (L) nodes and Spine nodes. Each Spine node in the same domain is connected with all Leaf nodes, Leaf nodes are not directly connected with each other, and Spine nodes are not directly connected with each other. The computing nodes can include various computing resources such as servers, Graphics Processing Units (GPUs), etc. The Leaf nodes are first-hop transmission devices connected with all computing nodes, and the Spine nodes are above the Leaf nodes. The Spine nodes can include two layers of nodes. To distinguish them, the nodes in the topmost Spine layer can be referred to as Super Spine (SS) nodes, and the nodes in the Spine layer below the topmost Spine layer can be referred to as Spine (S) nodes. It should be noted that the Super Spine nodes and the Spine nodes can include multiple links for load sharing, and the Spine nodes and the Leaf nodes can also include multiple links for load sharing. For example, SS1 and S11, and S11 and L11 can each include multiple links. For simplicity, FIG. 1 only shows one link as an example, and the embodiments of the present application do not limit the number of links between the Super Spine nodes and the Spine nodes, and between the Spine nodes and the Leaf nodes.

[0060] For the convenience of those skilled in the art to understand, the following introduces an example in a network computing process. Exemplarily, referring to FIG. 2, it is assumed that a network computing task needs to be calculated by a group of GPU resources, and the calculation result needs to be aggregated on a switch. After the network computing control end (such as a controller or an AI scheduler) obtains the data center network topology and the computing resource situation of each node, the S11 node, the L11 node and the L12 node are selected as aggregation nodes. The network computing control end can send data that needs to be calculated to the S11 node, the S11 node sends the received data to the L11 node and the L12 node, the L11 node and the L12 node forward the data to the connected GPU nodes, and the connected GPU nodes calculate the data. After the calculation is completed, the GPU nodes feed back the calculation result to the L11 node and the L12 node, the L11 node and the L12 node respectively aggregate the received calculation result, and send the aggregation result to the S11 node for further aggregation operation, and the S11 node feeds back the further aggregation result to the network computing control end, thereby realizing the in-network computing function.

[0061] When the in-network computing function is realized by using the reduction tree, the S11 node, the L11 node and the L12 node form a reduction tree, and the root node of the reduction tree is the S11 node. Since each reduction tree node can aggregate the calculation result of the calculation node, each reduction tree node can also be called an aggregation node. In the related art, the network computing control end configures the reduction tree configuration information to each aggregation node, so that each aggregation node generates the reduction tree based on the reduction tree configuration information. However, the reduction tree configuration method in the related art is not flexible, and when the network has a problem, the recovery time of the reduction tree is longer, which will cause more data or result packet loss.

[0062] It should be noted that the network computing control end described above can be a controller, a calculation node, a spine node or even a leaf node, and the embodiments of the present application do not limit this.

[0063] Therefore, the technical scheme provided by the embodiments of the present application aims to solve the technical problems existing in the related art.

[0064] FIG. 3 is a flowchart of an in-network computing implementation method provided by an embodiment of the present application. The method is applied to a target reduction tree node, as shown in FIG. 3, and the method can include the following steps:

[0065] S301, receiving a reduction tree creation notification message, the reduction tree creation notification message including the node identifier of the adjacent reduction tree node of the target reduction tree node.

[0066] The adjacent reduction tree node can be an upper reduction tree node and / or a lower reduction tree node of the target reduction tree node. The node identifier can include a node address (such as a loopback address of the node), a node name, or a node ID, etc.

[0067] Optionally, the reduction tree creation notification message further includes at least one of the following: a reduction tree identifier, constraint information, task information corresponding to the reduction tree, a node identifier of the target reduction tree node, and a node identifier of a computing node used for performing the in-network computing task.

[0068] The constraint information can be a constraint condition on a transmission bandwidth or a transmission delay, for example, the constraint information can be that the transmission delay is less than 2 ms. In some cases, one reduction tree can be used by one or more tasks, and therefore, the task information corresponding to the reduction tree, which refers to the information of the in-network computing task to which the reduction tree can be applied, such as a task identifier of the in-network computing task, etc., can also be carried in the reduction tree creation notification message. By carrying the node identifier of the target reduction tree node in the reduction tree creation notification message, it is informed that the target reduction tree node needs to perform an aggregation operation on the computing result when performing the computing result feedback.

[0069] In some embodiments, the in-network computing task can be participated by all computing nodes under the target leaf node by default, and in other embodiments, the creation of the reduction tree can also be based on specific computing resources, for example, the in-network computing task only needs some computing nodes under the target leaf node to participate, and does not need all computing nodes under the target leaf node to participate, and therefore, the node identifier of the computing node that needs to perform the in-network computing task can be carried in the reduction tree creation notification message, and the target leaf node only forwards the data packet that needs to be computed to the computing node, and the computing node performs the computation. It should be noted that the reduction tree forwarding table does not need to be established on the computing node, and each level of the reduction tree node generates the reduction tree forwarding table according to the local routing information, and the reduction tree forwarding table is used to guide the forwarding of the data packet.

[0070] Optionally, the above protocol tree creation notification message can be carried in prefix advertisement information of a routing protocol, i.e., the above protocol tree information is advertised by using a characteristic advertised by the routing protocol (for example, as shown in FIG. 4, the protocol tree information can include a protocol tree identifier, constraint information, task information corresponding to the protocol tree, a node identifier of a target protocol tree node, a node identifier of a neighboring protocol tree node of the target protocol tree node, and a node identifier of a computing node used to execute an in-network computing task, etc.). For example, the routing protocol can be a Border Gateway Protocol (BGP) protocol, an Open Shortest Path First (OSPF) protocol, an Intermediate System to Intermediate System (IS-IS) protocol, a Routing In Fat Trees (RIFT) protocol, or the like.

[0071] Specifically, the protocol tree information can be carried in the prefix advertisement information of the routing protocol in the form of a TLV (Type, Length, Value), as shown in FIG. 5. The Length field is the total length of the protocol tree information, and the Value field can include the above protocol tree information shown in FIG. 4. For example, if the OSPF protocol or the IS-IS protocol is used as the routing protocol in the network, the above constraint information can be advertised by using a Flexible Algorithm (FA) or the like, and other protocol tree information can be advertised in the form of a sub-TLV of the FA. For another example, if the RIFT protocol is used as the routing protocol in the network, the information can be advertised based on a southbound Key / Value-Topology Information Elements (KV-TIE), as shown in FIG. 6. The Key-type can be a value of a protocol tree type, the Key-ID can be a protocol tree identifier, and the value field can include the protocol tree information shown in FIG. 4.

[0072] S302, determining interface information to the neighboring protocol tree node according to local routing information.

[0073] The local routing information is obtained based on a routing protocol running on the target protocol tree node. Accordingly, the target protocol tree node can query the local routing information according to the node identifier of the neighboring protocol tree node, to obtain next hop information, i.e., interface information, to the neighboring protocol tree node, and to generate a protocol tree forwarding table according to the node identifier of the neighboring protocol tree node and the corresponding interface information.

[0074] Optionally, in the case that the constraint information is included in the contract tree creation notification message, the S302 can include: determining the interface information reaching the adjacent contract tree node according to the local routing information and the constraint information.

[0075] The target contract tree node can query the local routing information according to the node identifier of the adjacent contract tree node, and obtain the interface information reaching the adjacent contract tree node that satisfies the constraint information.

[0076] The S303 can include: generating a contract tree forwarding table according to the interface information.

[0077] The contract tree forwarding table is used for forwarding the data packet of the in-network computing task.

[0078] After the contract tree forwarding table is established, the target contract tree node can perform a data packet distribution or aggregation operation based on the contract tree forwarding table. For example, the data packet of the in-network computing task is distributed to the computing node based on the contract tree forwarding table, or the computing result of the computing node is fed back to the upper contract tree node (i.e., the upper aggregation node) for an aggregation operation based on the contract tree forwarding table.

[0079] Optionally, the method further includes: in the case that the local routing information changes, updating the contract tree forwarding table according to the changed local routing information.

[0080] For example, when the network topology appears to be adjusted, such as individual link congestion or link breakage, the routing protocol can perceive the change and quickly and automatically switch to other available links, i.e., the local routing information is automatically updated, and each level of contract tree node automatically adjusts the local contract tree forwarding table using the updated local routing information.

[0081] Optionally, the target contract tree node can be a contract tree root node or a non-contract tree root node. Optionally, the receiving contract tree creation notification message can include: in the case that the target contract tree node is a non-contract tree root node, receiving the contract tree creation notification message sent by the contract tree root node; and in the case that the target contract tree node is a contract tree root node, receiving the contract tree creation notification message sent by the in-network computing control end or receiving the contract tree creation notification message sent by the in-network computing control end through the super-spine node.

[0082] Specifically, after the in-network computing control end determines each contract tree node through resource scheduling, in order to establish a contract tree, the in-network computing control end can send a contract tree creation notification message to the contract tree root node, and the contract tree root node can send the contract tree creation notification message to the remaining contract tree nodes, so that each level of contract tree node establishes a contract tree forwarding table based on the local routing information.

[0083] In some embodiments, no matter where the root node of the reduction tree is located, at the in-network computing control terminal, a reduction tree creation notification message can be sent only to the super-spine node in the network, the super-spine node sends the reduction tree creation notification message to the root node of the reduction tree, and the root node of the reduction tree notifies the rest of the reduction tree nodes to create a reduction tree forwarding table, or the super-spine node sends the reduction tree creation notification message to the reduction tree nodes at all levels, so that the reduction tree nodes at all levels establish a reduction tree forwarding table based on local routing information. In this way, the in-network computing control terminal only needs to establish a connection with the super-spine node, and does not need to establish a connection relationship with the spine nodes and leaf nodes at all levels, which can further reduce the requirements on the in-network computing control terminal and reduce the burden on the in-network computing control terminal.

[0084] The technical scheme provided by the embodiments of the present application carries the node identifier of the adjacent reduction tree node of the target reduction tree node in the reduction tree creation notification message, so that the target reduction tree node can dynamically determine the interface information to the adjacent reduction tree node based on local routing information, and generate a reduction tree forwarding table using the interface information. In this way, when the network has a problem, the reduction tree forwarding table can be dynamically updated, the establishment time of the reduction tree forwarding table is shortened, and the computing efficiency of the in-network computing task is improved.

[0085] For the convenience of those skilled in the art, the following is introduced with specific examples:

[0086] Example one:

[0087] As shown in the network of FIG. 2, it is assumed that the in-network computing control terminal determines, based on the network topology and the computing resource situation of each node, that the GPU resources connected by the L11 node and the L12 node are used for computing, the L11 node and the L12 node are used for aggregating the computing results, and the S11 node is used for further aggregating the aggregation results of the L11 node and the L12 node. That is, the S11 node, the L11 node, and the L12 node form a reduction tree, and the S11 node is the root node of the reduction tree.

[0088] In order to establish the protocol tree, the network computing control end sends a protocol tree creation notification message to the S11 node, which can include the protocol tree identifier, the node identifiers of the subordinate protocol tree nodes of the S11 node (i.e. the node identifiers of the L11 node and the L12 node), the node identifier of the S11 node, the constraint information, and the task information corresponding to the protocol tree (here, there can be multiple tasks using the protocol tree). After receiving the protocol tree creation notification message, the S11 node determines the interface information reaching the L11 node and the L12 node that satisfies the constraint information according to the local routing information and the constraint information, and generates the protocol tree forwarding table shown in FIG. 7 based on the interface information. Here, since the S11 node itself is the aggregation root node, it has no further superior aggregation node, and therefore the aggregation node interface in FIG. 7 can be empty.

[0089] Further, the S11 node also sends a protocol tree creation notification message to the L11 node and the L12 node respectively. Taking the L11 node as an example, the protocol tree creation notification message sent by the S11 node to the L11 node can include the protocol tree identifier, the node identifier of the L11 node, the node identifier of the superior protocol tree node of the L11 node (i.e. the node identifier of the S11 node), the constraint information, and the task information. After receiving the protocol tree creation notification message, the L11 node determines the interface information reaching the S11 node and the interface information reaching each GPU that satisfies the constraint information according to the local routing information and the constraint information, and generates the protocol tree forwarding table shown in FIG. 8 based on the interface information reaching the S11 node and the interface information reaching each GPU.

[0090] It should be noted that the task information can be optional content and does not necessarily have to be embodied in the protocol tree forwarding table. The process of the L12 node generating the protocol tree forwarding table can refer to the L11 node described above, and will not be described herein again.

[0091] After the regulation tree node of each level is established, the regulation tree forwarding table can be executed in-network computing task. The in-network computing control end encapsulates the content (including data and parameters, etc.) and its corresponding task information into a data packet, and sends the data packet to the regulation tree root node S11. The S11 node sends the data packet to the L11 node and the L12 node according to the regulation tree forwarding table shown in FIG. 7. When the data and other contents sent to the L11 node and the L12 node are exactly the same, the S11 node can use the multicast forwarding mode to distribute the data packet. After the L11 node receives the data packet, it queries the regulation tree forwarding table shown in FIG. 8 according to the regulation tree identifier or task information in the data packet to obtain the interface information to the GPU resource, and forwards the data packet to the corresponding GPU resource based on the interface information. The L12 node can refer to the process of the L11 node to forward the data packet to the corresponding GPU resource connected to itself. After the GPU under the L11 node completes processing the data packet, it sends a feedback packet containing the calculation result back to the L11 node, and the L11 node performs an aggregation operation on the calculation result. After the L11 node performs the aggregation operation, it looks up the regulation tree forwarding table shown in FIG. 8 according to the regulation tree identifier or task information in the feedback packet to obtain the interface information to the S11 node, and sends the feedback packet to the S11 node based on the interface information. After the GPU under the L12 node completes processing the data packet, it sends a feedback packet containing the calculation result back to the L12 node, and the L12 node performs an aggregation operation on the calculation result. After the L12 node performs the aggregation operation, it looks up the local regulation tree forwarding table according to the regulation tree identifier or task information in the feedback packet to obtain the interface information to the S11 node, and sends the aggregated result to the S11 node based on the interface information. After the S11 node receives the feedback packets from the L11 node and the L12 node, it further aggregates the data feedback by the L11 node and the L12 node, and feeds back the further aggregated result to the in-network computing control end.

[0092] Example two:

[0093] As shown in FIG. 9, assuming that the in-network computing control end finds that the in-network computing task can be calculated by the GPU resources connected to the L11 node and the L21 node through resource scheduling, and according to the network topology, the L11 node and the L21 node respectively aggregate the calculation results, and selects the SS1 node as the regulation tree root node to further aggregate the aggregation results of the L11 node and the L21 node, that is, the SS1 node, the L11 node and the L21 node form a regulation tree, and the SS1 node is the regulation tree root node. Here, in order to distinguish, the L11 node and the L21 node are called regulation tree nodes. Assuming that the regulation tree identifier or group identifier is T2, and the constraint condition is that the time delay is less than 2ms.

[0094] In order to establish the protocol tree, the network computing control end sends a protocol tree creation notification message to the SS1 node, which can include the protocol tree identifier, the node identifier of the subordinate protocol tree node of the SS1 node (i.e., the node identifiers of the L11 node and the L21 node), the node identifier of the SS1 node, the constraint information, and the task information corresponding to the protocol tree (here, there can be multiple tasks that use the protocol tree together). After the SS1 node receives the protocol tree creation notification message, the SS1 node determines the interface information reaching the L11 node and the L21 node that satisfies the constraint information according to the local routing information and the constraint information, and generates the protocol tree forwarding table shown in FIG. 10 based on the interface information. As can be seen from the protocol tree forwarding table shown in FIG. 10, because the protocol tree root node, i.e., the SS1 node, and the leaf node, i.e., the L11 node, are not directly connected but can reach through the S11 node, and because the SS1 node itself is the protocol tree root node and does not have a superior aggregation node, the aggregation node interface in the protocol tree forwarding table is empty.

[0095] Further, the SS1 node also sends a protocol tree creation notification message to the L11 node and the L21 node, respectively. Taking the L11 node as an example, the protocol tree creation notification message sent by the SS1 node to the L11 node can include the protocol tree identifier, the node identifier of the L11 node, the node identifier of the superior protocol tree node of the L11 node (i.e., the node identifier of the SS1 node), the constraint information, and the task information. After the L11 node receives the protocol tree creation notification message, the L11 node determines the interface information reaching the SS1 node and the interface information reaching each GPU that satisfies the constraint information according to the local routing information and the constraint information, and generates the protocol tree forwarding table shown in FIG. 11 based on the interface information reaching the SS1 node and the interface information reaching each GPU.

[0096] It should be noted that the task information described above can be optional content and does not necessarily have to be embodied in the protocol tree forwarding table. The process of generating the protocol tree forwarding table by the L21 node can refer to the description of the L11 node above, and the embodiments of the present application will not be described here again.

[0097] After each protocol tree node establishes the protocol tree forwarding table, the network computing task can be executed. The specific data packet forwarding process can refer to the description in Example 1 above, and the embodiments of the present application will not be described here again.

[0098] Assuming that the link between L11 node and S11 node is congested or disconnected, both L11 node and S11 node can perceive the change through the routing protocol and automatically switch to other available links, so that the protocol tree forwarding table is automatically regenerated, and the protocol tree forwarding table regenerated by S11 node is shown in FIG. 12, that is, the next hop node of S11 node to L11 node is switched to S12 node, and the protocol tree forwarding table regenerated by L11 node is shown in FIG. 13, that is, the next hop node of L11 node to S11 node is switched to S12 node.

[0099] After the protocol tree node at each level updates the protocol tree forwarding table, the in-network computing task can be continued to be executed, and the specific data packet forwarding process can be referred to the description in Example 1 above, which will not be described here in detail.

[0100] In this example, each protocol tree node can dynamically determine the interface information to the adjacent protocol tree node based on the local routing information and the node identifier of the adjacent protocol tree node, and generate the protocol tree forwarding table using the interface information, so that the protocol tree forwarding table can be dynamically updated when the network has a problem, and the establishment time of the protocol tree forwarding table is shortened, thereby improving the computing efficiency of the in-network computing task.

[0101] Example Three:

[0102] As shown in the network of FIG. 9, assuming that the in-network computing control end finds through resource scheduling that the in-network computing task can be calculated by the GPU resources connected by L11 node, L12 node and L21 node, and according to the network topology, the calculation results are aggregated by L11 node, L12 node and L21 node respectively, the feedback results of L11 node and L12 node are aggregated by S11 node, and the feedback results of S11 node and L21 node are aggregated by S11 node, that is, S11 node, S11 node, L11 node, L12 node and L21 node form a protocol tree, and S11 node is the root node of the protocol tree, here, S11 node, L11 node, L12 node and L21 node are referred to as protocol tree nodes for distinction. Assuming that the protocol tree identifier or group identifier is T3, the constraint condition is that the bandwidth is 100M and the delay is less than 1ms.

[0103] In order to establish the protocol tree, the network computing control end sends a protocol tree creation notification message to the SS1 node, which can include the protocol tree identifier, the node identifiers of the subordinate protocol tree nodes of the SS1 node (i.e., the node identifiers of the S11 node, the L11 node, the L12 node, and the L21 node), the node identifier of the SS1 node, the constraint information, and the task information corresponding to the protocol tree (here, multiple tasks can share the protocol tree).

[0104] Further, the SS1 node also sends a protocol tree creation notification message to the S11 node and the L21 node. Taking the S11 node as an example, the protocol tree creation notification message sent by the SS1 node to the S11 node can include the protocol tree identifier, the node identifier of the S11 node, the node identifier of the superior protocol tree node of the S11 node (i.e., the node identifier of the SS1 node), the node identifiers of the subordinate protocol tree nodes of the S11 node (i.e., the node identifiers of the L11 node and the L12 node), the constraint information, and the task information. After receiving the protocol tree creation notification message, the S11 node determines the interface information reaching the SS1 node and the interface information reaching the L11 node and the L12 node that satisfy the constraint information according to the local routing information and the constraint information, and generates a protocol tree forwarding table based on the interface information reaching the SS1 node and the interface information reaching the L11 node and the L12 node. That is, the superior protocol tree node (or the aggregation node) in the protocol tree forwarding table established on the S11 node is the SS1 node, and the subordinate protocol tree nodes (or the subordinate nodes) are the L11 node and the L12 node.

[0105] The protocol tree creation notification message sent by the SS1 node to the L21 node includes the protocol tree identifier, the node identifier of the L21 node, the node identifier of the superior protocol tree node of the L21 node (i.e., the node identifier of the SS1 node), the constraint information, and the task information. The process of establishing the local protocol tree forwarding table by the L21 node can be referred to the above description of the S11 node, and will not be repeated here.

[0106] Further, the S11 node can also send a protocol tree creation notification message to the L11 node and the L12 node to enable the L11 node and the L12 node to establish a local protocol tree forwarding table. The process of establishing the protocol tree forwarding table by the L11 node and the L12 node can be referred to the above description of the S11 node, and will not be repeated here.

[0107] In the example, each level of the protocol tree node can dynamically determine the interface information to the adjacent protocol tree node based on the local routing information and the node identifier of the adjacent protocol tree node, and generate the protocol tree forwarding table using the interface information. In this way, when a network problem occurs, the protocol tree forwarding table can be dynamically updated, the establishment time of the protocol tree forwarding table is shortened, and the computing efficiency of the in-network computing task is improved.

[0108] In one embodiment, a BIER technology-based in-network computing implementation method is also provided, as shown in FIG. 14. The method can include the following steps.

[0109] S1401. The source node adds the protocol bitmap information or the Bit Index Explicit Replication (BIER) forwarder identifier of the destination node in the data packet to be transmitted.

[0110] S1402. The source node forwards the data packet to which the protocol bitmap information or the BIER forwarder identifier of the destination node is added according to the local BIER forwarding table.

[0111] Optionally, the source node is an aggregation root node of the in-network computing task, and the destination node is a computing node for executing the in-network computing task or a leaf node connected to the computing node; or the source node is a leaf node connected to the computing node, and the destination node is an aggregation root node.

[0112] In the case where the data center network is enabled with the BIER technology, a local BIER forwarding table is established on each spine node and leaf node in the data center network. In the embodiments of the present application, the protocol bitmap information or the BIER forwarder identifier of the target node is encapsulated in the data packet to be transmitted, and each node on the way can forward the data packet to the destination node using the local BIER forwarding table.

[0113] Specifically, after receiving the data message sent by the in-network computing control terminal, the aggregation root node adds the reduction bitmap information or the BIER forwarding router identifier of the leaf node in the data message, and forwards the data message with the added reduction bitmap information or BIER forwarding router identifier of the leaf node according to the local BIER forwarding table. After the data message reaches the leaf node, the leaf node forwards the data message to the connected computing node (here, the data message can be forwarded to all connected computing nodes, or can be forwarded to a specified computing node, which can be set according to requirements), and the computing node performs computation on the data message. After the computing node completes the computation, the computing node sends the computation result to the leaf node, and the leaf node performs an aggregation operation on the computation result. Meanwhile, the leaf node adds the reduction bitmap information or the BIER forwarding router identifier of the aggregation root node in the feedback data message, and sends the data message to the aggregation root node according to the local BIER forwarding table. The aggregation root node performs further aggregation operation, and feeds back the final aggregation result to the in-network computing control terminal.

[0114] Exemplarily, it is assumed that the in-network computing control terminal finds, through resource scheduling, that the aggregation operation of the in-network computing task can be performed by the GPU resources connected to the L11 node and the L21 node. According to the network topology, the SS1 node can be selected as the aggregation root node. After receiving the data message sent by the in-network computing control terminal, the SS1 node adds the reduction bitmap information or the BIER forwarding router identifier (BFD-ID) of the L11 node and the L21 node in the data message. The encapsulated data message is shown in FIG. 15. The reduction bitmap information can be as shown in FIG. 16, which can be a bit string with a length of 64 bits (of course, other lengths such as 128 bits, 256 bits, etc. can also be used). Starting from the rightmost bit, it is assumed that the first bit and the 17th bit represent the L11 node and the L21 node, respectively. Of course, the encapsulation mode of the reduction bitmap information can not be used, and the BFD-ID of the destination node (such as the L11 node and the L21 node) can be directly used for encapsulation, that is, the reduction bitmap information in the data message shown in FIG. 15 can be replaced by the BFD-ID of the destination node (such as the L11 node and the L21 node).

[0115] Alternatively, the encapsulation position of the reduction bitmap information or the BIER forwarding router identifier can be after the User Datagram Protocol (UDP) header, the Ethernet header, or the Internet Protocol (IP) header, or other positions. BIER header encapsulation can also be used, as long as the nodes in the network can identify and process it. The embodiments of the present application do not limit this.

[0116] The encapsulated data packet is sent to the downstream nodes, i.e., the S11 node and the S21 node, by the aggregation root node, i.e., the SS1 node, according to the BIER forwarding table shown in FIG. 17. The S11 node sends the data packet to the L11 node according to the BIER forwarding table shown in FIG. 18 according to the bitmap information or the BIER forwarding router identifier in the received data packet. The L11 node sends the data packet to the connected GPU resource for calculation. The S21 node and the L21 node can forward the data packet according to the processing process of the S11 node and the L11 node. After the GPU resource completes the calculation, the generated calculation result is sent back to the L11 node and the L21 node. The L11 node performs an aggregation operation on the calculation result, carries the bitmap information or the BIER forwarding router identifier of the SS1 node in the aggregated result, and forwards the aggregated result according to the BIER forwarding table shown in FIG. 19. Finally, the data reaches the SS1 node. The L21 node can process the calculation result of the GPU resource according to the L11 node, and details are not described herein again. The SS1 node performs an aggregation operation on the data fed back by the L11 node and the L21 node to obtain a final aggregation result, and feeds back the final aggregation result to the in-network computing control end, thereby realizing the in-network computing function.

[0117] In this embodiment, when the BIER technology is deployed in the network, the aggregation operation of the in-network computing can be realized by using the BIER forwarding table constructed by the BIER technology and the encapsulation manner of adding the bitmap information or the BIER forwarding router identifier of the destination node in the data packet, without creating a bitmap tree, and has the advantage of being stateless.

[0118] In one embodiment, the above in-network computing process can be further optimized. Optionally, the specific optimization operation is as follows.

[0119] In the case that the data packet is the first data packet of the in-network computing task, the source node adds the bitmap information or the BIER forwarding router identifier of the destination node in the data packet.

[0120] Each node in the data packet forwarding path adds the task identifier of the in-network computing task in the local BIER forwarding table, and each non-aggregation root node in the node adds the node identifier of the upper aggregation node in the local BIER forwarding table to obtain an updated local BIER forwarding table. The updated local BIER forwarding table is used to forward subsequent data packets of the in-network computing task.

[0121] That is, the source node adds the bitmap information of the destination node or the BIER forwarding router identifier in the data packet only when the data packet is the first data packet of the in-network computing task, and forwards the data packet with the bitmap information of the destination node or the BIER forwarding router identifier added according to the local BIER forwarding table. After receiving the data packet, each node forwards the data packet according to the bitmap information of the destination node or the BIER forwarding router identifier in the data packet and the local BIER forwarding table, and can also add the corresponding task information in the local BIER forwarding table according to the bitmap information of the destination node or the BIER forwarding router identifier encapsulated in the data packet. In addition, for non-aggregation root nodes in each node on the data packet forwarding path, the node identifier of the corresponding upstream aggregation node can also be added in the local BIER forwarding table of the non-aggregation root node. Taking the SS1 node as the aggregation root node, the L11 node and the L21 node as the aggregation nodes in the above embodiment as an example, the SS1 node adds the task information in the corresponding position in the local BIER forwarding table, and the updated local BIER forwarding table is shown in FIG. 20. The L11 node adds the task information and the upstream aggregation node information in the corresponding position in the local BIER forwarding table, and the updated local BIER forwarding table is shown in FIG. 21. The L11 node adds the task information and the upstream aggregation node information in the corresponding position in the local BIER forwarding table, and the updated local BIER forwarding table is shown in FIG. 22.

[0122] In this way, the subsequent data packet can not need to carry the bitmap information of the destination node or the BIER forwarding router identifier, and each node queries the updated local BIER forwarding table according to the task identifier in the data packet to obtain the interface information to the destination node, so as to realize the forwarding of the data packet. For example, after the GPU resources of the L11 node and the L21 node complete the calculation, the L11 node and the L21 node aggregate the calculation results fed back by the GPU resources, query the updated local BIER forwarding table according to the task information in the data packet fed back by the GPU resources, obtain the SS1 node as the upper-level aggregation node, obtain the interface information to the SS1 node according to the local BIER forwarding table, feed back the data packet to the SS1 node according to the interface information, and further aggregate the data packet by the SS1 node, and finally feed back the final aggregation result to the in-network computing control end by the SS1 node.

[0123] Optionally, the method further comprises: after the network topology changes, in a case that a first data packet in subsequent data packets of the in-network computing task is received, the source node continues to add the reduced bit map information of the destination node or the BIER forwarding router identifier in the first data packet in the subsequent data packets, so that each node in a subsequent data packet forwarding path updates a local BIER forwarding table.

[0124] Illustratively, when the network topology has a problem, assuming that the link between the L11 node and the S11 node has a problem such as congestion or disconnection, and the aggregation operation of the in-network computing task (such as Job1) cannot continue, the routing protocol can perceive this change and automatically switch to other available links, such as the data packet sent by the SS1 node to the L11 node being forwarded by the S12 node, and the local BIER forwarding table of the SS1 node is automatically updated (that is, the next hop interface to the L11 node becomes the interface to the S12 node); after the local BIER forwarding table of the SS1 node changes, for the first data packet in the subsequent data packets of the in-network computing task, the SS1 node continues to carry the reduced bit map information of the L11 node or the BIER forwarding router identifier in the first data packet, so that when the data packet passes through the S12 node, the S12 node can add the corresponding task information (such as Job1) in the local BIER forwarding table, so that the subsequent data packets do not need to carry the reduced bit map information of the destination node or the BIER forwarding router identifier, thereby improving the flexibility of the in-network computing aggregation operation.

[0125] In this embodiment, each node adds the task information of the first data packet of the in-network computing task and the node identifier of the upper aggregation node to the local BIER forwarding table, so that each node can directly query the updated local BIER forwarding table according to the task information carried in the subsequent data packet to realize the forwarding of the subsequent data packet, thereby reducing the occupation of the reduced bit map information to the length of the data packet header.

[0126] In one embodiment, a method for implementing in-network computing based on the RIFT protocol is also provided, as shown in FIG. 23, which can include:

[0127] S2301, for each target node in the network, determining the south node, the north node, the interface information to the south node, and the interface information to the north node of the target node through the fat tree routing protocol.

[0128] S2302, generating an aggregation relationship table of the target node according to the south node, the north node, the interface information to the south node, and the interface information to the north node of the target node; wherein the aggregation relationship table is used to forward the data packet of the in-network computing task.

[0129] When the RIFT protocol is used as a routing protocol in the data center network, the north-south aggregation relationship table of each target node in the network can be automatically established by using the north-south characteristics of the RIFT protocol itself, the data is distributed southward according to the aggregation relationship table, and the northward aggregation of the calculation results is realized according to the task indication.

[0130] Exemplarily, for the SS1 node, as shown in FIG. 24, the SS1 node learns that its southward nodes are the S11 node, the S12 node, the S21 node and the S22 node through the RIFT protocol, and can obtain the interface information reaching the S11 node, the S12 node, the S21 node and the S22 node through the RIFT protocol. Since the SS1 node itself is the most northward node, the SS1 node has no northward node and northward interface information. For the S11 node, as shown in FIG. 25, the S11 node learns that its southward nodes are the L11 node and the L12 node, and the northward nodes are the SS1 node and the SS2 node through the RIFT protocol, and can obtain the southward interface information and the northward interface information through the RIFT protocol. For the L11 node, as shown in FIG. 26, the L11 node learns that its northward nodes are the S11 node and the S12 node through the RIFT protocol, and can obtain the interface information reaching the S11 node and the S12 node through the RIFT protocol. Since the L11 node itself is the most southward node, the L11 node has no southward node and southward interface information. For other target nodes in the network, such as the SS2 node, the S12 node, the S21 node and the S22 node, the aggregation relationship table can be constructed by referring to the above process, and the embodiments of the present application will not be described here.

[0131] It should be noted that the embodiments of the present application only illustrate the north-south aggregation relationship of each target node in the form of a table, and the north-south aggregation relationship of each target node can also be represented in the form of tree connection, and of course other forms of representation are also possible, which are not limited by the embodiments of the present application.

[0132] After the aggregation relationship table is established, each node in the network can distribute the data message southward based on the aggregation relationship table, for example, a certain data message reaches the S11 node, the S11 node can automatically forward the data message to the L11 node and the L12 node according to its own aggregation relationship table, and the L11 node and the L12 node send the data message to the connected GPU resources for calculation. If a certain data message reaches the SS1 node, the SS1 node can automatically distribute the data message to the S11 node, the S12 node, the S21 node and the S22 node according to its own aggregation relationship table, and the nodes automatically send the data message to the L11 node, the L12 node, the L21 node and the L22 node, and then the Leaf nodes (i.e. the L11 node, the L12 node, the L21 node and the L22 node) distribute the data message to the connected GPU resources for calculation.

[0133] When the calculation results of each GPU resource need to be aggregated, the L11 node, the L12 node, the L21 node and the L22 node can implement automatic aggregation operation, and then send the aggregation results to the upper aggregation node designated by the task according to the respective aggregation relationship table, and further aggregation is performed by the upper aggregation node. For example, assuming that a certain in-network computing task needs to be aggregated by the S11 node, the L11 and L12 nodes send the results of the aggregation operation to the S11 node, and the S11 node performs the aggregation operation, and then judges whether there is a superior aggregation node of the in-network computing task that needs to be sent. Assuming that the S11 node is the aggregation root node of the in-network computing task, it is not necessary to continue to send to the northward node, and the S11 node feeds back the aggregation result to the in-network computing control end. For another example, assuming that the aggregation root node of a certain in-network computing task is the SS1 node, the S11 node sends the aggregation result to the SS1 node according to the aggregation relationship table of itself, the SS1 node receives the data that needs to be aggregated, and then performs the aggregation operation again, and feeds back the final aggregation result to the in-network computing control end.

[0134] In the embodiment, the south-north aggregation relationship table of each target node in the network is automatically established by using the south-north characteristics of the RIFT protocol itself, the southward distribution of data is implemented according to the aggregation relationship table, and the northward aggregation of the calculation result is implemented according to the task indication, so that the in-network computing function is realized, and the implementation efficiency of high-performance computing and artificial intelligence is improved.

[0135] FIG. 27 is a structural schematic diagram of an in-network computing implementation device provided by an embodiment of the present application. The device is integrated in a target schema tree node, as shown in FIG. 27, and can include a receiving module 2701, a determining module 2702 and a constructing module 2703.

[0136] Specifically, the receiving module 2701 is configured to receive a schema tree creation notification message; wherein the schema tree creation notification message includes the node identifier of the adjacent schema tree node of the target schema tree node.

[0137] The determining module 2702 is configured to determine the interface information reaching the adjacent schema tree node according to the local routing information.

[0138] The constructing module 2703 is configured to generate a schema tree forwarding table according to the interface information; wherein the schema tree forwarding table is used to forward the data packet of the in-network computing task.

[0139] Optionally, the schema tree creation notification message further includes at least one of the following:

[0140] The schema tree identifier, the constraint information, the task information corresponding to the schema tree, the node identifier of the target schema tree node and the node identifier of the computing node used to execute the in-network computing task.

[0141] On the basis of the above-mentioned embodiments, optionally, the determining module 2702 is specifically configured to determine the interface information to the adjacent reduction tree node according to the local routing information and the constraint information.

[0142] Optionally, the reduction tree creation notification message is carried in prefix advertisement information of a routing protocol.

[0143] On the basis of the above-mentioned embodiments, optionally, the receiving module 2701 is specifically configured to, in the case that the target reduction tree node is a non-reduction tree root node, receive a reduction tree creation notification message sent by a reduction tree root node; and in the case that the target reduction tree node is a reduction tree root node, receive a reduction tree creation notification message sent by an in-situ computing control end or receive a reduction tree creation notification message sent by the in-situ computing control end through a super-spine node.

[0144] On the basis of the above-mentioned embodiments, optionally, the constructing module 2703 is further configured to, in the case that the local routing information changes, update the reduction tree forwarding table according to the changed local routing information.

[0145] FIG. 28 is another structural schematic diagram of an in-situ computing implementation device provided by the embodiments of the present application. As shown in FIG. 28, the device can include an encapsulating module 2801 and a sending module 2802, which can be integrated in a source node.

[0146] Specifically, the encapsulating module 2801 is configured to add reduction bitmap information of a destination node or a BIER forwarding router identifier in a data packet to be transmitted.

[0147] The sending module 2802 is configured to forward the data packet with the added reduction bitmap information of the destination node or the BIER forwarding router identifier according to a local BIER forwarding table.

[0148] On the basis of the above-mentioned embodiments, optionally, the encapsulating module 2801 is specifically configured to, in the case that the data packet is a first data packet of an in-situ computing task, add the reduction bitmap information of the destination node or the BIER forwarding router identifier in the data packet by the source node.

[0149] On the basis of the above-mentioned embodiments, optionally, the device further includes an updating module.

[0150] Specifically, the updating module is configured to add a task identifier of the in-situ computing task in the local BIER forwarding table, and add a node identifier of a superior aggregation node in the local BIER forwarding table, to obtain an updated local BIER forwarding table; wherein the updated local BIER forwarding table is used to forward subsequent data packets of the in-situ computing task.

[0151] On the basis of the above-mentioned embodiments, optionally, the encapsulation module 2801 is further configured to, after the network topology changes, continue to add the reduced bit map information of the destination node or the BIER forwarding router identifier in the first data packet in the subsequent data packet of the in-network computing task, so that each node in the subsequent data packet forwarding path updates the local BIER forwarding table.

[0152] Optionally, the source node is an aggregation root node of the in-network computing task, and the destination node is a computing node used for executing the in-network computing task or a leaf node connected to the computing node.

[0153] Alternatively, the source node is a leaf node connected to the computing node, and the destination node is the aggregation root node.

[0154] FIG. 29 is another structural schematic diagram of an in-network computing implementation device provided by an embodiment of the present application. As shown in FIG. 29, the device can include a determination module 2901 and a construction module 2902.

[0155] The determination module 2901 is configured to determine, for each target node in a network, a southward node, a northward node, interface information to the southward node, and interface information to the northward node of the target node through a fat tree routing protocol.

[0156] The construction module 2902 is configured to generate an aggregation relationship table of the target node according to the southward node, the northward node, the interface information to the southward node, and the interface information to the northward node of the target node; wherein the aggregation relationship table is used for southward forwarding of data packets of an in-network computing task and northward aggregation of computing feedback results of the data packets.

[0157] In one embodiment, the internal structure of the transmission device can be as shown in FIG. 30. The transmission device includes a processor, a memory, a network interface, and a database connected through a system bus. The processor of the transmission device is configured to provide computing and control capabilities. The memory of the transmission device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for the operating system and the computer program in the non-volatile storage medium to run. The database of the transmission device is configured to store data generated in the in-network computing implementation process. The network interface of the transmission device is configured to communicate with an external terminal through a network connection. The computer program is executed by the processor to implement an in-network computing implementation method.

[0158] Those skilled in the art can understand that the structure shown in FIG. 30 is only a block diagram of part of the structure related to the scheme of the present application, and does not constitute a limitation on the transmission device to which the scheme of the present application is applied. The specific transmission device can include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.

[0159] The embodiment of the present application further provides a computer readable storage medium, and the computer readable storage medium stores a computer program. The computer program is executed by a processor to implement the in-network computing implementation method in any of the above embodiments.

[0160] The embodiment of the present application further provides a computer program product, and the computer program product stores a computer program. The computer program is executed by a processor to implement the in-network computing implementation method in any of the above embodiments.

[0161] The computer storage medium of the embodiment of the present application can adopt any combination of one or more computer readable media. The computer readable medium can be a computer readable signal medium or a computer readable storage medium. The computer readable storage medium may, for example, but is not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or apparatus, or any combination of the above. The computer readable storage medium includes (but is not an exhaustive list) an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an electrically erasable, programmable read-only memory (EPROM), a flash memory, an optical fiber, a portable compact disk read-only memory (Compact Disc Read-Only Memory, CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present application, the computer readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, device or apparatus.

[0162] The computer readable signal medium can include a data signal propagated in a baseband or as a part of a carrier wave, and the data signal carries computer readable program code. Such a propagated data signal can take various forms, including but not limited to an electromagnetic signal, an optical signal or any suitable combination of the above. The computer readable signal medium can also be any computer readable medium other than the computer readable storage medium, which can send, propagate or transmit a program for use by or in conjunction with an instruction execution system, device or apparatus.

[0163] The program code embodied on the computer readable media can be transmitted using any appropriate medium, including but not limited to wireless, wire line, optical fiber cable, Radio Frequency (RF), and the like, or any suitable combination of the foregoing.

[0164] Computer program code for carrying out operations of the present disclosure can be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++, Ruby, Go, or the like, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider).

[0165] Those skilled in the art will appreciate that the term user terminal encompasses any appropriate type of wireless user device, such as a mobile phone, a portable data processing apparatus, a portable web browser, or a vehicle mounted mobile station.

[0166] In general, the various embodiments of the application can be implemented in hardware or special purpose circuits, software, logic or any combination thereof. For example, some aspects can be implemented in hardware, while other aspects can be implemented in

[0167] Embodiments of the application can be implemented by the data processor of a mobile device executing computer program instructions, for example in a processor entity, or by hardware, or by a combination of software and hardware. Computer program instructions can be in assemblies, instruction set architecture (ISA), machine instructions, machine dependent instructions, microcode, firmware instructions, state setting data, or in any combination of one or more programming languages, executed on one or more computer devices.

[0168] The block diagrams of any logical flow of the present application in the drawings can represent program steps or can represent interconnected logic circuits, modules, and functions, or can represent a combination of program steps and logic circuits, modules, and functions. The computer program can be stored on a memory. The memory can be of any type suitable to the local technical environment and can be realized using any suitable data storage technology, such as, but not limited to, read only memory (ROM), random access memory (RAM), optical storage devices, and systems, such as digital video disc (DVD) or compact disc (CD), and the like. The computer readable medium can include non-transitory storage media. The data processor can be of any type suitable to the local technical environment, and can include, but is not limited to, a general purpose computer, a special purpose computer, a microprocessor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), and a processor based on multi-core processor architecture.

Claims

1. A method for implementing in-network computing, applied to a target reduction tree node, the method comprising: receiving a reduction tree creation notification message; wherein the reduction tree creation notification message comprises a node identifier of a neighboring reduction tree node of the target reduction tree node; determining interface information to the neighboring reduction tree node according to local routing information; generating a reduction tree forwarding table according to the interface information; wherein the reduction tree forwarding table is used for forwarding a data packet of an in-network computing task.

2. The method of claim 1, wherein, The reduction tree creation notification message further comprises at least one of the following: a reduction tree identifier, constraint information, task information corresponding to the reduction tree, the node identifier of the target reduction tree node, and a node identifier of a computing node used for executing the in-network computing task.

3. The method of claim 2, wherein, The determining of the interface information to the neighboring reduction tree node according to the local routing information comprises: determining the interface information to the neighboring reduction tree node according to the local routing information and constraint information.

4. The method of claim 1, wherein, The reduction tree creation notification message is carried in prefix advertisement information of a routing protocol.

5. The method of claim 1, wherein, The receiving of the reduction tree creation notification message comprises: in a case where the target reduction tree node is a non-reduction tree root node, receiving a reduction tree creation notification message sent by a reduction tree root node; in a case where the target reduction tree node is a reduction tree root node, receiving a reduction tree creation notification message sent by an in-network computing control end or receiving a reduction tree creation notification message sent by the in-network computing control end through a super-spine node.

6. The method of claim 1, further comprising: in a case where local routing information changes, updating the reduction tree forwarding table according to the changed local routing information.

7. A method for implementing in-network computing, comprising: a source node adding reduction bitmap information of a destination node or bit index explicit replication BIER forwarder identifier in a data packet to be transmitted; the source node forwarding the data packet with the added reduction bitmap information of the destination node or BIER forwarder identifier according to a local BIER forwarding table.

8. The method of claim 7, wherein, The source node adding the reduction bitmap information of the destination node or BIER forwarder identifier in the data packet to be transmitted comprises: in a case where the data packet is a first data packet of an in-network computing task, the source node adding the reduction bitmap information of the destination node or BIER forwarder identifier in the data packet.

9. The method of claim 8, further comprising: each node in the data packet forwarding path adding a task identifier of the in-network computing task in a local BIER forwarding table, and each non-aggregation root node in the nodes adding a node identifier of an upper aggregation node in the local BIER forwarding table to obtain an updated local BIER forwarding table; wherein the updated local BIER forwarding table is used for forwarding subsequent data packets of the in-network computing task.

10. The method of claim 9, further comprising: In a case that the first data packet in the subsequent data packet of the in-network computing task is received after the network topology changes, the source node continues to add the contract bitmap information of the destination node or the BIER forwarding router identifier in the first data packet in the subsequent data packet, so that each node in the subsequent data packet forwarding path updates the local BIER forwarding table.

11. The method of any one of claims 7-10, wherein, The source node is an aggregation root node of the in-network computing task, and the destination node is a computing node used for executing the in-network computing task or a leaf node connected with the computing node. Alternatively, the source node is a leaf node connected with the computing node, and the destination node is the aggregation root node.

12. An in-network computing implementation method, comprising: determining, for each target node in a network, a southward node, a northward node, interface information to the southward node, and interface information to the northward node of the target node through a fat tree routing protocol; generating an aggregation relationship table of the target node according to the southward node, the northward node, the interface information to the southward node, and the interface information to the northward node of the target node; wherein the aggregation relationship table is used for forwarding data packets of an in-network computing task.

13. An in-network computing implementation apparatus integrated in a target contract tree node, comprising: a receiving module configured to receive a contract tree creation notification message; wherein the contract tree creation notification message comprises node identifiers of adjacent contract tree nodes of the target contract tree node; a determining module configured to determine interface information to the adjacent contract tree nodes according to local routing information; a constructing module configured to generate a contract tree forwarding table according to the interface information; wherein the contract tree forwarding table is used for forwarding data packets of an in-network computing task.

14. An in-network computing implementation apparatus, comprising: a packaging module configured to add contract bitmap information of a destination node or bit index explicit replication BIER forwarding router identifiers in a data packet to be transmitted; a sending module configured to forward the data packet added with the contract bitmap information of the destination node or the BIER forwarding router identifiers according to a local BIER forwarding table.

15. An in-network computing implementation apparatus, comprising: a determining module configured to determine, for each target node in a network, a southward node, a northward node, interface information to the southward node, and interface information to the northward node of the target node through a fat tree routing protocol; a constructing module configured to generate an aggregation relationship table of the target node according to the southward node, the northward node, the interface information to the southward node, and the interface information to the northward node of the target node; wherein the aggregation relationship table is used for southwardly forwarding data packets of an in-network computing task and northwardly aggregating computing feedback results of the data packets.

16. A transmitting device comprising: a memory and a processor, the memory storing a computer program, and the processor implementing the steps of the method in any one of claims 1-12 when executing the computer program.

17. A storage medium having stored thereon a computer program which, when executed by a processor, implements the steps of the method of any one of claims 1-12.

Citation Information

Patent Citations

  • Communication method and device

    CN108881053A

  • Information notification method and device, message forwarding method and device, message elimination method and device, equipment and medium

    CN112511319A

  • Network computing method and device

    CN113742054A

  • System and method for using infiniband routing algorithms for ethernet fabrics in a high performance computing environment

    US20190319848A1

  • Scalable reachability for movable destinations attached to a leaf-spine switching architecture

    US20200322838A1