Method and system for noC single / multi-cast forwarding and deadlock avoidance under irregular topology
By generating routing tables and periodically releasing path tables in the NoC under irregular topologies, the routing difficulties and deadlock problems under irregular topologies are solved, achieving efficient data communication and deadlock avoidance, and adapting to complex system environments.
Patent Information
- Application Number
- CN202411655505.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-19
- Publication Date
- 2026-02-10
- Estimated Expiration
- 2044-11-19
AI Technical Summary
Existing technologies lack effective routing and forwarding algorithms in NoC under irregular topologies, making communication deadlock difficult to avoid. Furthermore, regular topologies have high communication costs in complex system environments, making them difficult to adapt to specific task requirements.
A routing table is used for routing and forwarding communication data in irregular topologies. Deadlock is avoided by periodically releasing fixed forwarding routes. Shortest path and release path tables are generated to construct a NoC interconnection system, and periodic release is performed for ring sub-topologies.
While ensuring short paths and low latency, it avoids potential deadlocks in NoC systems caused by complex environments and increased traffic, improves communication efficiency and throughput, and adapts to different environmental requirements.
Smart Images

Figure CN119484385B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the fields of computer science and digital chip technology, specifically to a method and system for NoC unicast / multicast forwarding and deadlock avoidance under irregular topology. Background Technology
[0002] In recent years, neuromorphic computing, inspired by the computational primitives of the biological brain, has shown great potential advantages in terms of scalability and low power consumption in continuous data stream processing, and is expected to solve the problems of high power consumption, complex computation, and low generalization in current deep learning. Neuromorphic chips, inspired by biological nervous systems, differ from traditional computing hardware such as CPUs and GPUs. They aim to mimic the interactions between neurons and synapses in the brain to achieve highly parallel, event-driven, and extremely low-power computing. Current neuromorphic chips primarily use a multi-core architecture, comprising two main parts: multiple computational cores and on-chip networks (NoCs). The computational cores simulate the dynamic behavior of biological neurons, and the cores are interconnected through NoCs to complete data and control interactions, forming a whole to jointly complete complex brain-like tasks.
[0003] The core idea of NoC (Neuro-Oriented Networking) technology is to transplant computer network technology into chip design, fundamentally solving the problems caused by bus architecture from an architectural perspective. NoC consists of several routers interconnected according to a suitable topology. Based on the underlying network topology and routing policies, it routes data packets from the source node to the destination node, reducing communication latency and bus bandwidth requirements. Since parallel computing cores themselves are limited by physical resources, a single chip is insufficient to simulate the entire brain or larger-scale biological neural networks. Therefore, NoC plays a crucial role in the scalability, reliability, and high energy efficiency of neuromorphic hardware. As task requirements continue to evolve and improve, regular topology NoC has certain limitations and cannot adapt to specific task requirements, especially in complex system environments where static topologies may require higher communication costs and place higher demands on routing resources. For specific tasks, using targeted irregular topologies can reduce communication link length and maintain extremely low hop counts for data packets during communication. Currently, there are no good routing and forwarding algorithms for irregular topologies, and due to the irregularity of the topology, communication deadlock becomes more difficult to avoid. Therefore, a method and system for NoC unicast / multicast forwarding and deadlock avoidance in irregular topologies is particularly important in the current environment. Summary of the Invention
[0004] To address the shortcomings of existing technologies, the purpose of this invention is to provide a method and system for NoC unicast / multicast forwarding and deadlock avoidance in irregular topologies.
[0005] A method for NoC unicast / multicast forwarding and deadlock avoidance under irregular topology provided by the present invention includes:
[0006] Step S1: Use routing tables to route and forward communication data under irregular topologies, obtain irregular topology information offline and generate corresponding routing tables;
[0007] Step S2: Deadlock is avoided by periodically fixed forwarding and releasing the data, thus disrupting the circular data flow that caused the deadlock.
[0008] Step S3: Construct a NoC interconnection system based on irregular topology information, and allocate 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 and forwards the data along the optimal path if port arbitration and virtual channel arbitration are permitted. Routers in the ring sub-topology periodically release the data traffic in the released virtual channel.
[0010] Preferably, step S1 includes:
[0011] Step S1.1: Take the irregular topology information configuration file as input, which includes the number of topology routing nodes, the number of interconnection channels between routes, the interconnection route numbers stored in the form of edges, and the port information under the corresponding channels. Parse the configuration file to obtain the detailed topology architecture.
[0012] Step S1.2: For each routing node, use the breadth-first search algorithm to reach 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 deeper levels, the port information of the parent node is inherited and stored. Finally, a routing table recording the forwarding ports is generated under irregular topology.
[0014] Preferably, step S2 includes:
[0015] Step S2.1: Take the irregular topology information configuration file as input, including the number of topology routing nodes, the number of interconnection channels between routes, the interconnection route numbers stored in the form of edges, and the port information under the corresponding channel. Parse the configuration file to obtain the detailed topology architecture composition.
[0016] Step S2.2: Use the Tarjan algorithm to calculate and obtain all the cyclic subtopologies in the topology, extract the largest cyclic subtopologies containing common edges and store them;
[0017] Step S2.3: For the largest cyclic sub-topology sequence, a recursive tree search with an efficient structure is used to track the adjacency table of the routing nodes through a cyclic search algorithm. A corresponding release path table is generated for each largest cyclic sub-topology, including the release period, release direction and release order, and the path information is stored in the table.
[0018] Preferably, step S4 includes:
[0019] Step S4.1: Inject task traffic, including unicast and multicast signals. Data traffic includes information, source node and destination node information. Under the router, the forwarding direction is determined according to the routing table information, and permission is determined through virtual channel arbitration and port arbitration.
[0020] Step S4.2: After obtaining permission for data forwarding, the data is forwarded normally to the downstream route according to the forwarding direction, and the subsequent forwarding continues; if permission cannot be obtained temporarily, the data is temporarily stored in the cache of the corresponding port of the route.
[0021] Step S4.3: The release period, release direction, and release order are configured for the ring sub-topology. When the release period has not been reached, each route of the NoC works normally.
[0022] When entering the release period, routes under the ring subtopic follow the release order and direction, forwarding data sequentially from the selected virtual channels. If there is no data to forward in the current virtual channel, no arbitration is performed. The release period ends after all routes under the ring subtopic have finished releasing and forwarding. Routes under non-ring subtopics work normally during the release period.
[0023] Step S4.4: When all task traffic has been forwarded or the simulation time has ended, the task ends. The overall packet transmission and reception rate, average latency, and port throughput performance indicators are statistically analyzed 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 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 routers that need to be released and the corresponding release path table based on 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 corresponding topology architecture, and communicates task traffic according to routing forwarding rules, while performing periodic release to avoid deadlock.
[0029] Preferably, in the routing table generation module, the generated routing table has the shortest path for each route as the source and destination, and includes the forwarding direction under the current node.
[0030] Preferably, the release path table generation module only performs calculations for routers under the ring sub-topology, and the release path table includes the release period, release direction, and release order.
[0031] Preferably, the configuration information in the traffic generation module includes the number of routing nodes, traffic probability, unicast / multicast data volume, data packet size, and simulation time information.
[0032] Preferably, in the NoC architecture system module, the system first processes irregular topology information, configures the overall NoC architecture and correctly connects different routing ports based on the number of routing nodes, connection status, and port status; then it processes routing table information and release path information, locates the corresponding router based on the content, configures its local routing information and releases the enabled release path. Routes under non-ring sub-topologies do not need to periodically follow the release path for forwarding, and within the release period, release forwarding has a higher priority; after offline configuration is completed, data is generated based on task traffic information and forwarded in the NoC for communication.
[0033] Compared with the prior art, the present invention has the following beneficial effects:
[0034] 1. This invention provides a method and system for unicast / multicast forwarding and deadlock avoidance in irregular topologies (NoCs) to address problems such as routing difficulties, deadlock control challenges, and computational resource limitations in irregular topologies. In complex system environments, regular topologies may require higher communication costs and place higher demands on routing resources, while routing design for irregular topologies involves many uncertainties and is difficult to implement effectively. Therefore, this invention, through efficient path search and periodic data release, ensures that the NoC system is not affected by potential deadlocks caused by complex environments and increased traffic, while maintaining short paths and low latency. This solves the routing difficulties in irregular topologies and has significant application value and commercial potential.
[0035] 2. This invention has good versatility. It implements the offline sub-modules and the overall functions of the NoC architecture simulator based on C++ and SystemC languages. The simulator can be further developed to meet different environmental requirements.
[0036] 3. This invention has good scalability and is compatible with any form of NoC topology architecture. Users can adjust the topology configuration information according to their personal needs. The module will generate effective routes offline based on different configurations to ensure efficient and error-free forwarding of task traffic.
[0037] 4. This invention provides a new solution for efficient data communication in NoC under irregular topology, which improves the overall communication throughput and efficiency by using the shortest path and periodically releasing data. Attached Figure Description
[0038] Other features, objects, and advantages of the present invention will become more apparent from the following detailed description of non-limiting embodiments with reference to the accompanying drawings:
[0039] Figure 1 This invention provides a method for NoC unicast / multicast forwarding and deadlock avoidance under irregular topology, along with an overall system block diagram.
[0040] Figure 2 This invention provides a method for NoC unicast / multicast forwarding and deadlock avoidance under irregular topology and a flowchart of the routing table generation algorithm in the system.
[0041] Figure 3 This invention provides a method for NoC unicast / multicast forwarding and deadlock avoidance under irregular topology and a flowchart of the algorithm for generating a release path table in the system.
[0042] Figure 4 This invention relates to a method for NoC unicast / multicast forwarding and deadlock avoidance under irregular topology, and a flowchart of the NoC architecture workflow in the system. Detailed Implementation
[0043] The present invention will now be described in detail with reference to specific embodiments. These embodiments will help those skilled in the art to further understand the present invention, but do not limit the invention in any way. It should be noted that those skilled in the art can make several changes and improvements without departing from the concept of the present invention. These all fall within the protection scope of the present invention.
[0044] This invention provides a method for unicast and multicast forwarding and deadlock avoidance in NoCs under irregular topologies. It employs a routing table to route and forward communication data in irregular topologies; uses a periodic fixed forwarding release method to avoid deadlock, disrupting the circular data flow that could lead to deadlock; constructs a NoC interconnection system based on the irregular topology information, routing table, and release path table, and configures all routing parameters; after configuration, it inputs unicast and multicast data traffic for a specific task, forwards the data traffic, and summarizes and evaluates the performance.
[0045] This method supports rapid simulation and verification of customized routing in irregular topologies, including unicast / multicast routing algorithms for arbitrary topologies and avoidance of potential deadlocks, using a simulator implemented in C++ and SystemC. This invention, through efficient path search and periodic data release, ensures that the NoC system's performance is not affected by potential deadlocks caused by complex environments and increased traffic, while maintaining short paths and low latency, thus solving the difficulties of routing in irregular topologies.
[0046] Specifically, refer to Figures 1-4 As shown, the method for unicast / multicast forwarding and deadlock avoidance in NoC under irregular topology includes the following steps:
[0047] Step S1: Use routing tables to route and forward communication data under irregular topologies, obtain irregular topology information offline and generate corresponding routing tables.
[0048] For irregular topology information, an edge-based graph is constructed, and the irregular topology information is represented in matrix form. The entire graph is traversed based on a breadth-first search algorithm, and the shortest path is constructed for each routing node. A routing table for storing and forwarding port information is generated using inheritance relationships.
[0049] Step S2: Use a periodic fixed forwarding and release method to avoid deadlock and disrupt the circular data flow that caused the deadlock.
[0050] Extract ring sub-topologies from the irregular topology information, generate release paths offline for each sub-topology, and configure release time, corresponding release direction, and release virtual channels for routes under the ring sub-topology.
[0051] Step S3: Construct a NoC interconnection system based on irregular topology information. In the simulator, generate the corresponding NoC architecture based on the number of routes, the number of ports of the routes, and the interconnection paths between routes. Allocate additional space for each route to store the corresponding routing table. Configure release path information for routers in the ring sub-topology and configure a release period information globally.
[0052] Step S4: After configuring the routing table information and periodic release information, input the unicast and multicast data traffic for the specific task. Each router will look up the routing table and forward the data along the optimal path if port arbitration and virtual channel arbitration are permitted. At the same time, routers in the ring sub-topology will periodically release the data traffic in the virtual channel to resolve potential deadlock issues.
[0053] Specifically, in step S1, a storage-forward routing table is established based on the irregular topology information using breadth-first search combined with the recursive relationship of child 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 interconnection channels between routes, the interconnection route numbers stored in the form of edges, and the port information under the corresponding channels. Parse the configuration file to obtain the detailed topology architecture.
[0055] Step S1.2: For each routing node, use the breadth-first search algorithm to reach 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 deeper levels, the port information of the parent node is inherited and stored. Finally, a routing table recording the forwarding ports is generated under irregular topology.
[0057] In a preferred embodiment, this invention assumes that every routing node in any NoC topology can be reached by other routing nodes. The input topology information is parsed, and an edge graph E[M] is constructed. E[M] is a one-dimensional array of length M, where N is the number of nodes and M is the number of edges. 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 the irregular graph, a breadth-first search algorithm is considered 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] of length N is used to indicate whether a node has been visited. If VIS[1] equals 1, it means that node 1 has been visited; if it equals 0, it means that node 1 has not been visited. The access array is initialized to 0. For the starting node n, it is stored in the queue and the corresponding index of the access array VIS[n] is set to 1. A 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-level node h from the queue, traverse the edge graph E[M] to find the following condition:
[0059] E[i].u==h&&VIS[E[i].v]==0
[0060] i represents the current iteration in the loop, and also represents the i-th edge in 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 its adjacent node has not been visited. At this moment, the routing table records its upstream node h, indicating that it is possible to reach the adjacent node from this node and ensuring the shortest path. Update the temporary routing table and other information, and put the adjacent node into 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 means the following: When it is determined that node h has an unvisited neighbor node E[i].v, 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 reach it through node h; then the neighbor 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 for the starting node n has been found and stored in R[n]. By traversing all nodes in the graph, all shortest paths can be found. It is important to note that the temporary routing table stored here stores node information rather than forwarding direction (forwarding port) information. Therefore, a breadth-first search is performed to inherit the routing ports that need to be forwarded, and finally a routing table that directly contains the forwarding ports is generated.
[0066] Specifically, in step S2, deadlock avoidance is achieved using a periodic fixed forwarding release method. This requires offline design of specific release paths and configuration in the corresponding routers, 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 interconnection channels between routes, the interconnection route numbers stored in the form of edges, and the port information under the corresponding channels. Parse the configuration file to obtain the detailed topology architecture.
[0068] Step S2.2: Use the Tarjan algorithm to calculate and obtain all the cyclic subtopologies in the topology, extract the largest cyclic subtopologies with common edges and store them.
[0069] Step S2.3: For the largest cyclic sub-topology sequence, a recursive tree search with an efficient structure is used to track the adjacency table of the routing nodes through a cyclic search algorithm. A corresponding release path table is generated for each largest cyclic sub-topology, including the release period, release direction and release order, and the path information is stored in the table.
[0070] In a preferred embodiment, deadlock detection and resolution often incur significant resource overhead in practical applications. Deadlocks are less likely to occur under low traffic conditions, and resource constraints must be considered when addressing deadlocks caused by high traffic. This invention avoids direct deadlock detection by periodically releasing blocked data in routing channels to resolve potential deadlock issues. Since deadlock detection is not performed, additional resource overhead is avoided. Furthermore, the configuration of the release path is completed offline, and online data traffic forwarding only involves periodic release in a fixed direction, significantly controlling resource overhead through minimal latency increases. The specific implementation of the periodic release scheme is as follows:
[0071] Deadlocks often occur due to circular data flows. For irregular topologies, the likelihood of circular data flows increases significantly. Periodically fixing and releasing circular routes can disrupt the circular data flows caused by deadlocks, thus resolving potential deadlock issues. Therefore, this part is mainly implemented in two ways: first, obtaining all the largest circular sub-topologies in the topology; and second, independently generating release paths for each of these circular sub-topologies.
[0072] This invention uses the Tarjan algorithm to extract the cyclic subtopology. The input topology information is parsed, and the graph construction is the same as in step S1. A one-dimensional array dfn[N] of length N is constructed to store the depth-first search order. Similarly, a one-dimensional array low[N] of length N is constructed to store the minimum dfn value reached by non-tree edges. Non-tree edges are the edges traversed in the depth-first search, i.e., the edges on the search tree. Both arrays are initialized to -1. At the same time, a stack S is defined to store the accessed nodes and the corresponding one-dimensional array instack[N] of length N that is released from storage. If instack[1] is equal to 1, it means that node 1 is currently stored in stack S. If it is equal to 0, it means that node 1 has not been stored. instack[N] is initialized to 0. The real time step of the depth-first search is defined as timestamp = 0.
[0073] The Tarjan algorithm executes a depth-first search starting from any unvisited node. For the starting node u, dfn[u] and low[u] are initialized and their information is updated:
[0074] dfn[u] = low[u] = ++timestamp
[0075] S.push(u),instack[u]=1
[0076] The formula means the following: For each starting node u, update the corresponding data value by dfn[u] = low[u] = ++timestamp, and increment the value of the time step timestamp; push the starting node u onto the stack S through the push operation, and mark the node information in the instack array.
[0077] Then, iterate through all adjacent nodes v of node u. If the dfn[v] of the corresponding node is equal to -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 has been visited and is in the stack S, it means that a back edge has been found, and update the array. The following formula shows 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 adjacent nodes v of the starting node have been traversed, then compare the values of dfn[u] and low[u]. If they 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, which is the root node of a circular subtopology. All nodes of this ring are stored in the stack S. Therefore, continue to pop nodes from S until the starting node u. The popped nodes form a circular subtopology and are stored in the circular subtopology list L. Continue this process until all nodes have been searched, and finally obtain the list L containing all subtopologies.
[0081] Considering that there may be multiple cyclic subtopologies with common edges under irregular topology, post-processing is required. Extract the subtopologies with common edges from the list, determine the size of the subtopology based on the number of nodes, select the subtopology with the largest number of nodes for processing, and obtain the post-processed cyclic subtopology set T.
[0082] After obtaining the ring-shaped sub-topology set T, it is necessary to search for release paths for each sub-topology. The release path includes the release direction and release order of each route. When entering the release period, each sub-topology releases data of a specific virtual channel in sequence from the starting route according to the information in the release path table, and forwards the data according to the release direction. This process is repeated for all sub-topologies to release the routing channels, thereby resolving deadlock. A cyclic search algorithm is used to search for the release path P in the form of a recursive tree. By constructing a node stack S and maintaining the blocked and unlocked nodes, the search is performed cyclically. For an unprocessed sub-topology l, the arcs of its nodes are calculated, and the blocked and unlocked nodes are recursively updated to form a valid path, which is the release path for the current topology. After processing all the sub-topologies in the set, a release path table is generated for each sub-topology. This table records the release direction and release order of the data under each routing node, which facilitates the correctness and completeness of subsequent functions.
[0083] Specifically, in step S4, the NoC architecture with configured routing information begins to operate under specific task traffic input, including data traffic forwarding and deadlock release, such as:
[0084] Step S4.1: Inject specific task traffic, covering unicast and multicast signals. The data traffic has information, source node and destination node information. Under the router, the forwarding direction, i.e. forwarding port, is determined according to the routing table information. Permission is determined through virtual channel arbitration and port arbitration.
[0085] Step S4.2: After the data forwarding request is granted permission, it is forwarded normally to the downstream route according to the forwarding direction, and the subsequent forwarding continues; if permission cannot be obtained temporarily, the data is temporarily stored in the cache of the corresponding port of the route.
[0086] Step S4.3: A release period, release direction, and release order are configured for the ring sub-topology. When the release period has not been reached, all routes in the NoC operate normally. When the release period begins, routes under the ring sub-topology follow the release order and release direction, forwarding data sequentially from the selected virtual channels. If there is no data to forward in the current virtual channel, no arbitration is performed. The release period ends after all routes under the ring sub-topology have finished releasing and forwarding. Routes under non-ring sub-topologies operate normally during the release period.
[0087] Step S4.4: When all task traffic has been forwarded or the simulation time has ended, the task ends. The overall packet transmission and reception rate, average latency, and port throughput are statistically analyzed 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 for a specific task is input. The generation of data traffic is not the focus of this invention, so it will not be described in detail here. After obtaining the input data information, each router will look up the routing table and perform data forwarding under the optimal path if port arbitration and virtual channel arbitration are permitted.
[0089] To address potential deadlock recovery, a release period was configured. When the NoC's communication simulation time is outside the release period, all routes forward data according to the routing table and arbitration rules. When the simulation time enters the release period, routes within the ring sub-topology follow the configured release information and sequentially forward data in the specified virtual channel, starting from the originating route within the sub-topology. Each sub-topology begins releasing data simultaneously until every route in all sub-topologies has completed the directed release forwarding, at which point the release period ends. During the release period, other routing nodes forward data normally, but arbitration for ports and virtual channels prioritizes routes within the ring sub-topology. After the release period ends, the NoC returns to normal operation, awaiting the next release period. Directed release may increase the number of communication hops for data forwarding, leading to increased communication latency. However, as mentioned earlier, deadlocks are uncommon. The release process avoids the resource overhead of deadlock detection, ensuring the correctness and robustness of the NoC's overall functionality.
[0090] Once the data traffic has completed sending and receiving or the communication simulation time has ended, NoC terminates the forwarding communication for the current task, summarizes and displays performance indicators such as overall packet sending and receiving rate, average latency, and port throughput.
[0091] This invention also provides a unicast / multicast forwarding and deadlock avoidance system for NoCs in irregular topologies, comprising the following modules:
[0092] The routing table generation module receives irregular topology information and determines the routing table for each router based on the information, which contains the shortest path.
[0093] The release path table generation module receives irregular topology information and determines the routers that need to be released and their corresponding release path tables based on the information.
[0094] The traffic generation module receives traffic configuration information and generates specific task traffic for NoC communication based on 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 the corresponding topology architecture, and performs task traffic communication according to routing forwarding rules, while performing periodic release to avoid deadlock.
[0096] Furthermore, in the routing table generation module, the generated routing table has the shortest path for each route as the source and destination, and includes the forwarding direction under the current node.
[0097] Furthermore, the release path table generation module only performs calculations for routers under the ring sub-topology, and the release path table includes the release period, release direction, and release order.
[0098] Furthermore, the traffic generation module includes configuration information such as the number of routing nodes, traffic probability, unicast / multicast data volume, packet size, and simulation time.
[0099] Furthermore, within the NoC architecture system module, the system first processes irregular topology information, configuring the overall NoC architecture and correctly connecting different routing ports based on the number of routing nodes, connection status, and port status. Next, it processes routing table information and release path information, locating the corresponding router based on its contents, configuring its local routing information, and enabling / disabling the release path. Routes under non-ring sub-topologies do not need to periodically follow the release path for forwarding, and within the release period, release forwarding has higher priority. After offline configuration is completed, data is generated based on task traffic information and forwarded within the NoC.
[0100] Those skilled in the art will understand that, besides implementing the system and its various devices, modules, and units provided by this invention in the form of purely computer-readable program code, the same functions can be achieved entirely through logical programming of the method steps, making the system and its various devices, modules, and units of this invention function in the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers. Therefore, the system and its various devices, modules, and units provided by this invention can be considered as a hardware component, and the devices, modules, and units included therein for implementing various functions can also be considered as structures within the hardware component; alternatively, the devices, modules, and units for implementing various functions can be considered as both software modules implementing the method and structures within the hardware component.
[0101] In the description of this application, it should be understood that the terms "upper", "lower", "front", "back", "left", "right", "vertical", "horizontal", "top", "bottom", "inner", "outer", etc., indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are only for the convenience of describing this application and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on this application.
[0102] Specific embodiments of the present invention have been described above. It should be understood that the present invention is not limited to the specific embodiments described above, and those skilled in the art can make various changes or modifications within the scope of the claims, which do not affect the essence of the present invention. Unless otherwise specified, the embodiments and features described in this application can be arbitrarily combined with each other.
Claims
1. A method for NoC unicast / multicast forwarding and deadlock avoidance in irregular topologies, characterized in that, include: Step S1: Use a routing table to route and forward communication data under irregular topology. Obtain irregular topology information offline and generate the corresponding routing table; construct a graph with edges for irregular topology information and represent the irregular topology information in matrix form; traverse the entire graph based on the breadth-first search algorithm and construct the shortest path for each routing node; generate a routing table that stores and forwards port information using inheritance relationships. Step S2: Use a periodic fixed forwarding release method to avoid deadlock and disrupt the circular data flow that causes deadlock; extract the circular sub-topology in the topology based on the irregular topology information, and generate a release path offline for each sub-topology. Configure the release time, corresponding release direction and release virtual channel for the routes under the circular sub-topology. Step S3: Construct a NoC interconnection system based on irregular topology information, and allocate additional space for each route to store the corresponding routing table; generate the corresponding NoC architecture in the simulator based on the number of routes, the number of ports of the routes, and the interconnection paths between routes, configure release path information for routers in the ring sub-topology, and configure a release period information globally. Step S4: Input the unicast and multicast data traffic of the task. Each router searches the routing table and forwards the data along the optimal path if port arbitration and virtual channel arbitration are permitted. Routers in the ring sub-topology periodically release the data traffic in the released virtual channel.
2. The method for NoC unicast / multicast forwarding and deadlock avoidance under irregular topology as described in claim 1, characterized in that, Step S1 includes: Step S1.1: Take the irregular topology information configuration file as input, which includes the number of topology routing nodes, the number of interconnection channels between routes, the interconnection route numbers stored in the form of edges, and the port information under the corresponding channels. Parse the configuration file to obtain the detailed topology architecture. Step S1.2: For each routing node, use the breadth-first search algorithm to reach 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 deeper levels, the port information of the parent node is inherited and stored. Finally, a routing table recording the forwarding ports is generated under irregular topology.
3. The method for NoC unicast / multicast forwarding and deadlock avoidance under irregular topologies according to claim 1, characterized in that, Step S2 includes: Step S2.1: Take the irregular topology information configuration file as input, including the number of topology routing nodes, the number of interconnection channels between routes, the interconnection route numbers stored in the form of edges, and the port information under the corresponding channel. Parse the configuration file to obtain the detailed topology architecture composition. Step S2.2: Use the Tarjan algorithm to calculate and obtain all the cyclic subtopologies in the topology, extract the largest cyclic subtopologies containing common edges and store them; Step S2.3: For the largest cyclic sub-topology sequence, a recursive tree search with an efficient structure is used to track the adjacency table of the routing nodes through a cyclic search algorithm. A corresponding release path table is generated for each largest cyclic sub-topology, including the release period, release direction and release order, and the path information is stored in the table.
4. The method for NoC unicast / multicast forwarding and deadlock avoidance under irregular topology as described in claim 1, characterized in that, Step S4 includes: Step S4.1: Inject task traffic, including unicast and multicast signals. Data traffic includes information, source node and destination node information. Under the router, the forwarding direction is determined according to the routing table information, and permission is determined through virtual channel arbitration and port arbitration. Step S4.2: After obtaining permission for data forwarding, the data is forwarded normally to the downstream route according to the forwarding direction, and the subsequent forwarding continues; if permission cannot be obtained temporarily, the data is temporarily stored in the cache of the corresponding port of the route. Step S4.3: The release period, release direction, and release order are configured for the ring sub-topology. When the release period has not been reached, each route of the NoC works normally. When entering the release period, routes under the ring subtopic follow the release order and direction, forwarding data sequentially from the selected virtual channels. If there is no data to forward in the current virtual channel, no arbitration is performed. The release period ends after all routes under the ring subtopic have finished releasing and forwarding. Routes under non-ring subtopics work normally during the release period. Step S4.4: When all task traffic has been forwarded or the simulation time has ended, the task ends. The overall packet transmission and reception rate, average latency, and port throughput performance indicators are statistically analyzed and displayed.
5. A NoC unicast / multicast forwarding and deadlock avoidance system under irregular topology, characterized in that, include: Routing table generation module: Receives irregular topology information and determines the routing table for the shortest path for each router based on the information; For irregular topology information, an edge-based graph is constructed, and the irregular topology information is represented in matrix form. The entire graph is traversed based on a breadth-first search algorithm, and the shortest path is constructed for each routing node. A routing table for storing and forwarding port information is generated using inheritance relationships. Release Path Table Generation Module: Receives irregular topology information, determines routers with release requirements and their corresponding release path tables based on the information; extracts ring sub-topologies from the irregular topology information, and generates release paths offline for each sub-topology; configures release time, corresponding release direction, and release virtual channel for routes under the ring sub-topology; allocates additional space for each route to store the corresponding routing table, configures release path information for routers under the ring sub-topology, and globally configures a release period. 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 corresponding topology architecture, and communicates task traffic according to routing forwarding rules, while performing periodic release to avoid deadlock; The simulator generates the corresponding NoC architecture based on the number of routes, the number of ports on the routes, and the interconnection paths between the routes. Each router will look up the routing table to forward data along the optimal path if port arbitration and virtual channel arbitration are permitted. At the same time, routers in the ring sub-topology will periodically release data traffic in the virtual channel.
6. The NoC unicast / multicast forwarding and deadlock avoidance system under irregular topology as described in claim 5, characterized in that, In the routing table generation module, the generated routing table has the shortest path for each route as the source and destination, and includes the forwarding direction under the current node.
7. The NoC unicast / multicast forwarding and deadlock avoidance system under irregular topology as described in claim 5, characterized in that, The release path table generation module only performs calculations for routers under the ring sub-topology, and the release path table includes the release period, release direction, and release order.
8. The NoC unicast / multicast forwarding and deadlock avoidance system under irregular topology as described in claim 5, characterized in that, The traffic generation module includes configuration information such as the number of routing nodes, traffic probability, unicast / multicast data volume, data packet size, and simulation time information.
9. The NoC unicast / multicast forwarding and deadlock avoidance system under irregular topology as described in claim 5, characterized in that, In the NoC architecture system module, the system first processes irregular topology information, configures the overall NoC architecture and correctly connects different routing ports based on the number of routing nodes, connection status, and port status. Then, it processes routing table information and release path information, locates the corresponding router based on the content, configures its local routing information and releases the release path. Routes under non-ring sub-topologies do not need to follow the release path for forwarding periodically, and release forwarding has higher priority within the release period. After offline configuration is completed, data is generated based on task traffic information and forwarded in the NoC.
Citation Information
Patent Citations
Routing system and communication method of network-on-chip
CN111245730A
Task-based heterogeneous CPU-GPU (Central Processing Unit-Graphics Processing Unit) on-chip network routing method, device and system and medium
CN118740709A