Multicast routing method in system on chip, computer equipment and program product

By adopting a packet interconnect network based on four-dimensional hypercubes and efficient multicast routing method in the on-chip system, the problems of large delay in two-dimensional NoC signal and high complexity of three-dimensional NoC are solved, and a network topology with low complexity, good scalability and low latency are realized.

CN120075129APending Publication Date: 2025-05-30SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD

Patent Information

Application Number
CN202510552067.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-29
Publication Date
2025-05-30

AI Technical Summary

Technical Problem

In existing systems on chip, it is difficult for two-dimensional NoC to ensure that key components are adjacent, resulting in large signal delays, and the structural complexity of the three-dimensional NoC makes it difficult to design a network topology structure with low complexity and good scalability.

Method used

Using a packet interconnect network based on a four-dimensional hypercube, by dividing the target nodes into different subsets and determining a set of cross-group nodes, an efficient multicast routing method is designed, and packet transmission is transmitted using intra-group routing algorithms and inter-group links.

Benefits of technology

It realizes a network topology structure with low structural complexity, small network diameter, small network delay and good scalability, reduces the length of routing paths during multicast communication, reduces network delay, and improves network performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120075129A_ABST
    Figure CN120075129A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of systems on chip, and provides a multicast routing method in a system on chip, computer equipment and a program product. The method is applied to a packet interconnection network. The packet interconnection network comprises a plurality of network packets; the network packet has a topological structure of a four-dimensional hypercube taking a network node as a vertex; the method comprises the following steps: dividing target nodes belonging to the same network group in multicast into the same set to obtain each target node subset; determining each cross-group node set according to a multicast source node and each target node subset, and obtaining inter-group links between network groups; and planning different message transmission paths according to whether the target node and the source node belong to the same network group. According to the technical scheme provided by one or more embodiments of the invention, an efficient multicast routing method in the system on chip is provided.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the technical field of system-on-chip, and particularly to a multicast routing method, a computer device, and a program product in a system-on-chip. Background Art

[0002] With the development of large-scale integrated circuit technology, the bus communication efficiency of a system-on-chip (SoC) based on a bus structure is relatively low, making it difficult to meet the real-time requirements of the system. To solve the problems faced by the SoC, a network-on-chip (NoC) emerged as the times require.

[0003] The NoC is a brand-new on-chip interconnection architecture that can transmit data packets through the network on the NoC chip. Although the NoC optimizes the scalability and parallel operation problems of the SoC, it does not solve the problems of physical wiring distance and signal delay. With the further improvement of chip integration, restricted by the two-dimensional layout conditions, it is difficult for a two-dimensional NoC to ensure that key components are adjacent, difficult to shorten the critical path length, and difficult to reduce signal delay. Therefore, technicians considered stacking NoCs layer by layer to form a three-dimensional NoC, thereby shortening the length of the link and reducing signal delay.

[0004] The three-dimensional NoC combines NoC technology with three-dimensional integration technology. By stacking chips layer by layer in a direction perpendicular to the two-dimensional plane, a three-dimensional on-chip network can be realized. In theory, the three-dimensional on-chip network structure can increase path diversity, reduce the network diameter, and has good scalability. However, the complexity of the three-dimensional structure is usually high, which easily leads to wiring difficulties. Therefore, how to design an on-chip network structure with low structural complexity and good scalability remains an urgent problem to be solved. At the same time, for each newly designed on-chip network structure, how to ensure that its communication efficiency reaches an ideal level should also become the focus of key attention. Summary of the Invention

[0005] In view of this, one or more embodiments of this application provide a multicast routing method, a computer device, and a program product in a system-on-chip, which can realize a network topology structure with low structural complexity, small network diameter, small network delay, and good scalability, and design an efficient multicast routing method for this network topology structure.

[0006] In a first aspect, this application provides a multicast routing method in a system-on-chip. This method is applied to a packet interconnection network; the packet interconnection network includes multiple network packets; the network packet has a topological structure of a four-dimensional hypercube with network nodes as vertices; in the packet interconnection network, there is at least one inter-group link between every two network packets; the method includes: Partition the target nodes belonging to the same network packet in multicast into the same set to obtain each subset of target nodes; According to the source node of the multicast and each subset of target nodes, determine each set of cross-group nodes. Each set of cross-group nodes includes a first cross-group node and a second cross-group node. The first cross-group node and the source node are in the same network packet, the second cross-group node and the target node are in the same network packet, and there is an inter-group link between the first cross-group node and the second cross-group node; If there is a first target node that belongs to the same network packet as the source node, then based on the intra-group routing algorithm, transmit the target packet from the source node to the first target node; If there is a second target node that belongs to a different network packet from the source node, then based on the intra-group routing algorithm and the inter-group link, transmit the target packet from the source node, through the first cross-group node and the second cross-group node, to the second target node.

[0007] In a second aspect, the present invention provides a computer device, including: a memory and a processor, which are communicatively connected to each other. The memory stores computer instructions, and the processor executes the computer instructions to execute the multicast routing method in the system on chip in the first aspect above.

[0008] In a third aspect, the present invention provides a computer-readable storage medium, on which computer instructions are stored. The computer instructions are used to cause a computer to execute the multicast routing method in the system on chip in the first aspect above.

[0009] In a fourth aspect, the present invention provides a computer program product, including computer instructions, which are used to cause a computer to execute the multicast routing method in the system on chip in the first aspect above.

[0010] The technical solution provided by one or more embodiments of this application proposes a packet interconnection network based on a four-dimensional hypercube to implement the network topology of the network on chip. This packet interconnection network uses a four-dimensional hypercube as a basic unit to form network packets. Each network packet can have the same number of network nodes as the number of vertices of the four-dimensional hypercube. Compared with other network models, the network can be easily expanded by increasing the network dimension. From the perspective of the node accommodation capacity, the number of network nodes increases exponentially with the increase of the network node degree. This property enables it to accommodate a huge number of computing nodes. Therefore, the hypercube-based topological network has the advantages of small network delay, good network scalability, low structural complexity, small link overhead, strong load capacity, and the ability to accommodate more routing nodes, and has broad application prospects.

[0011] The technical solutions provided by one or more embodiments of the present application can divide target nodes into different target node subsets according to network grouping. When a target message needs to be multicast from a source node to each target node, a unique intra-group routing algorithm can be used to transmit the message within each network grouping, reducing the message transmission path and optimizing the message transmission efficiency. If the target message needs to be transmitted across groups, the inter-group message delivery can be efficiently completed through the inter-group links between network groupings. Moreover, the determination of the cross-group node set is conducive to quickly determining the preferred inter-group link. Therefore, the multicast routing algorithm designed in the present application is adapted to the packet-interconnection network based on a four-dimensional hypercube, reducing the length of the routing path during multicast communication, reducing the network delay, and improving the network performance. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] To more clearly illustrate the embodiments of the present application, the following will briefly introduce the drawings required for use in the embodiments. Obviously, the drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.

[0013] Figure 1 Shows a schematic diagram of the network structure of a packet-interconnection network in one embodiment of the present application; Figure 2 Shows a schematic diagram of the structure of a four-dimensional hypercube in one embodiment of the present application; Figure 3 Shows a schematic diagram of the connection between two sets of hypercube modules in one embodiment of the present application; Figure 4 Shows a schematic diagram of the steps of the multicast routing method in a system-on-chip in one embodiment of the present application; Figure 5 Shows a schematic diagram of the structure of a computer device in one embodiment of the present application. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0014] To make the objectives, technical solutions, and advantages of the embodiments of the present application clearer, the following will clearly and completely describe the technical solutions in the embodiments of the present application with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are some, but not all, of the embodiments of the present application. Based on the embodiments of the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts fall within the scope of protection of the present application.

[0015] It should be noted that in the description of this application, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements not only includes those elements, but also includes other elements not expressly listed, or elements inherent to such process, method, article or device. The terms "first", "second", etc. in this application are used to distinguish similar objects, rather than to describe a specific order or sequence.

[0016] To enable those skilled in the art of this technology to better understand the solution of this application, the following further detailed description of this application will be given in conjunction with the accompanying drawings and specific implementation manners.

[0017] The multicast routing method in the system on a chip provided by one or more embodiments of this application can be applied to a packet interconnection network. The packet interconnection network includes multiple network packets. The network packet has a four-dimensional hypercube topological structure with network nodes as vertices. In this packet interconnection network, there is at least one inter-group link between every two network packets.

[0018] The packet interconnection network proposed in this application is a packet interconnection topology network based on a hypercube (abbreviated as HF), which can be expressed as HF. This network can be composed of four-dimensional hypercube structures, which are formed in a fully interconnected manner. A four-dimensional hypercube is a network packet, and the

[0019] Please refer to Figure 1 , in a practical application example, between any two network packets of a HF, they can be connected by two global links. That is, from each four-dimensional hypercube structure, 16 global links can be led out and connected to the other 8 four-dimensional hypercubes respectively.

[0020] Please refer to Figure 2 , the four-dimensional hypercube proposed in this application is constructed according to its definition and can have 16 vertices. In one or more embodiments of this application, each vertex of the four-dimensional hypercube can be used as a network node (routing node). The links between the network nodes inside the four-dimensional hypercube can be defined as local links. Each network node can have a node identifier to distinguish its position information inside the network packet. Since the four-dimensional hypercube has 16 vertices, the node identifier can be selected as a four-bit binary number, which is sufficient to distinguish each network node.

[0021] In some embodiments, the packet identifier of each network packet p can be represented in four-bit binary, and the node identifier of each network node within the network packet q can also be four-bit binary. Thus, the specific location of a network node in the packet-interconnected network can be in the form of a combination of the packet identifier corresponding to the network node and the node identifier, for example .

[0022] Suppose node and node are directly connected by a global link in the packet-interconnected network, then the following relationship must be satisfied: ; ; For node , by performing an exclusive OR operation on and 0111, the node identifier of the node connected to this node can be obtained . The packet identifier of the packet where the node connected to this node is located can be obtained by performing a modulo operation on .

[0023] Please refer to Figure 3 , in a practical application example, after determining the global link through the above steps, a detailed connection method between each network node in the HF can be obtained. Figure 3 This is a schematic diagram of node connections between the first group of hypercube modules and the third group of hypercube modules in the HF.

[0024] Please refer to Figure 4 , the multicast routing method in the system-on-chip provided by an embodiment of the present application may include the following multiple steps.

[0025] S1: Divide the target nodes belonging to the same network packet in the multicast into the same set to obtain each subset of target nodes.

[0026] In this embodiment, the purpose of the multicast is to transmit the target message at the source node to multiple target nodes. Since the target nodes may be distributed in different network packets, dividing each subset of target nodes can achieve the packet transmission of the target message and improve the message transmission efficiency.

[0027] In this embodiment, each network packet may have a unique packet identifier, and each network node in the same network packet may have its corresponding node identifier. On this basis, by dividing the target nodes with the same packet identifier into the same set, each subset of target nodes can be obtained.

[0028] In a practical application example, let the source node be denoted as , and the set of target nodes can be . By dividing the target nodes belonging to the same four-dimensional hypercube into the same set, that is, dividing the target nodes with the same group number into the same set, the subset of target nodes can be obtained. Among them, represents the set of target nodes in the th group, ( is represented in four-bit binary as , for example ) represents the serial number of this group. Finally, subsets of target nodes can be obtained, .

[0029] S2: According to the source node of the multicast and each subset of target nodes, determine each cross-group node set. Each cross-group node set includes a first cross-group node and a second cross-group node. The first cross-group node and the source node are in the same network packet, the second cross-group node and the target node are in the same network packet, and there is an inter-group link between the first cross-group node and the second cross-group node.

[0030] In this embodiment, the determination of the cross-group node set is beneficial to quickly determine the preferred inter-group link. For example, after knowing the network packet where the source node is located and the network packets corresponding to the subsets of target nodes, a preferred global link can be determined between these two network packets. The two nodes and of this preferred global link can be defined as the cross-group nodes between the network packet where the source node is located and the i th network packet. Among them, , . The cross-group node set can be represented as , where , , .

[0031] In some embodiments, determining each cross-group node set according to the source node of the multicast and each subset of destination nodes includes: determining a first cross-group coordinate according to the source node and the subset of destination nodes; determining a first cross-group node according to the first cross-group coordinate; generating a second cross-group coordinate based on a logical operation result of the first cross-group coordinate and a preset cross-group operator; determining a second cross-group node according to the second cross-group coordinate; and determining the cross-group node set based on the first cross-group node and the second cross-group node.

[0032] Specifically, the cross-group node set includes both the first cross-group node and the second cross-group node, and the positions of these two cross-group nodes in the packet-interconnected network can be determined. During the calculation, the position information (the first cross-group coordinate) of the first cross-group node can be determined first. Subsequently, the position information (the second cross-group coordinate) of the second cross-group node is determined by using the position information of the first cross-group node.

[0033] In some embodiments, determining the first cross-group coordinate includes: calculating a first operator according to the grouping identifier of the source node and the grouping identifiers of the subsets of destination nodes; calculating a second operator according to the node identifier of the source node; and determining the first cross-group coordinate according to the addition calculation result of the first operator and the second operator.

[0034] In a practical application example, according to the source node and the subset of destination nodes , the first cross-group node coordinates and the second cross-group node coordinates are calculated, and the calculation process is as follows.

[0035] ; ; ; ; where is the first operator, is the second operator, and 0111 is the preset cross-group operator. Finally, ( ) cross-group node sets , , can be obtained.

[0036] In this embodiment, after obtaining each subset of destination nodes, for each subset of destination nodes, the destination nodes in the subset of destination nodes can be sorted. The purpose of performing this step is to sort out the destination nodes that need to transmit packets in each network packet, which is convenient for subsequent use of some intra-group routing algorithms to plan an optimal packet transmission path and ensure the packet transmission efficiency.

[0037] In some embodiments, for each subset of target nodes, sorting the target nodes in the subset of target nodes includes: dividing the subset of target nodes into one or more in-group diversities according to the target head node identifiers of the target nodes; performing a first sorting on the in-group diversities based on the first exclusive-OR operation result of the target head node identifier and the first reference identifier; and performing a second sorting on the target nodes in each in-group diversity according to the second exclusive-OR operation result of the target tail node identifier of the target node and the second reference identifier. Wherein, the first reference identifier is the head node identifier of the source node or the second cross-group node. During the second sorting process, if there is no pre-in-group diversity for the current in-group diversity, the second reference identifier is the tail node identifier of the source node or the second cross-group node; if there is a pre-in-group diversity for the current in-group diversity, the second reference identifier is the tail node identifier of the last node of the pre-in-group diversity.

[0038] Specifically, performing a first sorting on the in-group diversities based on the first exclusive-OR operation result of the target head node identifier and the first reference identifier includes: if the first exclusive-OR operation result is a first operation value (e.g., 00), the diversity position serial number of the in-group diversity is the first serial number; if the first exclusive-OR operation result is a second operation value (e.g., 01), the diversity position serial number of the in-group diversity is the second serial number; if the first exclusive-OR operation result is a third operation value (e.g., 11), the diversity position serial number of the in-group diversity is the third serial number; if the first exclusive-OR operation result is a fourth operation value (e.g., 10), the diversity position serial number of the in-group diversity is the fourth serial number; if there is a first exclusive-OR operation result of the fourth operation value and there is no first exclusive-OR operation result of the second operation value, the diversity position serial number of the in-group diversity corresponding to the fourth serial number is changed to the second serial number.

[0039] Performing a second sorting on the target nodes in each in-group diversity according to the second exclusive-OR operation result of the target tail node identifier of the target node and the second reference identifier includes: if the second exclusive-OR operation result is a fifth operation value (e.g., 00), the in-set position serial number of the target node is the fifth serial number; if the second exclusive-OR operation result is a sixth operation value (e.g., 01), the in-set position serial number of the target node is the sixth serial number; if the second exclusive-OR operation result is a seventh operation value (e.g., 11), the in-set position serial number of the target node is the seventh serial number; if the second exclusive-OR operation result is an eighth operation value (e.g., 10), the in-set position serial number of the target node is the eighth serial number; if there is a second exclusive-OR operation result of the eighth operation value and there is no second exclusive-OR operation result of the sixth operation value, the in-set position serial number of the target node corresponding to the eighth serial number is changed to the sixth serial number.

[0040] In a practical application example, for the node , is its four-bit binary node identifier. The header node identifier of can be the first two bits of binary data, marked as . The tail node identifier of can be the last two bits of binary data, marked as . For example, when , , .

[0041] In the target node subset , the nodes with the same header node identifier as (i.e., ) are divided into a set, and one or more intra-group diversities can be formed, that is, . The number of intra-group diversities in is . If , it means there is only one intra-group diversity and secondary sorting can be directly performed.

[0042] During the first sorting process, perform an exclusive OR operation on and the first reference identifier to obtain the first exclusive OR operation result, that is, . If , it means the network group corresponding to this target node subset is the network group where the source node is located. Take , that is, perform an exclusive OR operation on and the header node identifier of the source node ; if , , that is, perform an exclusive OR operation on and the header node identifier of the second cross-group node .

[0043] If , the position sequence number of the set is 0, that is, ; if , the position sequence number of the set is 1, that is, ; if , the position sequence number of the set is 2, that is, ; if , the position sequence number of the set is 3, that is, . If there is in all the obtained and , then change the position sequence number of to Sort the set in ascending order of the position serial numbers, i.e., 。 。

[0044] During the secondary sorting process, sort the target nodes in each intra-group subset after sorting. If there is only one target node in the intra-group subset, there is no need to sort this intra-group subset. If the number of target nodes in the intra-group subset is greater than 1, the following process is carried out.

[0045] Take the tail node identifier of the target node in the -th intra-group subset in , and perform an exclusive OR operation with the second reference identifier to obtain the second exclusive OR operation result, i.e., 。If , the position serial number of the target node is 0; if , the position serial number of the target node is 1; if , the position serial number of the target node is 2; if , the position serial number of the target node is 3. If there exists and in all the obtained , then change the position serial number of the target node corresponding to from 3 to 1. Sort the elements in the -th subset in ascending order of the target node position serial numbers. Among them, 。 。

[0046] When , if , it means that the network packet corresponding to this target node subset is the network packet where the source node is located. Take , that is, perform an exclusive OR operation on the tail node identifier of the target node in the first intra-group subset in , and the tail node identifier of the source node ; if , , that is, perform an exclusive OR operation on the tail node identifier of the target node in the first intra-group subset in , and the tail node identifier of the second cross-group node. When , the value of is The tail node identifier of the last target node in the sorted groups within a group of diversities.

[0047] S3: If there is a first target node that belongs to the same network group as the source node, then based on the in-group routing algorithm, transmit the target message from the source node to the first target node.

[0048] In this embodiment, when the first target node and the source node are in the same network group, the in-group routing algorithm can be directly invoked in this network group to implement the routing plan of the target message, reduce the message transmission path, and optimize the message transmission efficiency.

[0049] In this embodiment, an in-group routing algorithm includes: obtaining the node identifier of the current node and the node identifier of the desired node; calculating a transfer indicator based on the node identifier of the current node and the node identifier of the desired node; and transmitting the target message from the current node to the desired node according to the transfer indicator.

[0050] In some embodiments, transmitting the target message from the current node to the desired node according to the transfer indicator includes: determining whether there is a transfer node according to the transfer indicator; if there is a transfer node, then transmit the target message from the current node to the desired node through the transfer node in the order of the transfer nodes.

[0051] Specifically, by using the transfer indicator, it can be determined whether a transfer is required during the process of transmitting the target message from the current node to the desired node. Under the indication of the transfer identifier, the target message sent by the source node (current node) can directly reach the first target node (desired node), or can reach the first target node through a transfer node. During this process, if the transfer indicator determines multiple transfer nodes, then according to the determined order of the transfer nodes, it is decided which transfer node to pass through first.

[0052] It should be noted that when the target message arrives at the first target node, the first target node will become the current node, and the second target node will become the new desired node. To transmit the target message from the first target node to the second target node, it is necessary to calculate the transfer indicator again for routing planning. The current node and the desired node can be continuously iterated until the target message reaches all target nodes within a network group.

[0053] In some embodiments, both the transit indicator and the node identifier are four-bit binary numbers. Determining whether there is a transit node according to the transit indicator includes: detecting the non-zero bits of the transit indicator; for each detected non-zero bit, performing a bitwise inversion operation on a candidate bit in the node identifier of the current node corresponding to the non-zero bit to generate a transit coordinate; and determining the transit node according to the transit coordinate.

[0054] In a practical application example, the current node is set to , and the desired node is set to . After calculating , the non-zero bits of the transit indicator can be identified. In the order from right to left, for each non-zero bit of , the corresponding bit of is inverted to obtain the next node for message transmission until the message is transmitted to the node .

[0055] S4: If there is a second target node that belongs to a different network group from the source node, then based on the intra-group routing algorithm and the inter-group link, transmit the target message from the source node, through the first cross-group node and the second cross-group node, to the second target node.

[0056] In this embodiment, if a target message needs to be transmitted across groups, the inter-group message transfer can be efficiently completed through the inter-group link between network groups. Within each network group, the intra-group routing algorithm can still be invoked to implement the routing plan of the target message, reduce the message transmission path, and optimize the message transmission efficiency.

[0057] In some embodiments, transmitting the target message from the source node, through the first cross-group node and the second cross-group node, to the second target node includes: determining a candidate cross-group node set corresponding to the second target node according to the group identifier of the second target node, and determining a candidate first cross-group node and a candidate second cross-group node of the candidate cross-group node set; transmitting the target message from the source node to the candidate first cross-group node through the intra-group routing algorithm; transmitting the target message from the candidate first cross-group node to the candidate second cross-group node through the inter-group link between the candidate first cross-group node and the candidate second cross-group node; and transmitting the target message from the candidate second cross-group node to the second target node through the intra-group routing algorithm.

[0058] Specifically, the inter-group connection path between the network group where the second target node is located and the group where the source node is located is only a small number of global links (component links). By determining the cross-group node set, an optimal inter-group link can be quickly determined and marked through the candidate cross-group node set. According to the candidate cross-group node set, the two cross-group nodes that make up the optimal inter-group link can be known, namely the candidate first cross-group node and the candidate second cross-group node. The target message is transmitted between the candidate first cross-group node and the candidate second cross-group node, and it can be directly completed through the inter-group link. However, for the target message to be transmitted from the source node to the candidate first cross-group node, or for the target message to be transmitted from the candidate second cross-group node to the second target node, the aforementioned intra-group routing algorithm needs to be used for routing planning to reduce the message transmission path and optimize the message transmission efficiency.

[0059] In some embodiments, before performing step S3 and step S4, message replication work can be carried out at the origin to achieve parallel transmission of messages, further improving the message transmission efficiency. The message replication process can be achieved through the following steps.

[0060] If the number of the target node subset , and the number of the cross-group node set are not equal, it indicates that there are target nodes in the four-dimensional hypercube module where the source node is located , that is . In this case, messages can be replicated at the source node first. Subsequently, one message is transmitted from the source node to the target node in based on the intra-group routing algorithm. At the same time, messages at the source node are transmitted to the first cross-group nodes in each cross-group node set based on the intra-group routing algorithm.

[0061] If the number of the target node subset , and the number of the cross-group node set are equal, it indicates that there are no target nodes in the four-dimensional hypercube module where the source node is located , that is . In this case, messages can be replicated at the source node first. Subsequently, messages at the source node can be transmitted to the first cross-group nodes in each cross-group node set based on the intra-group routing algorithm.

[0062] The multicast routing method in the system-on-chip provided by an embodiment of the present application can be presented through a specific application example and can be implemented through steps S21 to S26.

[0063] First, assume that the source node is . Through the global link between the four-dimensional hypercube where the source node is located and the i th group of four-dimensional hypercubes where the target node is located, two types of nodes of the global link can be defined and , which are respectively the first cross-group nodes of the network group where the source node is located, and the second cross-group nodes of the i th network group. Among them, , . The set of cross-group nodes is , where , , . Assume that the set of target nodes is: .

[0064] S21: Divide the set of target nodes (this step corresponds to step S1 above).

[0065] Divide the target nodes belonging to the same four-dimensional hypercube (network group) into the same set, that is, divide the target nodes with the same group number into the same set, and obtain the subset of target nodes . Among them, represents the set of target nodes in the th group, ( is represented in four-bit binary as , for example ) represents the number of this group. Finally, subsets of target nodes are obtained, .

[0066] ; ; ; ; .

[0067] S22: Calculate the cross-group node coordinates of the source node (this step corresponds to step S2 above).

[0068] Calculate the cross-group nodes between the source node and group 0: ; ; ; ; Therefore, the cross-group node set is .

[0069] Calculate the cross-group nodes between the source node and Group 2: ; ; ; ; Therefore, the cross-group node set is .

[0070] Calculate the cross-group nodes between the source node and Group 5: ; ; ; ; Therefore, the cross-group node set is .

[0071] Calculate the cross-group nodes between the source node and Group 8: ; ; ; ; Therefore, the cross-group node set is .

[0072] Finally, obtain ( ) cross-group node sets.

[0073] S23: Sort the target nodes in the target node subset .

[0074] Sort the target nodes in the set : In the target node subset , divide the nodes with the first two digits (i.e., ) equal into one set, and obtain: ; ; ; ​ The number of subsets is .

[0075] (1) XOR with , that is . If , since the set is the subset of target nodes corresponding to the cube module where the source node is located, and for the in the source node , so , XOR with .

[0076] , obtain ; , obtain ; , obtain ; Since there exists and , then change the position number of to . Sort the set in ascending order of position numbers, and obtain .

[0077] (2) Sort the target nodes in .

[0078] Since contains only one target node, there is no need to sort the target nodes within this subset.

[0079] XOR the of the target nodes in with the of the last node in . For the node , the position number of the target node is 1, denoted as . For the node , the position number of the target node is 3, denoted as . Sort the elements in the subset in ascending order of the position numbers of the target nodes, and obtain .

[0080] of the target nodes in With the last node in perform an exclusive OR. For node , , the position number of the target node is 1, denoted as . For node , , the position number of the target node is 0, denoted as . For node , , the position number of the target node is 2, denoted as . Sort the elements in the subset in ascending order of the position numbers of the target nodes to obtain .

[0081] Finally, obtain: .

[0082] Sort the target nodes in the remaining target node subsets according to the above method to obtain: ; ; ; .

[0083] S24: Copy 4 packets at the source node.

[0084] Since , it indicates that there are target nodes in the four-dimensional hypercube module where the source node is located, that is . Transmit one packet from the source node to the target node in through the intra-group routing algorithm (this step should be step S3 above).

[0085] At the same time, through the intra-group routing algorithm, route the 4 packets at the source node to the four first cross-group nodes , , , respectively. The specific calculation process is as follows.

[0086] Calculate ; ; ; .

[0087] Identify non-zero bits. In the order from right to left, at each hop, corresponding to a non-zero bit of invert the bit to obtain the next node for message transmission until the message is transmitted to these four first cross-group nodes. The message is sent from the source node to these four nodes, and the routing paths are respectively: → ; → → ; ; → → .

[0088] Transmit a message from the source node to the destination node in through the intra-group routing algorithm. The calculation process is as follows.

[0089] The current node is the source node , and it needs to be routed to in. Calculate , and transmit the message to the destination node in one hop. Copy and absorb the message at this node. At this time, the current node is , calculate , transmit the message to the node in one hop, and then transmit the message to the destination node in one hop. Copy and absorb the message at this node. After that, the current node is updated to . Repeat this process to obtain the following routing path: → → → → → → → →

[0090] S25: Transmit the message from the node to the node through the global link.

[0091] ; ; ; .

[0092] Therefore, the routing paths are respectively: → ; → ; → ; → 。

[0093] S26: According to the path-based routing method in the four-dimensional hypercube, transfer the message from node to each destination node, and end the routing (this step corresponds to step S4 above).

[0094] Path-based routing method in the four-dimensional hypercube: Current node , desired node .

[0095] Calculate , identify 's non-zero bits. In the order from right to left, at each hop, take the bit corresponding to 's one non-zero bit and invert it to get the next node for message transfer until the message is transferred to node . .

[0096] For the set , the message transfer path of the path-based routing algorithm is: → → → → .

[0097] For the set , the message transfer path of the path-based routing algorithm is: → → → → → → → .

[0098] For the set , the message transfer path of the path-based routing algorithm is: → → → → → → → → 。

[0099] For the set , the message transmission path of the path-based routing algorithm is as follows: → → → → 。

[0100] Finally, five paths for message transmission are obtained: Path 1: → → → → → → 。

[0101] Path 2: → → → → → → → → → → 。

[0102] Path 3: → → → → → → → → 。

[0103] Path 4: → → → → → → → → → 。

[0104] Path 5: → → → → → → → 。

[0105] The technical solution provided by one or more embodiments of the present application proposes a grouped interconnection network based on a four-dimensional hypercube to implement the network topology of the network-on-chip. This grouped interconnection network uses the four-dimensional hypercube as the basic unit to form network groups. Each network group can have the same number of network nodes as the number of vertices of the four-dimensional hypercube. Compared with other network models, the network can be easily expanded by increasing the network dimension. From the perspective of the node accommodation capacity, the number of network nodes increases exponentially with the increase of the network node degree, and this property enables it to accommodate a huge number of computing nodes. Therefore, the hypercube-based topological network has the advantages of small network latency, good network scalability, low structural complexity, small link overhead, strong load capacity, and the ability to accommodate more routing nodes, and has broad application prospects.

[0106] The technical solution provided by one or more embodiments of the present application can divide the target nodes into different target node subsets according to the network groups. When the target message needs to be multicast from the source node to each target node, a unique intra-group routing algorithm can be used to transmit the message within each network group, reducing the message transmission path and optimizing the message transmission efficiency. If the target message needs to be transmitted across groups, the inter-group message delivery can be efficiently completed through the inter-group links between network groups. Moreover, the determination of the cross-group node set is conducive to quickly determining the preferred inter-group link. Therefore, the multicast routing algorithm designed in the present application is adapted to the grouped interconnection network based on the four-dimensional hypercube, reducing the length of the routing path during multicast communication, reducing the network latency, and improving the network performance.

[0107] An embodiment of the present application further provides a computer device, as Figure 5 shown, including a memory 10 and a processor 20. A computer program is stored in the memory 10, and the processor 20 is configured to run the computer program to execute the steps in any of the above-mentioned embodiments of the multicast routing method in the system-on-chip.

[0108] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored. The computer program is configured to execute the steps in any of the above-mentioned embodiments of the multicast routing method in the system-on-chip when running.

[0109] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to: various media that can store computer programs, such as USB flash drives, read-only memory (ROM), random access memory (RAM), mobile hard disks, magnetic disks, or optical discs.

[0110] An embodiment of the present application also provides a computer program product. The computer program product includes a computer program, and when the computer program is executed by a processor, it implements the steps in any of the above-described multicast routing method embodiments in the system-on-chip.

[0111] Another embodiment of the present application also provides a computer program product, including a non-volatile computer-readable storage medium. The non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, it implements the steps in any of the above-described multicast routing method embodiments in the system-on-chip.

[0112] Those skilled in the art can further realize that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be implemented by electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described according to functions in the above description. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Skilled professionals can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of this application.

[0113] The above has introduced in detail a multicast routing method in a system-on-chip provided by this application. Specific examples are used herein to elaborate on the principle and implementation manner of this application. The description of the above embodiments is only used to help understand the method and its core idea of this application. It should be noted that for those of ordinary skill in the art of this technology, without departing from the principle of this application, several improvements and modifications can be made to this application, and these improvements and modifications also fall within the protection scope of the claims of this application.

Claims

1. A multicast routing method in a system on chip, characterized in that: The method is applied to a packet interconnection network; the packet interconnection network includes a plurality of network packets; the network packets have a topological structure of a four-dimensional hypercube with network nodes as vertices; In the packet interconnection network, there is at least one inter-group link between every two network packets; the method comprises: Dividing the target nodes belonging to the same network group in the multicast into the same set to obtain respective target node subsets; Determine each cross-group node set according to the multicast source node and each target node subset, each of the cross-group node sets includes a first cross-group node and a second cross-group node, the first cross-group node and the source node are in the same network group, the second cross-group node and the target node are in the same network group, and the first cross-group node and the second cross-group node have the inter-group link; If there is a first target node that belongs to the same network group as the source node, then based on an intra-group routing algorithm, transmitting the target message from the source node to the first target node; If there is a second target node that belongs to a different network group than the source node, based on the intra-group routing algorithm and the inter-group link, the target message is transmitted from the source node to the second target node through the first cross-group node and the second cross-group node.

2. The multicast routing method according to claim 1, characterized in that: Each of the network groups has a unique group identifier, and each network node in the same network group has a corresponding node identifier; The step of dividing the target nodes belonging to the same network group in the multicast into the same set to obtain each target node subset includes: The target nodes with the same grouping identifier are divided into the same set to obtain target node subsets.

3. The multicast routing method according to claim 2, characterized in that: The transmitting the target message from the source node to the second target node via the first cross-group node and the second cross-group node includes: Determine, according to the group identifier of the second target node, a candidate cross-group node set corresponding to the second target node, and determine a candidate first cross-group node and a candidate second cross-group node of the candidate cross-group node set; Transmitting the target message from the source node to the candidate first cross-group node through the intra-group routing algorithm; Transmitting the target message from the candidate first span-group node to the candidate second span-group node through an inter-group link between the candidate first span-group node and the candidate second span-group node; The target message is transmitted from the candidate second cross-group node to the second target node through the intra-group routing algorithm.

4. The multicast routing method according to claim 3, characterized in that: The intra-group routing algorithm includes: Get the node identifier of the current node and the node identifier of the desired node; Calculating a transit indicator based on a node identifier of the current node and a node identifier of the desired node; According to the transfer indicator, the target message is transmitted from the current node to the desired node.

5. The method according to claim 4, characterized in that The transmitting the target message from the current node to the desired node according to the transfer indicator includes: Determining whether a transfer node exists according to the transfer indicator; If the transfer node exists, the target message is transmitted from the current node to the desired node through the transfer node according to the sequence of the transfer nodes.

6. The method according to claim 5, characterized in that The transit indicator and the node identifier are both four-bit binary numbers; The determining, according to the transfer indicator, whether there is a transfer node includes: detecting a non-zero position of the transfer indicator; Whenever a non-zero bit is detected, the node identifier of the current node and a candidate bit corresponding to the non-zero bit are bit-inverted to generate a transit coordinate; The transfer node is determined according to the transfer coordinates.

7. The method according to any one of claims 1 to 6, characterized in that: The determining of each cross-group node set according to the multicast source node and each target node subset includes: Determining a first cross-group coordinate according to the source node and the target node subset; Determining the first cross-group node according to the first cross-group coordinates; generating second cross-group coordinates based on a logical operation result of the first cross-group coordinates and a preset cross-group operator; Determine the second span group node according to the second span group coordinates; The cross-group node set is determined based on the first cross-group node and the second cross-group node.

8. The method according to claim 7, characterized in that The determining of the first cross-group coordinates according to the source node and the target node subset includes: Calculating a first operator according to the group identifier of the source node and the group identifier of the target node subset; Calculating a second operator according to a node identifier of the source node; The first cross-group coordinates are determined according to a result of an addition calculation of the first operator and the second operator.

9. The method according to claim 1, characterized in that: After obtaining each target node subset, the method further includes: For each of the target node subsets, the target nodes are sorted.

10. The method according to claim 9, characterized in that The step of sorting the target nodes for each target node subset includes: Dividing the target node subset into one or more intra-group subsets according to the target head node identifier of the target node; Sorting the intra-group diversity once based on a first XOR operation result of the target head node identifier and a first reference identifier, where the first reference identifier is a head node identifier of the source node or the second cross-group node; performing secondary sorting on the target nodes in each of the intra-group subsets according to a second XOR operation result of the target tail node identifier and the second reference identifier of the target node; During the sorting process of the secondary sorting, if the current intra-group diversity does not have a preceding intra-group diversity, the second reference identifier is the tail node identifier of the source node or the second cross-group node; if the current intra-group diversity exists the preceding intra-group diversity, the second reference identifier is the tail node identifier of the last node of the preceding intra-group diversity.

11. The method according to claim 10, characterized in that The step of sorting the intra-group diversity based on a first XOR operation result of the target head node identifier and the first reference identifier includes: If the first XOR operation result is a first operation value, the diversity position sequence number of the intra-group diversity is a first sequence number; If the first XOR operation result is a second operation value, the diversity position sequence number of the intra-group diversity is a second sequence number; If the first XOR operation result is a third operation value, the diversity position sequence number of the intra-group diversity is a third sequence number; If the first XOR operation result is a fourth operation value, the diversity position sequence number of the intra-group diversity is the fourth sequence number; If there is a case where the first XOR operation result is the fourth operation value, and there is no case where the first XOR operation result is the second operation value, then the diversity position number of the diversity within the group corresponding to the fourth number is changed to the second number.

12. The method according to claim 10, characterized in that The second ordering of the target nodes in each of the intra-group subsets according to the second XOR operation result of the target tail node identifier and the second reference identifier of the target node comprises: If the second XOR operation result is the fifth operation value, the position number of the target node in the set is the fifth number; If the second XOR operation result is the sixth operation value, the position number of the target node in the set is the sixth number; If the second XOR operation result is the seventh operation value, the position number of the target node in the set is the seventh number; If the second XOR operation result is the eighth operation value, the position number of the target node in the set is the eighth number; If there is a case where the second XOR operation result is the eighth operation value, and there is no case where the second XOR operation result is the sixth operation value, then the position number of the target node corresponding to the eighth number is changed to the sixth number.

13. A computer device, characterized in that: include: A memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the multicast routing method in the system on chip according to any one of claims 1 to 12 by executing the computer instructions.

14. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the multicast routing method in the system-on-chip according to any one of claims 1 to 12.

15. A computer program product, characterized in that The method comprises computer instructions, wherein the computer instructions are used to cause a computer to execute the multicast routing method in the system on chip according to any one of claims 1 to 12.

Citation Information

Patent Citations

  • An optimization method for multicast route ant group algorithm

    CN101170503A

  • Network-on-chip communication method and device, computer equipment and storage medium

    CN118714019A

  • Target node set division method, electronic equipment and computer program product

    CN118869575A

  • Construction method of network topology structure, data transmission method, electronic equipment and computer program product

    CN119583431A

  • Method for Multicast Flow Routing Selection

    US20130114595A1

Cited By

  • Partition network architecture, routing method, device, medium and program product

    CN120768829A

  • Route management method and device and router

    CN121547390A