NoC unicast and multicast forwarding and deadlock avoiding method and system under irregular topology

By adopting routing table forwarding and regular release strategies in NoC under non-rule topology, the problems of single multicast forwarding and deadlock avoidance in NoC under non-rule topology are solved, and efficient communication data forwarding and deadlock avoidance are achieved, which improves the improvement of Performance of NoC system.

CN119484385AActive Publication Date: 2025-02-18SHANGHAI JIAOTONG UNIV
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
CN202411655505.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-19
Publication Date
2025-02-18
Estimated Expiration
2044-11-19

AI Technical Summary

Technical Problem

The prior art is difficult to achieve efficient single multicast forwarding and deadlock avoidance in NoC under non-rule topology. Especially in complex system environments, static topology may require greater communication costs, resulting in increased demand for routing resources and difficulty in deadlocking. control.

Method used

The communication data routing and forwarding under non-regular topology is adopted in the form of a routing table, and the deadlock is avoided by regular fixed forwarding and releasing, destroying the ring data flow, building a NoC interconnection system and configuring the routing table and the release path table.

Benefits of technology

While ensuring short and low delays in the path, ensuring that the NoC system will not affect performance due to the complex environment and increased traffic, it solves the difficulty of routing under non-rule topology and improves communication throughput and efficiency .

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119484385A_ABST
    Figure CN119484385A_ABST
Patent Text Reader

Abstract

The invention provides a NoC unicast and multicast forwarding and deadlock avoiding method and system under an irregular topology. The method comprises the following steps: performing communication data routing forwarding under the irregular topology by adopting a routing table form; deadlock avoidance is carried out by adopting a regular internal fixed forwarding and releasing method, and an annular data stream generated by deadlock is damaged; constructing an NoC interconnection system according to the irregular topology information, the routing table and the release path table, and configuring each routing parameter; and after configuration is completed, unicast and multicast data traffic of a specific task is input, data traffic forwarding is carried out, and performance is summarized and evaluated. Through efficient path search and regular data release, under the condition of ensuring short path and low delay, it is ensured that the performance of the NoC system is not affected by potential deadlock caused by complex environment and flow increase, the routing difficulty under irregular topology is solved, and the method has important application value and commercial potential.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the fields of computing science and digital chip technology, and in particular to a NoC unicast and multicast forwarding and deadlock avoidance method and system under irregular topology. Background Art

[0002] In recent years, neuromorphic computing inspired by biological brain computing primitives has great potential advantages in scalability and low power consumption in continuous data stream processing, and is expected to solve the current problems of high power consumption, complex computation, and low generalization in deep learning. Brain-like chips are inspired by biological nervous systems. Unlike traditional computing hardware such as CPUs and GPUs, they are designed to mimic the interactions between neurons and synapses in the brain to achieve highly parallel, event-driven, and extremely low-energy computing. Current brain-like chips are based on multi-core architectures, including multiple computing cores and on-chip networks (NoCs). The computing cores simulate the dynamic behavior of biological neurons, and the cores are interconnected through the on-chip network NoC to complete data and control interactions, forming a whole to jointly complete complex brain-like tasks.

[0003] The core idea of ​​NoC technology is to transplant computer network technology into chip design, and completely solve the problems brought by bus architecture from the perspective of architecture. NoC is composed of several routers interconnected according to a suitable topology. According to the underlying network topology and routing strategy, data packets are routed from the source node to the target node, reducing the communication delay and bus bandwidth requirements. Since the parallel computing core itself is also limited by physical resources, a single chip is not enough to simulate the entire brain or a larger biological neural network. Therefore, NoC plays a key role in the scalability, reliability and high energy efficiency of neuromorphic hardware. With the continuous development and improvement of task requirements, the NoC with regular topology has certain limitations and cannot adapt to specific task requirements. Especially in complex system environments, static topology may require a higher communication cost and put forward higher requirements on routing resources. Under specific tasks, the use of targeted irregular topology can reduce the length of the communication link and keep the number of communication hops of the data packet extremely low during the communication process. At present, there is no good routing forwarding algorithm for irregular topology, and due to the irregularity of the topology, communication deadlock becomes more difficult to avoid. Therefore, a method and system for NoC unicast forwarding and deadlock avoidance under irregular topology is particularly important in the current environment. Summary of the invention

[0004] In view of the defects in the prior art, the object of the present invention is to provide a NoC unicast multicast forwarding and deadlock avoidance method and system under irregular topology.

[0005] According to the present invention, a NoC unicast multicast forwarding and deadlock avoidance method under irregular topology includes:

[0006] Step S1: using a routing table to perform routing forwarding of communication data under an irregular topology, obtaining irregular topology information offline and generating a corresponding routing table;

[0007] Step S2: using a method of periodic internal fixed forwarding release to avoid deadlock and destroy the ring data flow that causes the deadlock;

[0008] Step S3: constructing a NoC interconnection system according to the irregular topology information, and creating additional space for each route to store the corresponding routing table;

[0009] Step S4: Input the unicast and multicast data traffic of the task. Each router searches the routing table to forward data under the optimal path when port arbitration and virtual channel arbitration permit. The routers in the ring sub-topology periodically release the data traffic in the released virtual channel.

[0010] Preferably, the step S1 comprises:

[0011] Step S1.1: Taking the irregular topology information configuration file as input, which includes the number of topology routing nodes, the number of interconnected channels between routings, the interconnected routing numbers stored in the form of edges, and the port information under the corresponding channels, parsing the configuration file to obtain the detailed topology architecture composition;

[0012] Step S1.2: For each routing node, use the breadth-first search algorithm to search all other reachable routing nodes with the shortest path, and store the parent node information in the corresponding node of the temporary routing table;

[0013] Step S1.3: Update the temporary routing table using node inheritance information and port information. Store the forwarding port information of each routing node in the routing table according to the breadth-first principle. For nodes at a deeper level, inherit the port information of the parent node for storage. Finally, generate a routing table that records the forwarding port under an irregular topology.

[0014] Preferably, the step S2 comprises:

[0015] Step S2.1: Taking the irregular topology information configuration file as input, including the number of topology routing nodes, the number of interconnected channels between routings, the interconnected routing numbers stored in the form of edges, and the port information under the corresponding channels, parsing the configuration file to obtain the detailed topology architecture composition;

[0016] Step S2.2: Calculate and obtain all the ring subtopologies in the topology using the Tarjan algorithm, extract and store the largest number of ring subtopologies containing common edges;

[0017] Step S2.3: For the largest ring sub-topology sequence, a recursive tree search with an efficient structure is used to track the routing node adjacency table through a loop search algorithm, and a corresponding release path table is generated for each largest ring sub-topology, including the release period, release direction and release order, and the path information is stored in the table.

[0018] Preferably, step S4 comprises:

[0019] Step S4.1: inject task traffic, including unicast and multicast signals, data traffic including information, source node and destination node information, determine the forwarding direction according to the routing table information under the router, and determine the permission through virtual channel arbitration and port arbitration;

[0020] Step S4.2: After the data forwarding request is approved, it is forwarded to the downstream router according to the forwarding direction and continues to be forwarded; if the permission cannot be obtained temporarily, the data is temporarily stored in the cache of the corresponding port of the router;

[0021] Step S4.3: The release period, release direction and release order are configured for the ring sub-topology. When the release period is not reached, each NoC route works normally.

[0022] When entering the release cycle, the routing in the ring sub-topology follows the release order and release direction, and forwards data from the selected virtual channel in order. If there is no forwarding data in the current virtual channel, no relevant arbitration is performed. After all the routing in the ring sub-topology finishes releasing and forwarding, the release cycle ends; during the release period, the routing in the non-ring sub-topology works normally;

[0023] Step S4.4: When all task traffic is forwarded or the simulation time ends, the task ends, and the overall packet receiving and sending rate, average delay and port throughput performance indicators are counted and displayed.

[0024] According to the present invention, a NoC unicast-multicast forwarding and deadlock avoidance system under irregular topology includes:

[0025] Routing table generation module: receives irregular topology information and determines the routing forwarding table with the shortest path for each router based on the information;

[0026] Release path table generation module: receives irregular topology information, and determines the router with release requirements and the corresponding release path table according to the information;

[0027] Traffic generation module: receives traffic configuration information and generates specific task traffic for NoC communication based on the information or randomly;

[0028] NoC architecture system module: receives irregular topology information, routing table information, release path information and specific task traffic, generates the topology architecture under the corresponding requirements, and communicates the task traffic according to the routing forwarding rules, while performing regular release to avoid deadlock.

[0029] Preferably, in the routing table generating module, the generated routing forwarding table has the shortest path for each route as the end point under the source point, and includes the forwarding direction under the current node.

[0030] Preferably, in the release path table generation module, only the routers in the ring sub-topology are calculated, and the release path table includes a release period, a release direction and a release order.

[0031] Preferably, in the traffic generation module, the configuration information includes the number of routing nodes, traffic probability, unicast and multicast data volume, data packet size, and simulation time information.

[0032] Preferably, in the NoC architecture system module, the system first processes the irregular topology information, configures the NoC overall architecture according to the number of routing nodes, connection conditions and port conditions, and correctly connects different routing ports; then processes the routing table information and release path information, locates the corresponding router according to the content therein, configures local routing information for it and releases and enables the release path. Routes under non-ring sub-topologies do not need to follow the release path for forwarding regularly, and within the release cycle, release forwarding has a higher priority; after the offline configuration is completed, data is generated according to the task traffic information, and forwarding communication is performed in the NoC.

[0033] Compared with the prior art, the present invention has the following beneficial effects:

[0034] 1. The present invention provides a method and system for NoC single-multicast forwarding and deadlock avoidance under irregular topology to solve the problems of routing difficulties, deadlock control difficulties and computing resource limitations under irregular topology. In a complex system environment, regular topology may require a higher communication cost and place higher requirements on routing resources, while the routing design of irregular topology has many uncertain factors and is difficult to implement well. Therefore, the present invention ensures that the NoC system will not be affected by potential deadlocks caused by complex environment and increased traffic while ensuring short and low latency paths through efficient path search and periodic data release, thereby solving the difficulties of routing under irregular topology and having important application value and commercial potential.

[0035] 2. The present invention has good versatility and realizes the overall functions of each offline sub-module and the NoC architecture simulator based on C++ and SystemC languages. The simulator can be redeveloped to meet the requirements of different environments.

[0036] 3. The present invention has good scalability and is adaptable to any form of NoC topology architecture. Users can adjust the topology configuration information according to personal needs. The module will generate effective routes offline based on different configurations to ensure efficient and accurate forwarding of task traffic.

[0037] 4. The present invention provides a new solution for efficient data communication in NoC under irregular topology, which improves the overall communication throughput and communication efficiency by using the shortest path and periodic data release. BRIEF DESCRIPTION OF THE DRAWINGS

[0038] Other features, objects and advantages of the present invention will become more apparent from the detailed description of non-limiting embodiments made with reference to the following drawings:

[0039] Figure 1 It is a NoC unicast multicast forwarding and deadlock avoidance method and system overall block diagram under irregular topology of the present invention;

[0040] Figure 2 It is a NoC unicast and multicast forwarding and deadlock avoidance method under irregular topology and a flow chart of a routing table generation algorithm in the system of the present invention;

[0041] Figure 3 It is a flow chart of a NoC single-multicast forwarding and deadlock avoidance method under irregular topology and a release path table generation algorithm in the system of the present invention;

[0042] Figure 4 The present invention discloses a NoC unicast-multicast forwarding and deadlock avoidance method under irregular topology and a NoC architecture workflow diagram in the system. DETAILED DESCRIPTION

[0043] The present invention is described in detail below in conjunction with specific embodiments. The following embodiments will help those skilled in the art to further understand the present invention, but are not intended to limit the present invention in any form. It should be noted that, for those of ordinary skill in the art, several changes and improvements can also be made without departing from the concept of the present invention. These all belong to the protection scope of the present invention.

[0044] The present invention provides a unicast and multicast forwarding and deadlock avoidance method for NoC under irregular topology, adopts a routing table to perform communication data routing forwarding under irregular topology; adopts a periodic fixed forwarding release method to avoid deadlock and destroy the ring data flow that causes deadlock; constructs a NoC interconnection system according to irregular topology information, a routing table and a release path table, and configures various routing parameters; after configuration, inputs unicast and multicast data traffic of a specific task, performs data traffic forwarding, and summarizes and evaluates performance.

[0045] This method can support fast simulation verification of customized routing under irregular topology, including unicast and multicast routing algorithms for arbitrary topology and avoidance of potential deadlock, based on simulators implemented in C++ and SystemC. The present invention ensures that the NoC system will not be affected by potential deadlocks caused by complex environment and increased traffic, while ensuring short and low latency paths, through efficient path search and periodic data release, thus solving the difficulty of routing under irregular topology.

[0046] Specifically, refer to Figure 1-Figure 4 As shown, the single-multicast forwarding and deadlock avoidance method for NoC under irregular topology includes the following steps:

[0047] Step S1: Use a routing table to perform routing and forwarding of communication data under an irregular topology, obtain irregular topology information offline and generate a corresponding routing table.

[0048] For irregular topology information, a graph is constructed with edges and represented in matrix form. The entire graph is traversed based on a breadth-first search algorithm to construct the shortest path for each routing node. The inheritance relationship is used to generate a routing table that stores forwarding port information.

[0049] Step S2: Deadlock is avoided by using a method of periodic internal fixed forwarding release to destroy the ring data flow that causes the deadlock.

[0050] The ring sub-topology in the topology is extracted according to the irregular topology information, and a release path is generated offline for each sub-topology. The release time, corresponding release direction and release virtual channel are configured for the routing under the ring sub-topology.

[0051] Step S3: Construct a NoC interconnection system based on the irregular topology information. Generate a corresponding NoC architecture in the simulator based on the number of routes, the number of ports of the routes, and the interconnection paths between the routes. Create additional space for each route to store the corresponding routing table. Configure release path information for routers in the ring sub-topology, and globally configure a release cycle information.

[0052] Step S4: After the above routing table information and periodic release information are configured, input the unicast and multicast data traffic of the specific task. Each router will search the routing table to forward data under the optimal path under the permission of port arbitration and virtual channel arbitration. At the same time, the routers in the ring sub-topology will periodically release the data traffic in the released virtual channel, thereby solving possible deadlock problems.

[0053] Specifically, in step S1, a routing table storing and forwarding directions is established based on the irregular topology information by breadth-first search combined with the recursive relationship of sub-nodes, including:

[0054] Step S1.1: Take the irregular topology information configuration file as input, which includes the number of topology routing nodes, the number of channels interconnecting routing, the interconnection routing number stored in the form of edges, and the port information under the corresponding channel, parse the configuration file, and obtain the detailed topology architecture composition.

[0055] Step S1.2: For each routing node, use the breadth-first search algorithm to search all other reachable routing nodes with the shortest path, and store the parent node information in the corresponding node of the temporary routing table.

[0056] Step S1.3: Update the temporary routing table using node inheritance information and port information. Store the forwarding port information of each routing node in the routing table according to the breadth-first principle. For nodes at a deeper level, inherit the port information of the parent node for storage. Finally, generate a routing table that records the forwarding port under an irregular topology.

[0057] In a preferred embodiment, the present invention defaults to that each routing node in any NoC topology can be reached by other routing nodes. The input topology information is parsed, and a graph E[M] is constructed based on edges. E[M] is a one-dimensional array of length M, where N is the number of nodes, M is the number of edges, and the stored elements are structures (u, v) containing nodes u and v, indicating that there is an edge between nodes u and v. To find the shortest path from each node to other nodes in an irregular graph, consider using a breadth-first search algorithm to traverse all routing nodes and construct the shortest path for them.

[0058] To implement this algorithm, an empty queue Q is needed to store node information, and a one-dimensional access array VIS[N] with a length of the number of nodes N is used to indicate whether the node has been visited. If VIS[1] is equal to 1, it means that node 1 has been visited. If it is equal to 0, it means that node 1 has not been visited yet. The access array is initialized to 0. For the starting node n, it is stored in the queue and the corresponding subscript of the access array VIS[n] is set to 1. The output of the two-dimensional temporary routing table R[N][N] is constructed, and then the loop is started. When the queue Q is not empty, the following logic is executed: pop the top node h of the queue, traverse the edge graph E[M] to find the node that meets the following conditions:

[0059] E[i].u==h&&VIS[E[i].v]==0

[0060] i represents the current round in the loop, and also represents the i-th edge in the graph E[i]. E[i].u and E[i].v represent the two nodes corresponding to the i-th edge. This condition indicates that node h is connected to other nodes and the adjacent node has not been visited. At this moment, the routing table records its upstream node h, indicating that the adjacent node can be reached from this node and the shortest path is guaranteed. The temporary routing table and other information are updated, and the adjacent node is placed in the queue:

[0061] VIS[E[i].v]=1

[0062] R[n][E[i].v]=h

[0063] Q.push(E[i].v)

[0064] The above formula has the following meaning: when it is determined that node h has an adjacent node E[i].v that has not been visited, the information is updated to the routing table R[N][N]. Specifically, R[n][E[i].v]=h means that for the starting node n, to reach the destination node E[i].v, it is necessary to first pass through node h; then the adjacent node E[i].v is stored in the queue Q through the push operation of the queue, that is, Q.push(E[i].v).

[0065] When the queue is empty, it means that the shortest path through all nodes has been found for the starting node n and saved in R[n]. By traversing all nodes in the graph, all shortest paths can be found. It should be noted that the temporary routing table saved here saves node information rather than forwarding direction (forwarding port) information, so another breadth-first search is performed to inherit the routing ports that need to be forwarded in turn, and finally a routing table that directly contains the forwarding port is generated.

[0066] Specifically, in step S2, a method of periodic internal fixed forwarding release is used to avoid deadlock. It is necessary to design a specific release path offline and configure it in the corresponding router, including:

[0067] Step S2.1: Take the irregular topology information configuration file as input, which includes the number of topology routing nodes, the number of channels interconnecting routing, the interconnection routing number stored in the form of edges, and the port information under the corresponding channel, parse the configuration file, and obtain the detailed topology architecture composition.

[0068] Step S2.2: Use the Tarjan algorithm to calculate and obtain all the ring subtopologies in the topology, extract the largest number of ring subtopologies containing common edges, and store them.

[0069] Step S2.3: For the largest ring sub-topology sequence, a recursive tree search with an efficient structure is used to track the routing node adjacency table through a loop search algorithm, and a corresponding release path table is generated for each largest ring sub-topology, including the release period, release direction and release order, and the path information is stored in the table.

[0070] In a preferred implementation, the detection and resolution of deadlocks often bring about large resource overhead in practical applications, and deadlocks are not easy to occur when the traffic is not large. How to reasonably deal with deadlocks caused by high traffic needs to consider resource limitations; the present invention avoids direct deadlock detection and adopts periodic release of blocked data in the routing channel to solve possible deadlock problems. Since no deadlock detection is performed, additional resource overhead is avoided, and the configuration of the release path is completed offline. When forwarding data traffic online, only fixed directions are released periodically, and resource overhead is greatly controlled through lower delay increase; the specific implementation of the periodic release scheme is as follows:

[0071] Deadlocks mostly occur due to ring data flows. For irregular topologies, the possibility of ring data flows is greatly increased. Considering the periodic fixed forwarding release of ring routes can destroy the ring data flows caused by deadlocks, thereby solving potential deadlock problems. Therefore, this part is mainly divided into two aspects: one is to obtain all the largest ring sub-topologies in the topology, and the other is to generate release paths for each of these ring sub-topologies independently.

[0072] The present invention adopts the Tarjan algorithm to extract the ring sub-topology, parses the input topology information, and the composition is the same as that in step S1; constructs a one-dimensional array dfn[N] with a length of N to save the depth-first access order, and also constructs a one-dimensional low[N] with an array length of N to save the minimum dfn value reached by the non-tree edge, the non-tree edge is the edge passed in the depth-first search, that is, the edge on the search tree, and both arrays are initialized to -1; at the same time, a stack S is defined to store the access node and the corresponding release stored one-dimensional representation array instack[N] with a length of N, if instack[1] is equal to 1, it means that node 1 is currently stored in the stack S, if it is equal to 0, it means that node 1 is not stored, and instack[N] is initialized to 0; the depth-first search real time step timestamp=0 is defined.

[0073] The execution of Tarjan's algorithm starts with a depth-first search at any unvisited node. For the starting node u, dfn[u] and low[u] are initialized and the information is updated:

[0074] dfn[u]=low[u]=++timestamp

[0075] S.push(u),instack[u]=1

[0076] The meaning of the formula is as follows: for each starting node u, update the corresponding data value through dfn[u]=low[u]=++timestamp, and increase the value of time step timestamp; push the starting node u into the stack through the push operation of stack S, and mark the node information of the instack array.

[0077] Then traverse all adjacent points v of node u. If the corresponding node's dfn[v] == -1, it means that the current node v has not been visited. Update the array storing the minimum dfn value and continue the depth-first search from the current node. If v is visited and is in the stack S, it means that a back edge has been found and the array is updated. The following formula represents the update process of the low[u] value:

[0078] low[u]=min(low[u],low[v]), if dfn[v]==-1

[0079] low[u]=min(low[u],dfn[v]), if instack[v] == 1 and dfn[v] != -1

[0080] If all the adjacent nodes v of the starting node are traversed, then the values ​​of dfn[u] and low[u] are determined. If the two values ​​are the same, it means that the subtree starting from the starting node u has been searched, and u is the root node of a strongly connected component, that is, the root node of a ring subtopology, and all the nodes of the ring are stored in the stack S. Therefore, the nodes in S are continuously popped up until the starting node u. The popped nodes constitute a ring subtopology, which is stored in the ring subtopology list L. This process is continued until all nodes are searched, and finally a list L containing all subtopologies is obtained.

[0081] Considering that there may be multiple ring sub-topologies with common edges in irregular topology, post-processing is required to extract the sub-topologies with common edges in the list, determine the size of the sub-topology according to the number of nodes, select the sub-topology with the largest number of nodes for processing, and obtain the post-processed ring sub-topology set T.

[0082] After obtaining the ring sub-topology set T, it is necessary to search for the release path for the sub-topology. The release path includes the release direction and release order of each route. When entering the release cycle, each sub-topology follows the information of the release path table to release the data of a specific virtual channel from the starting route in sequence, forwards it according to the release direction, and completes the release of the routing channels under all sub-topologies in sequence, thereby solving the deadlock; a circular search algorithm is used to search for the release path P in the form of a recursive tree; by constructing a node stack S, maintaining blocked and unlocked nodes for circular search, for the unprocessed sub-topology l, calculate the arcs of the nodes therein, and recursively update the blocked nodes and unlocked nodes to form a valid path, which is the release path under the current topology; after processing all the sub-topologies in the set, a release path table generated for each sub-topology is obtained, which records the release direction and release order of the data under each routing node, so as to facilitate the correctness and completeness of subsequent functions.

[0083] Specifically, in step S4, the NoC architecture configured with routing information starts working under the input of specific task traffic, and the forwarding of data traffic and deadlock release include:

[0084] Step S4.1: Inject specific task traffic, including unicast and multicast signals. The data traffic has information, source node and destination node information. The forwarding direction, i.e. the forwarding port, is determined based on the routing table information in the router. The permission is determined through virtual channel arbitration and port arbitration.

[0085] Step S4.2: After the data forwarding request is permitted, it is forwarded to the downstream router according to the forwarding direction and continues to be forwarded subsequently; if the permission cannot be obtained temporarily, the data is temporarily stored in the cache of the corresponding port of the router.

[0086] Step S4.3: The release cycle, release direction and release order are configured for the ring sub-topology. When the release cycle is not reached, the NoC routes work normally; when entering the release cycle, the routes under the ring sub-topology follow the release order and release direction, and forward data from the selected virtual channel in sequence. If there is no forwarding data in the current virtual channel, no relevant arbitration is performed. After all the routes under the ring sub-topology finish releasing and forwarding, the release cycle ends; during the release period, the routes under the non-ring sub-topology work normally.

[0087] Step S4.4: When all task traffic is forwarded or the simulation time ends, the task ends, and performance indicators such as the overall packet receiving and sending rate, average delay, and port throughput are counted and displayed.

[0088] In a preferred embodiment, after the above routing table information and periodic release information are configured, the unicast and multicast data traffic of a specific task is input. The generation of data traffic is not the focus of the present invention, so it is not described in detail here; after obtaining the input data information, each router will search the routing table to forward data under the optimal path if port arbitration and virtual channel arbitration permit.

[0089] For the recovery of potential deadlock, the release cycle is configured. When the communication simulation time of NoC is not within the release cycle, all routes are forwarded according to the routing table and arbitration rules; when the simulation time enters the release cycle, the routes in the ring sub-topology will follow the configured release information, and start to release the data in the specified virtual channel in a directed manner from the starting route in the sub-topology in sequence. Each sub-topology starts to execute the release at the same time until each route in all sub-topologies has completed the directed release forwarding, and the release cycle ends; during the release cycle, other routing nodes forward normally, but the arbitration of ports and virtual channels is prioritized to the routes in the ring sub-topology; after the release cycle ends, NoC returns to normal working state and waits for the arrival of the next release cycle; through directed release, the number of communication hops for data forwarding may be extended, resulting in increased communication delay, but as mentioned earlier, deadlock is not common. Through the release link, the resource overhead caused by deadlock detection can be avoided, ensuring the correctness and robustness of the overall function of NoC.

[0090] When the data traffic is completed, or the communication simulation time is over, the NoC ends the forwarding communication for the current task, and summarizes and displays performance indicators such as the overall packet receiving and sending rate, average delay, and port throughput.

[0091] The present invention also provides a unicast-multicast forwarding and deadlock avoidance system for NoC under irregular topology, comprising the following modules:

[0092] The routing table generation module receives the irregular topology information and determines the routing forwarding table of the shortest path for each router according to the information.

[0093] The release path table generation module receives irregular topology information and determines the router with release requirements and the corresponding release path table according to the information.

[0094] The traffic generation module receives traffic configuration information and generates specific task traffic for NoC communication according to the information or randomly.

[0095] The NoC architecture system module receives irregular topology information, routing table information, release path information and specific task traffic, generates a topology architecture under the corresponding requirements, and communicates task traffic according to the routing forwarding rules, while performing periodic release to avoid deadlock.

[0096] Furthermore, in the routing table generation module, the generated routing forwarding table has the shortest path for each route as the end point under the source point, and includes the forwarding direction under the current node.

[0097] Furthermore, in the release path table generation module, only the routers under the ring sub-topology are calculated, and the release path table includes a release period, a release direction and a release order.

[0098] Furthermore, in the traffic generation module, the configuration information includes information such as the number of routing nodes, traffic probability, unicast and multicast data volume, data packet size, simulation time, etc.

[0099] Furthermore, in the NoC architecture system module, the system first processes the irregular topology information, configures the NoC overall architecture according to the number of routing nodes, connection status and port status, and correctly connects different routing ports; thereafter, it processes the routing table information and release path information, locates the corresponding router according to the content, configures local routing information for it and releases and enables the release path. Routes under non-ring sub-topologies do not need to follow the release path for forwarding regularly, and during the release cycle, release forwarding has a higher priority; after the offline configuration is completed, data is generated according to the task traffic information, and forwarding communication is performed in the NoC.

[0100] Those skilled in the art know that, in addition to realizing the system and its various devices, modules, and units provided by the present invention in a purely computer-readable program code, it is entirely possible to realize the same functions in the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers by logically programming the method steps. Therefore, the system and its various devices, modules, and units provided by the present invention can be considered as a hardware component, and the devices, modules, and units included therein for realizing various functions can also be regarded as structures within the hardware component; the devices, modules, and units for realizing various functions can also be regarded as both software modules for realizing the method and structures within the hardware component.

[0101] In the description of the present application, it should be understood that the terms "up", "down", "front", "back", "left", "right", "vertical", "horizontal", "top", "bottom", "inside", "outside", etc., indicating orientations or positional relationships, are based on the orientations or positional relationships shown in the accompanying drawings, and are only for the convenience of describing the present application and simplifying the description, and do not indicate or imply that the referred device or element must have a specific orientation, be constructed and operated in a specific orientation, and therefore should not be understood as a limitation on the present application.

[0102] The above describes the specific embodiments of the present invention. It should be understood that the present invention is not limited to the above specific embodiments, and those skilled in the art can make various changes or modifications within the scope of the claims, which does not affect the essence of the present invention. In the absence of conflict, the embodiments of the present application and the features in the embodiments can be combined with each other arbitrarily.

Claims

1. A NoC unicast multicast forwarding and deadlock avoidance method under irregular topology, characterized in that: include: Step S1: using a routing table to perform routing forwarding of communication data under an irregular topology, obtaining irregular topology information offline and generating a corresponding routing table; Step S2: using a method of periodic internal fixed forwarding release to avoid deadlock and destroy the ring data flow that causes the deadlock; Step S3: constructing a NoC interconnection system according to the irregular topology information, and creating additional space for each route to store the corresponding routing table; Step S4: Input the unicast and multicast data traffic of the task. Each router searches the routing table to forward data under the optimal path when port arbitration and virtual channel arbitration permit. The routers in the ring sub-topology periodically release the data traffic in the released virtual channel.

2. The NoC unicast-multicast forwarding and deadlock avoidance method under irregular topology according to claim 1, characterized in that: The step S1 comprises: Step S1.1: Taking the irregular topology information configuration file as input, which includes the number of topology routing nodes, the number of interconnected channels between routings, the interconnected routing numbers stored in the form of edges, and the port information under the corresponding channels, parsing the configuration file to obtain the detailed topology architecture composition; Step S1.2: For each routing node, use the breadth-first search algorithm to search all other reachable routing nodes with the shortest path, and store the parent node information in the corresponding node of the temporary routing table; Step S1.3: Update the temporary routing table using node inheritance information and port information. Store the forwarding port information of each routing node in the routing table according to the breadth-first principle. For nodes at a deeper level, inherit the port information of the parent node for storage. Finally, generate a routing table that records the forwarding port under an irregular topology.

3. The NoC unicast-multicast forwarding and deadlock avoidance method under irregular topology according to claim 1, characterized in that: The step S2 comprises: Step S2.1: Taking the irregular topology information configuration file as input, including the number of topology routing nodes, the number of interconnected channels between routings, the interconnected routing numbers stored in the form of edges, and the port information under the corresponding channels, parsing the configuration file to obtain the detailed topology architecture composition; Step S2.2: Calculate and obtain all the ring subtopologies in the topology using the Tarjan algorithm, extract and store the largest number of ring subtopologies containing common edges; Step S2.3: For the largest ring sub-topology sequence, a recursive tree search with an efficient structure is used to track the routing node adjacency table through a loop search algorithm, and a corresponding release path table is generated for each largest ring sub-topology, including the release period, release direction and release order, and the path information is stored in the table.

4. The NoC unicast-multicast forwarding and deadlock avoidance method under irregular topology according to claim 1, characterized in that: The step S4 comprises: Step S4.1: inject task traffic, including unicast and multicast signals, data traffic including information, source node and destination node information, determine the forwarding direction according to the routing table information under the router, and determine the permission through virtual channel arbitration and port arbitration; Step S4.2: After the data forwarding request is approved, it is forwarded to the downstream router according to the forwarding direction and continues to be forwarded; if the permission cannot be obtained temporarily, the data is temporarily stored in the cache of the corresponding port of the router; Step S4.3: The release period, release direction and release order are configured for the ring sub-topology. When the release period is not reached, each NoC route works normally. When entering the release cycle, the routing in the ring sub-topology follows the release order and release direction, and forwards data from the selected virtual channel in order. If there is no forwarding data in the current virtual channel, no relevant arbitration is performed. After all the routing in the ring sub-topology finishes releasing and forwarding, the release cycle ends; during the release period, the routing in the non-ring sub-topology works normally; Step S4.4: When all task traffic is forwarded or the simulation time ends, the task ends, and the overall packet receiving and sending rate, average delay and port throughput performance indicators are counted and displayed.

5. A NoC unicast forwarding and deadlock avoidance system under irregular topology, characterized in that: include: Routing table generation module: receives irregular topology information and determines the routing forwarding table with the shortest path for each router based on the information; Release path table generation module: receives irregular topology information, and determines the router with release requirements and the corresponding release path table according to the information; Traffic generation module: receives traffic configuration information and generates specific task traffic for NoC communication based on the information or randomly; NoC architecture system module: receives irregular topology information, routing table information, release path information and specific task traffic, generates the topology architecture under the corresponding requirements, and communicates the task traffic according to the routing forwarding rules, while performing regular release to avoid deadlock.

6. The NoC unicast-multicast forwarding and deadlock avoidance system under irregular topology according to claim 5, characterized in that: In the routing table generation module, the generated routing forwarding table has the shortest path for each route as the end point under the source point, and includes the forwarding direction under the current node.

7. The NoC unicast-multicast forwarding and deadlock avoidance system under irregular topology according to claim 5, characterized in that: In the release path table generation module, only the routers under the ring sub-topology are calculated, and the release path table contains a release period, a release direction and a release order.

8. The NoC unicast-multicast forwarding and deadlock avoidance system under irregular topology according to claim 5, characterized in that: In the traffic generation module, the configuration information includes the number of routing nodes, traffic probability, unicast and multicast data volume, data packet size, and simulation time information.

9. The NoC unicast-multicast forwarding and deadlock avoidance system under irregular topology according to claim 5, characterized in that: In the NoC architecture system module, the system first processes irregular topology information, configures the overall NoC architecture according to the number of routing nodes, connection conditions and port conditions, and correctly connects different routing ports; then processes routing table information and release path information, locates the corresponding router according to the content, configures local routing information for it and releases and enables the release path. Routes under non-ring sub-topologies do not need to follow the release path for forwarding regularly, and release forwarding has a higher priority during the release cycle; after the offline configuration is completed, data is generated according to the task traffic information, and forwarding communication is performed in the NoC.

Citation Information

Patent Citations

  • Redundancy system of routing paths and method thereof

    CN106789633A

  • Routing system and communication method of network-on-chip

    CN111245730A

  • Design method of three-dimensional network-on-chip topological structure

    CN114116599A

  • On-chip and inter-chip integrated network deadlock-free architecture for interconnection of multiple bare chips

    CN114760255A

  • UWB-based high-dynamic unmanned aerial vehicle network routing algorithm

    CN118338378A