Hop count sensing type multicast routing implementation method and system based on network-on-chip
By splitting data into header fragments and data fragments in the on-chip network, and utilizing a multicast routing transmission framework and routing calculation module to determine the target routing direction, the problem of low efficiency in traditional multicast transmission is solved, and efficient data transmission is achieved.
Patent Information
- Application Number
- CN202511418392.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-30
- Publication Date
- 2026-01-13
AI Technical Summary
Existing multicast transmission methods in on-chip networks suffer from complex parameter structures and low data transmission efficiency due to the need to store the node addresses of all multicast group members.
The data to be transmitted is split into header fragments, data fragments, and tail fragments. The header fragment contains the source node coordinates, multicast flag, and multicast hop count. The input module of the multicast routing transmission framework receives the data, and the routing calculation module calculates the coordinate difference between the current node and the source node in real time to determine the target routing direction. Finally, the data is forwarded to the target node.
By simplifying the multicast routing structure, redundant overhead and latency in data transmission are reduced, significantly improving the data transmission efficiency of the on-chip network.
Smart Images

Figure CN121334019A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of computer technology, and in particular to a hop count-aware multicast routing implementation method and system based on on-chip networking. Background Technology
[0002] With the development of integrated circuit technology, the number of processor cores, memory units and various functional modules integrated using on-chip network interconnection has increased dramatically. The amount of data transmitted through on-chip networks has surged, giving rise to multicast transmission mode, which effectively alleviates the data transmission pressure of on-chip networks by transmitting the same data packet to multiple target modules.
[0003] Currently, the commonly used multicast transmission method is to store the node addresses of all multicast group members in the packet header fragment of the data sent by the source node.
[0004] However, the existing multicast transmission method, which stores the node addresses of all multicast group members in the source node, has a complex parameter structure, which leads to low data transmission efficiency. Summary of the Invention
[0005] This invention provides a hop count-aware multicast routing implementation method and system based on on-chip networking, which can improve data transmission efficiency.
[0006] In a first aspect, embodiments of the present invention provide a hop-count-aware multicast routing implementation method based on on-chip networks, the method comprising:
[0007] The data to be transmitted is divided into a header fragment, a data fragment, and a tail fragment, wherein the header fragment includes: source node coordinates, multicast flag, and multicast hop count;
[0008] The data to be transmitted is received using the input module included in a pre-deployed multicast routing transmission framework;
[0009] The routing calculation module based on the multicast routing transmission framework calculates the coordinate difference between the current node and the source node in real time and uses a preset algorithm to determine the target routing direction.
[0010] Based on the target routing direction, the data to be transmitted is forwarded to the target node, wherein the target node includes: the next intermediate node and the destination node.
[0011] Preferably,
[0012] The routing calculation module based on the multicast routing transmission framework calculates the coordinate difference between the current node and the source node in real time and determines the target routing direction using a preset algorithm, including:
[0013] Based on the multicast routing transmission framework, the routing calculation module determines whether the input port is a local input port;
[0014] When the input port is determined to be the local input port, the first multicast flag, the first multicast hop count, and the first source node coordinates are extracted from the packet header micro-chip, and the first current node coordinates are obtained synchronously.
[0015] Determine whether the first multicast flag is a first preset value;
[0016] When the first multicast flag is determined to be the first preset value, it is determined whether the first multicast hop count is greater than the second preset value;
[0017] When it is determined that the first multicast hop count is greater than the second preset value, the edge node type of the first current node is determined based on the coordinates of the first current node;
[0018] Calculate the first coordinate difference between the first current node and the first source node in real time;
[0019] The first routing direction is determined based on the coordinates of the first source node, the edge node type of the first current node, and the first coordinate difference.
[0020] Preferably,
[0021] After determining the first routing direction based on the first source node coordinates, the edge node type of the first current node, and the first coordinate difference, the method further includes:
[0022] When it is determined that the input port is not the local input port, the second multicast flag, the second multicast hop count, the second source node coordinates and the column identifier signal are extracted from the packet header micro-chip, and the second current node coordinates are obtained synchronously.
[0023] Determine whether the second multicast flag is the first preset value;
[0024] When the second multicast flag is determined to be the first preset value, it is determined whether the value of the column identifier signal is the third preset value;
[0025] When the value of the column identifier signal is determined to be the third preset value, the column type of the second source node is determined according to the coordinates of the second source node;
[0026] The target transmission range is determined based on the coordinates of the second current node, the coordinates of the second source node, and the edge attributes of the second current node;
[0027] Calculate the second coordinate difference between the second current node and the second source node, and determine whether the second coordinate difference is less than the second multicast hop count;
[0028] When it is determined that the second coordinate difference is less than the second multicast hop count, a second routing direction is determined based on the target transmission range and the local transmission direction.
[0029] Preferably,
[0030] The step of forwarding the data to be transmitted to the target node based on the target routing direction includes:
[0031] Based on the first target routing direction and the second target routing direction, the data to be transmitted is forwarded to the target node, wherein the target node includes: the next intermediate node and the destination node.
[0032] Secondly, embodiments of the present invention provide a hop count-aware multicast routing implementation system based on on-chip networking, the system comprising:
[0033] Splitting module: used to split the data to be transmitted into header micro-fragments, data micro-fragments and tail micro-fragments, wherein the header micro-fragment includes: source node coordinates, multicast flag and multicast hop count;
[0034] Input module: used to receive the data to be transmitted after being split by the splitting module;
[0035] Route calculation module: used to calculate the coordinate difference between the current node and the source node in real time and determine the target route direction using a preset algorithm;
[0036] Processing module: used to forward the data to be transmitted to the target node based on the target routing direction determined by the routing calculation module, wherein the target node includes: the next intermediate node and the destination node.
[0037] Preferably,
[0038] The routing calculation module is used to perform:
[0039] Based on the multicast routing transmission framework, the routing calculation module determines whether the input port is a local input port;
[0040] When the input port is determined to be the local input port, the first multicast flag, the first multicast hop count, and the first source node coordinates are extracted from the packet header micro-chip, and the first current node coordinates are obtained synchronously.
[0041] Determine whether the first multicast flag is a first preset value;
[0042] When the first multicast flag is determined to be the first preset value, it is determined whether the first multicast hop count is greater than the second preset value;
[0043] When it is determined that the first multicast hop count is greater than the second preset value, the edge node type of the first current node is determined based on the coordinates of the first current node;
[0044] Calculate the first coordinate difference between the first current node and the first source node in real time;
[0045] The first routing direction is determined based on the coordinates of the first source node, the edge node type of the first current node, and the first coordinate difference.
[0046] Preferably,
[0047] The routing calculation module is further configured to, after determining the first routing direction based on the first source node coordinates, the edge node type of the first current node, and the first coordinate difference, execute:
[0048] When it is determined that the input port is not the local input port, the second multicast flag, the second multicast hop count, the second source node coordinates and the column identifier signal are extracted from the packet header micro-chip, and the second current node coordinates are obtained synchronously.
[0049] Determine whether the second multicast flag is the first preset value;
[0050] When the second multicast flag is determined to be the first preset value, it is determined whether the value of the column identifier signal is the third preset value;
[0051] When the value of the column identifier signal is determined to be the third preset value, the column type of the second source node is determined according to the coordinates of the second source node;
[0052] The target transmission range is determined based on the coordinates of the second current node, the coordinates of the second source node, and the edge attributes of the second current node;
[0053] Calculate the second coordinate difference between the second current node and the second source node, and determine whether the second coordinate difference is less than the second multicast hop count;
[0054] When it is determined that the second coordinate difference is less than the second multicast hop count, a second routing direction is determined based on the target transmission range and the local transmission direction.
[0055] Preferably,
[0056] The processing module is also used to perform:
[0057] Based on the first target routing direction and the second target routing direction, the data to be transmitted is forwarded to the target node, wherein the target node includes: the next intermediate node and the destination node.
[0058] Preferably,
[0059] The input modules include: a local input module, an east input module, a west input module, a south input module, and a north input module.
[0060] Preferably,
[0061] Further includes: crossbar switch, east output port, west output port, south output port, north output port, local output port, and neighboring routers;
[0062] The cross switch is used to receive the target routing direction determined by the routing calculation module, and to allocate the data to be transmitted to the corresponding output port according to the target routing direction.
[0063] The east output port, the west output port, the south output port, and the north output port are used to transmit the data to be transmitted to the target node.
[0064] The local output port is used to directly transmit the data to be transmitted to the target node corresponding to the current node.
[0065] The first end of the cross switch is connected to the output end of the routing calculation module, and the second end of the cross switch is connected to the output port; the east output port, the west output port, the south output port, and the north output port are respectively connected to the input modules of the adjacent routers in the corresponding directions, and the local output port is connected to the destination module of the current node.
[0066] This invention provides a hop-count-aware multicast routing implementation method and system based on on-chip networks. The method first splits the data to be transmitted into header fragments, data fragments, and tail fragments. The header fragment only contains key information such as source node coordinates, multicast flags, and multicast hop count, abandoning the complex structure of traditional multicast modes that includes the addresses of all multicast group member nodes. Multicast routing can be achieved by transmitting only a few key parameters such as source node coordinates and hop count. Next, the input module of the multicast routing transmission framework receives the data, adapting to data access requirements in different directions and avoiding transmission bottlenecks caused by single-port access. Subsequently, a routing calculation module implemented using a hop-count-aware multicast routing algorithm calculates the mixed routing direction by combining the real-time calculated difference between the coordinates of the current node and the source node. Finally, based on the target routing direction, the data is forwarded to the next intermediate node or destination node, reducing data transmission redundancy overhead and latency, thereby significantly improving the data transmission efficiency of the on-chip network. Attached Figure Description
[0067] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0068] Figure 1 This is a flowchart of a hop count-aware multicast routing implementation method based on on-chip network provided in an embodiment of the present invention;
[0069] Figure 2 This is a flowchart of another hop count-aware multicast routing implementation method based on on-chip network provided in an embodiment of the present invention;
[0070] Figure 3 This is a schematic diagram of a hop count-aware multicast routing implementation system based on on-chip network provided in an embodiment of the present invention;
[0071] Figure 4 This is a schematic diagram of a multicast routing transmission architecture provided in an embodiment of the present invention;
[0072] Figure 5 This is a schematic diagram of a hop-count multicast message composition provided in an embodiment of the present invention;
[0073] Figure 6 This is a schematic diagram of a Local routing algorithm implementation provided in an embodiment of the present invention;
[0074] Figure 7 This is a schematic diagram of an NSWE routing algorithm implementation provided in an embodiment of the present invention. Detailed Implementation
[0075] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are some embodiments of the present invention, but not all embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative effort are within the scope of protection of the present invention.
[0076] like Figure 1 As shown, this embodiment of the invention provides a hop count-aware multicast routing implementation method based on on-chip networking, which may include the following steps:
[0077] Step 101: Divide the data to be transmitted into header fragments, data fragments, and tail fragments. The header fragment includes: source node coordinates, multicast flag, and multicast hop count.
[0078] Step 102: Receive the data to be transmitted using the input module contained in the pre-deployed multicast routing transmission framework;
[0079] Step 103: The routing calculation module based on the multicast routing transmission framework calculates the coordinate difference between the current node and the source node in real time and uses a preset algorithm to determine the target routing direction;
[0080] Step 104: Based on the target routing direction, forward the data to be transmitted to the target node, where the target node includes: the next intermediate node and the destination node.
[0081] This invention provides a hop-count-aware multicast routing implementation method based on on-chip networks. The method first splits the data to be transmitted into header fragments, data fragments, and tail fragments. The header fragment contains only key information such as source node coordinates, multicast flags, and multicast hop count, eliminating the complex structure of traditional multicast modes that include the addresses of all multicast group member nodes. Multicast routing can be achieved by transmitting only a few key parameters such as source node coordinates and hop count. Next, the input module of the multicast routing transmission framework receives the data, adapting to data access requirements in different directions and avoiding transmission bottlenecks caused by single-port access. Subsequently, a routing calculation module implemented using a hop-count-aware multicast routing algorithm calculates the mixed routing direction by combining the real-time calculated difference between the coordinates of the current node and the source node. Finally, the data is forwarded to the next intermediate node or destination node according to the target routing direction, reducing data transmission redundancy overhead and latency, thereby significantly improving the data transmission efficiency of the on-chip network.
[0082] To achieve accurate and efficient multicast routing planning, in one embodiment of the present invention, step 103 in the above embodiment includes:
[0083] Based on the multicast routing transmission framework, the routing calculation module determines whether the input port is a local input port;
[0084] When the input port is determined to be the local input port, the first multicast flag, the first multicast hop count, and the first source node coordinates are extracted from the packet header micro-chip, and the first current node coordinates are obtained synchronously.
[0085] Determine whether the first multicast flag is a first preset value;
[0086] When the first multicast flag is determined to be the first preset value, it is determined whether the first multicast hop count is greater than the second preset value;
[0087] When it is determined that the first multicast hop count is greater than the second preset value, the edge node type of the first current node is determined based on the coordinates of the first current node;
[0088] Calculate the first coordinate difference between the first current node and the first source node in real time;
[0089] The first routing direction is determined based on the coordinates of the first source node, the edge node type of the first current node, and the first coordinate difference.
[0090] In this embodiment of the invention, in order to achieve accurate and efficient multicast routing planning, it is first determined whether the input port of the currently accessed data is a local input port. Only when it is determined to be a local input port, the Local routing algorithm is used to extract the first multicast flag, the first multicast hop count, and the coordinates of the first source node from the packet header micro-piece of the data to be transmitted, and simultaneously obtain the coordinates of the current node. Then, it is confirmed whether the first multicast flag is a first preset value (e.g., 1), that is, whether multicast transmission is started, and then it is confirmed whether the first multicast hop count is greater than a second preset value (e.g., 0). Subsequently, the edge node type in the 2DMesh structure is determined according to the coordinates of the first current node, and the first coordinate difference between the first current node and the first source node is calculated in real time. Finally, the data initiation position is determined by combining the coordinates of the first source node, the edge node type of the first current node is used to limit the transmission direction boundary, and the first coordinate difference is used to ensure that the transmission does not exceed the hop count range. The three factors work together to determine the first routing direction suitable for data transmission of the local input port.
[0091] To precisely control the multicast transmission direction of non-local port data, in one embodiment of the present invention, after determining the first routing direction based on the first source node coordinates, the edge node type of the first current node, and the first coordinate difference, the embodiment further includes:
[0092] When it is determined that the input port is not the local input port, the second multicast flag, the second multicast hop count, the second source node coordinates and the column identifier signal are extracted from the packet header micro-chip, and the second current node coordinates are obtained synchronously.
[0093] Determine whether the second multicast flag is the first preset value;
[0094] When the second multicast flag is determined to be the first preset value, it is determined whether the value of the column identifier signal is the third preset value;
[0095] When the value of the column identifier signal is determined to be the third preset value, the column type of the second source node is determined according to the coordinates of the second source node;
[0096] The target transmission range is determined based on the coordinates of the second current node, the coordinates of the second source node, and the edge attributes of the second current node;
[0097] Calculate the second coordinate difference between the second current node and the second source node, and determine whether the second coordinate difference is less than the second multicast hop count;
[0098] When it is determined that the second coordinate difference is less than the second multicast hop count, a second routing direction is determined based on the target transmission range and the local transmission direction.
[0099] In this embodiment of the invention, to accurately control the multicast transmission direction of non-local port data, when the routing calculation module determines that the input port is a non-local input port, the NSWE routing algorithm is used. First, the second multicast flag, the second multicast hop count, the second source node coordinates, and the column identifier signal indicating whether the current node and the source node are in the same column are extracted from the packet header micro-chip. Simultaneously, the second current node coordinates are obtained to provide basic parameters for subsequent judgment. Then, the second multicast flag is checked to see if it is a first preset value (e.g., 1). Only when this is satisfied is the column identifier signal checked to see if it is a third preset value (e.g., 1). The system only processes transmission scenarios that meet the requirements of multicast and are in the same column. After confirming that the column identifier signal meets the requirements, the column type is determined based on the coordinates of the second source node. Then, the system combines the size relationship between the coordinates of the second current node and the coordinates of the second source node, as well as the edge attributes of the second current node, to comprehensively limit the directional boundaries of data transmission and obtain the target transmission range. Subsequently, the system calculates the second coordinate difference between the second current node and the second source node and determines whether the difference is less than the second multicast hop count. Finally, when the difference meets the requirements, the system combines the target transmission range with the local transmission direction to form a second routing direction that includes horizontal, vertical, and local transmission.
[0100] To ensure efficient and accurate data delivery, in one embodiment of the present invention, step 104 in the above embodiment may specifically include the following steps:
[0101] The step of forwarding the data to be transmitted to the target node based on the target routing direction includes:
[0102] Based on the first target routing direction and the second target routing direction, the data to be transmitted is forwarded to the target node, wherein the target node includes: the next intermediate node and the destination node.
[0103] In this embodiment of the invention, to ensure efficient and accurate data delivery, the first target routing direction is a hybrid routing direction obtained by the routing calculation module for the local input port using the Local routing algorithm, and the second target routing direction is a hybrid routing direction obtained by the NSWE routing algorithm for non-local input ports (east, south, west, and north). During forwarding, the multicast routing transmission framework first transmits these two types of target routing directions to the cross switch. The cross switch, according to the routing direction indication, allocates the data to be transmitted to the output port corresponding to the routing direction. If the routing direction includes the local port, the data is directly forwarded to the destination node corresponding to the current node through the local output port. If the routing direction includes any of the east, south, west, and north directions, the data is forwarded to the next intermediate node through the output port of the corresponding direction. At the same time, a handshake signal is used to establish a data transmission confirmation mechanism during forwarding to ensure stable data transmission between the cross switch, output ports, and target nodes.
[0104] like Figure 2 As shown, to more clearly illustrate the technical solution and advantages of the present invention, the following provides a detailed description of the hop count-aware multicast routing implementation method based on on-chip network provided by the embodiments of the present invention, which may specifically include the following steps:
[0105] Step 201: Divide the data to be transmitted into header fragments, data fragments, and tail fragments. The header fragment includes: source node coordinates, multicast flag, and multicast hop count.
[0106] Step 202: Receive the data to be transmitted using the input module included in the pre-deployed multicast routing transmission framework;
[0107] Step 203: The routing calculation module based on the multicast routing transmission framework determines whether the input port is a local input port. If it is, proceed to step 204; otherwise, proceed to step 210.
[0108] Step 204: Extract the first multicast flag, the first multicast hop count, and the coordinates of the first source node from the Baotou micro-chip, and simultaneously obtain the coordinates of the first current node;
[0109] Step 205: Determine whether the first multicast flag is the first preset value;
[0110] Step 206: When the first multicast flag is determined to be the first preset value, determine whether the first multicast hop count is greater than the second preset value;
[0111] Step 207: When it is determined that the first multicast hop count is greater than the second preset value, determine the edge node type of the first current node based on the coordinates of the first current node;
[0112] Step 208: Calculate the first coordinate difference between the first current node and the first source node in real time;
[0113] Step 209: Determine the first route direction based on the coordinates of the first source node, the edge node type of the first current node, and the first coordinate difference, and then proceed to step 217;
[0114] Step 210: Extract the second multicast flag, second multicast hop count, second source node coordinates, and column identifier signal from the Baotou micro-chip, and simultaneously obtain the second current node coordinates;
[0115] Step 211: Determine whether the second multicast flag is the first preset value;
[0116] Step 212: When the second multicast flag is determined to be the first preset value, determine whether the value of the column identifier signal is the third preset value;
[0117] Step 213: When the value of the decoupling identifier signal is determined to be the third preset value, the column type of the second source node is determined according to the coordinates of the second source node;
[0118] Step 214: Determine the target transmission range based on the coordinates of the second current node, the coordinates of the second source node, and the edge attributes of the second current node;
[0119] Step 215: Calculate the second coordinate difference between the second current node and the second source node, and determine whether the second coordinate difference is less than the second multicast hop count;
[0120] Step 216: When it is determined that the second coordinate difference is less than the second multicast hop count, determine the second routing direction based on the target transmission range and the local transmission direction;
[0121] Step 217: Based on the first target routing direction and the second target routing direction, forward the data to be transmitted to the target node, wherein the target node includes: the next intermediate node and the destination node.
[0122] like Figure 3 As shown, this embodiment of the invention provides a hop count-aware multicast routing implementation system based on on-chip networking, the system comprising:
[0123] Splitting module 301: used to split the data to be transmitted into a header micro-fragment, a data micro-fragment, and a tail micro-fragment, wherein the header micro-fragment includes: source node coordinates, multicast flag, and multicast hop count;
[0124] Input module 302: Used to receive the data to be transmitted after being split by the splitting module 301;
[0125] Routing calculation module 303: Based on the data to be transmitted input by the input module 302, it calculates the coordinate difference between the current node and the source node in real time and determines the target routing direction using a preset algorithm;
[0126] Processing module 304: used to forward the data to be transmitted to the target node based on the target routing direction determined by the routing calculation module 303, wherein the target node includes: the next intermediate node and the destination node.
[0127] like Figure 3 As shown, the routing calculation module 303 is used to perform:
[0128] Based on the multicast routing transmission framework, the routing calculation module determines whether the input port is a local input port;
[0129] When the input port is determined to be the local input port, the first multicast flag, the first multicast hop count, and the first source node coordinates are extracted from the packet header micro-chip, and the first current node coordinates are obtained synchronously.
[0130] Determine whether the first multicast flag is a first preset value;
[0131] When the first multicast flag is determined to be the first preset value, it is determined whether the first multicast hop count is greater than the second preset value;
[0132] When it is determined that the first multicast hop count is greater than the second preset value, the edge node type of the first current node is determined based on the coordinates of the first current node;
[0133] Calculate the first coordinate difference between the first current node and the first source node in real time;
[0134] The first routing direction is determined based on the coordinates of the first source node, the edge node type of the first current node, and the first coordinate difference.
[0135] like Figure 3 As shown, the routing calculation module 303 is further configured to, after determining the first routing direction based on the first source node coordinates, the edge node type of the first current node, and the first coordinate difference, execute:
[0136] When it is determined that the input port is not the local input port, the second multicast flag, the second multicast hop count, the second source node coordinates and the column identifier signal are extracted from the packet header micro-chip, and the second current node coordinates are obtained synchronously.
[0137] Determine whether the second multicast flag is the first preset value;
[0138] When the second multicast flag is determined to be the first preset value, it is determined whether the value of the column identifier signal is the third preset value;
[0139] When the value of the column identifier signal is determined to be the third preset value, the column type of the second source node is determined according to the coordinates of the second source node;
[0140] The target transmission range is determined based on the coordinates of the second current node, the coordinates of the second source node, and the edge attributes of the second current node;
[0141] Calculate the second coordinate difference between the second current node and the second source node, and determine whether the second coordinate difference is less than the second multicast hop count;
[0142] When it is determined that the second coordinate difference is less than the second multicast hop count, a second routing direction is determined based on the target transmission range and the local transmission direction.
[0143] like Figure 3 As shown, the processing module 304 is further configured to perform:
[0144] Based on the first target routing direction and the second target routing direction, the data to be transmitted is forwarded to the target node.
[0145] like Figure 4 As shown, the input module 302 includes: a local input module, an east input module, a west input module, a south input module, and a north input module.
[0146] like Figure 4 As shown, it further includes: a crossbar switch, an east output port, a west output port, a south output port, a north output port, a local output port, and a neighboring router;
[0147] The cross switch is used to receive the target routing direction determined by the routing calculation module, and to allocate the data to be transmitted to the corresponding output port according to the target routing direction.
[0148] The east output port, the west output port, the south output port, and the north output port are used to transmit the data to be transmitted to the target node.
[0149] The local output port is used to directly transmit the data to be transmitted to the target node corresponding to the current node.
[0150] The first end of the cross switch is connected to the output end of the routing calculation module, and the second end of the cross switch is connected to the output port; the east output port, the west output port, the south output port, and the north output port are respectively connected to the input modules of the adjacent routers in the corresponding directions, and the local output port is connected to the destination module of the current node.
[0151] It is understood that the structures illustrated in the embodiments of the present invention do not constitute a specific limitation on the hop count-aware multicast routing implementation system based on on-chip networking. In other embodiments of the present invention, the hop count-aware multicast routing implementation system based on on-chip networking may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0152] The information interaction and execution process between the various units in the above-mentioned device are based on the same concept as the method embodiment of the present invention, and the specific details can be found in the description of the method embodiment of the present invention, and will not be repeated here.
[0153] This invention also provides a hop count-aware multicast routing implementation system based on on-chip networking, comprising: at least one memory and at least one processor;
[0154] At least one memory for storing machine-readable programs;
[0155] At least one processor is configured to invoke a machine-readable program to execute the hop count-aware multicast routing implementation method based on on-chip network in any embodiment of the present invention.
[0156] This invention also provides a computer-readable medium storing computer instructions, which, when executed by a processor, cause the processor to perform the hop count-aware multicast routing implementation method based on on-chip network in any embodiment of this invention.
[0157] Specifically, a system or apparatus equipped with a storage medium may be provided, on which software program code implementing the functions of any of the embodiments described above is stored, and the computer (or CPU or MPU) of the system or apparatus may read and execute the program code stored in the storage medium.
[0158] In this case, the program code read from the storage medium can itself implement the function of any of the above embodiments, and therefore the program code and the storage medium storing the program code constitute part of the present invention.
[0159] Examples of storage media used to provide program code include floppy disks, hard disks, magneto-optical disks, optical disks (such as CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-RAM, DVD-RW, DVD+RW), magnetic tapes, non-volatile memory cards, and ROMs. Alternatively, program code can be downloaded from a server computer via a communication network.
[0160] Furthermore, it should be clear that not only can the program code read by the computer be executed, but also the operating system or other components operating on the computer can be instructed based on the program code to perform some or all of the actual operations, thereby realizing the function of any of the embodiments described above.
[0161] Furthermore, it is understood that the program code read from the storage medium is written to the memory set in the expansion board inserted into the computer or to the memory set in the expansion unit connected to the computer. Then, based on the instructions of the program code, the CPU or other components installed on the expansion board or expansion unit execute some and all of the actual operations, thereby realizing the function of any of the embodiments described above.
[0162] The various embodiments of the present invention have at least the following beneficial effects:
[0163] 1. In this embodiment of the invention, a hop-aware multicast routing implementation method based on on-chip network is provided. This method first splits the data to be transmitted into header fragments, data fragments, and tail fragments. The header fragment only contains key information such as source node coordinates, multicast flag, and multicast hop count, abandoning the complex structure of traditional multicast modes that includes the addresses of all multicast group member nodes. Multicast routing can be achieved by transmitting only a few key parameters such as source node coordinates and hop count. Next, the input module of the multicast routing transmission framework receives the data, adapting to data access requirements in different directions and avoiding transmission bottlenecks caused by single-port access. Subsequently, a routing calculation module implemented using a hop-aware multicast routing algorithm calculates the mixed routing direction by combining the real-time calculated difference between the coordinates of the current node and the source node. Finally, the data is forwarded to the next intermediate node or destination node according to the target routing direction, reducing data transmission redundancy overhead and latency, thereby significantly improving the data transmission efficiency of the on-chip network.
[0164] 2. In this embodiment of the invention, in order to achieve accurate and efficient multicast routing planning, it is first determined whether the input port of the currently accessed data is a local input port. Only when it is determined to be a local input port is the first multicast flag, the first multicast hop count, and the coordinates of the first source node extracted from the packet header micro-piece of the data to be transmitted, and the coordinates of the current node are obtained simultaneously. Then, it is confirmed whether the first multicast flag is a first preset value (e.g., 1), i.e., whether multicast transmission is started, and then it is confirmed whether the first multicast hop count is greater than a second preset value (e.g., 0). Subsequently, the edge node type in the 2DMesh structure is determined according to the coordinates of the first current node, and the first coordinate difference between the first current node and the first source node is calculated in real time. Finally, the data initiation position is determined by combining the coordinates of the first source node, the edge node type of the first current node is used to limit the transmission direction boundary, and the first coordinate difference is used to ensure that the transmission does not exceed the hop count range. The three factors work together to determine the first routing direction suitable for data transmission of the local input port.
[0165] 3. In this embodiment of the invention, in order to accurately control the multicast transmission direction of non-local port data, when the routing calculation module determines that the input port is a non-local input port, it first extracts the second multicast flag, the second multicast hop count, the second source node coordinates, and the column identifier signal used to indicate whether the current node and the source node are in the same column from the packet header micro-chip, and simultaneously obtains the second current node coordinates to provide basic parameters for subsequent judgment; then, it first checks whether the second multicast flag is a first preset value (e.g., 1), and only when it is satisfied does it continue to judge whether the column identifier signal is a third preset value (e.g., 1), filtering to ensure that only the corresponding... For multicast and co-column transmission scenarios, subsequent processing is performed. After confirming that the column identifier signal meets the requirements, the column type is determined based on the coordinates of the second source node. Then, the size relationship between the coordinates of the second current node and the coordinates of the second source node, as well as the edge attributes of the second current node, are combined to comprehensively limit the directional boundaries of data transmission and obtain the target transmission range. Subsequently, the second coordinate difference between the second current node and the second source node is calculated, and it is determined whether the difference is less than the second multicast hop count. Finally, when the difference meets the requirements, the target transmission range is combined with the local transmission direction to form a second routing direction that includes horizontal, vertical, and local transmission.
[0166] It should be noted that not all steps and modules in the above processes and system structure diagrams are mandatory; some steps or modules can be omitted as needed. The execution order of each step is not fixed and can be adjusted as required. The system structure described in the above embodiments can be a physical structure or a logical structure. That is, some modules may be implemented by the same physical entity, or some modules may be implemented by multiple physical entities, or they may be jointly implemented by certain components in multiple independent devices.
[0167] In the above embodiments, the hardware units can be implemented mechanically or electrically. For example, a hardware unit may include permanent dedicated circuitry or logic (such as a dedicated processor, FPGA, or ASIC) to perform the corresponding operation. The hardware unit may also include programmable logic or circuitry (such as a general-purpose processor or other programmable processor), which can be temporarily configured by software to perform the corresponding operation. The specific implementation method (mechanical, dedicated permanent circuitry, or temporarily configured circuitry) can be determined based on cost and time considerations.
[0168] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.
Claims
1. A hop-aware multicast routing implementation method based on on-chip networking, characterized in that, The method includes: The data to be transmitted is divided into a header fragment, a data fragment, and a tail fragment, wherein the header fragment includes: source node coordinates, multicast flag, and multicast hop count; The data to be transmitted is received using the input module included in a pre-deployed multicast routing transmission framework; The routing calculation module based on the multicast routing transmission framework calculates the coordinate difference between the current node and the source node in real time and uses a preset algorithm to determine the target routing direction. Based on the target routing direction, the data to be transmitted is forwarded to the target node, wherein the target node includes: the next intermediate node and the destination node.
2. The method according to claim 1, characterized in that, The routing calculation module based on the multicast routing transmission framework calculates the coordinate difference between the current node and the source node in real time and determines the target routing direction using a preset algorithm, including: Based on the multicast routing transmission framework, the routing calculation module determines whether the input port is a local input port; When the input port is determined to be the local input port, the first multicast flag, the first multicast hop count, and the first source node coordinates are extracted from the packet header micro-chip, and the first current node coordinates are obtained synchronously. Determine whether the first multicast flag is a first preset value; When the first multicast flag is determined to be the first preset value, it is determined whether the first multicast hop count is greater than the second preset value; When it is determined that the first multicast hop count is greater than the second preset value, the edge node type of the first current node is determined based on the coordinates of the first current node; Calculate the first coordinate difference between the first current node and the first source node in real time; The first routing direction is determined based on the coordinates of the first source node, the edge node type of the first current node, and the first coordinate difference.
3. The method according to claim 2, characterized in that, After determining the first routing direction based on the first source node coordinates, the edge node type of the first current node, and the first coordinate difference, the method further includes: When it is determined that the input port is not the local input port, the second multicast flag, the second multicast hop count, the second source node coordinates and the column identifier signal are extracted from the packet header micro-chip, and the second current node coordinates are obtained synchronously. Determine whether the second multicast flag is the first preset value; When the second multicast flag is determined to be the first preset value, it is determined whether the value of the column identifier signal is the third preset value; When the value of the column identifier signal is determined to be the third preset value, the column type of the second source node is determined according to the coordinates of the second source node; The target transmission range is determined based on the coordinates of the second current node, the coordinates of the second source node, and the edge attributes of the second current node; Calculate the second coordinate difference between the second current node and the second source node, and determine whether the second coordinate difference is less than the second multicast hop count; When it is determined that the second coordinate difference is less than the second multicast hop count, a second routing direction is determined based on the target transmission range and the local transmission direction.
4. The method according to claim 3, characterized in that, The step of forwarding the data to be transmitted to the target node based on the target routing direction includes: Based on the first target routing direction and the second target routing direction, the data to be transmitted is forwarded to the target node, wherein the target node includes: the next intermediate node and the destination node.
5. A hop-aware multicast routing implementation system based on on-chip networking, characterized in that, The system includes: Splitting module: used to split the data to be transmitted into header micro-fragments, data micro-fragments and tail micro-fragments, wherein the header micro-fragment includes: source node coordinates, multicast flag and multicast hop count; Input module: used to receive the data to be transmitted after being split by the splitting module; Route calculation module: used to calculate the coordinate difference between the current node and the source node in real time and determine the target route direction using a preset algorithm; Processing module: used to forward the data to be transmitted to the target node based on the target routing direction determined by the routing calculation module, wherein the target node includes: the next intermediate node and the destination node.
6. The system according to claim 5, characterized in that, The routing calculation module is used to perform: Based on the multicast routing transmission framework, the routing calculation module determines whether the input port is a local input port; When the input port is determined to be the local input port, the first multicast flag, the first multicast hop count, and the first source node coordinates are extracted from the packet header micro-chip, and the first current node coordinates are obtained synchronously. Determine whether the first multicast flag is a first preset value; When the first multicast flag is determined to be the first preset value, it is determined whether the first multicast hop count is greater than the second preset value; When it is determined that the first multicast hop count is greater than the second preset value, the edge node type of the first current node is determined based on the coordinates of the first current node; Calculate the first coordinate difference between the first current node and the first source node in real time; The first routing direction is determined based on the coordinates of the first source node, the edge node type of the first current node, and the first coordinate difference.
7. The system according to claim 6, characterized in that, The routing calculation module is further configured to, after determining the first routing direction based on the first source node coordinates, the edge node type of the first current node, and the first coordinate difference, execute: When it is determined that the input port is not the local input port, the second multicast flag, the second multicast hop count, the second source node coordinates and the column identifier signal are extracted from the packet header micro-chip, and the second current node coordinates are obtained synchronously. Determine whether the second multicast flag is the first preset value; When the second multicast flag is determined to be the first preset value, it is determined whether the value of the column identifier signal is the third preset value; When the value of the column identifier signal is determined to be the third preset value, the column type of the second source node is determined according to the coordinates of the second source node; The target transmission range is determined based on the coordinates of the second current node, the coordinates of the second source node, and the edge attributes of the second current node; Calculate the second coordinate difference between the second current node and the second source node, and determine whether the second coordinate difference is less than the second multicast hop count; When it is determined that the second coordinate difference is less than the second multicast hop count, a second routing direction is determined based on the target transmission range and the local transmission direction.
8. The system according to claim 7, characterized in that, The processing module is also used to perform: Based on the first target routing direction and the second target routing direction, the data to be transmitted is forwarded to the target node, wherein the target node includes: the next intermediate node and the destination node.
9. The system according to claim 6, characterized in that, The input modules include: a local input module, an east input module, a west input module, a south input module, and a north input module.
10. The system according to claim 6, characterized in that, Further includes: crossbar switch, east output port, west output port, south output port, north output port, local output port, and neighboring routers; The cross switch is used to receive the target routing direction determined by the routing calculation module, and to allocate the data to be transmitted to the corresponding output port according to the target routing direction. The east output port, the west output port, the south output port, and the north output port are used to transmit the data to be transmitted to the target node. The local output port is used to directly transmit the data to be transmitted to the target node corresponding to the current node. The first end of the cross switch is connected to the output end of the routing calculation module, and the second end of the cross switch is connected to the output port; the east output port, the west output port, the south output port, and the north output port are respectively connected to the input modules of the adjacent routers in the corresponding directions, and the local output port is connected to the destination module of the current node.