Routing rule determination method and device, system, device, equipment and storage medium
Through the simulation of the dynamic routing model, the static routing rules are generated and simulated, which solves the problem that the routing rules design in the existing technology is difficult to consider real-time data traffic and node conditions, and achieves efficient routing network transmission performance improvement.
Patent Information
- Application Number
- CN202411658762.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-19
- Publication Date
- 2025-03-11
AI Technical Summary
When designing routing rules in the prior art, it is difficult to effectively consider the real-time data traffic and node conditions in the routing network, resulting in poor adaptability of the routing network and poor transmission performance.
Dynamic routing simulation operations are performed through the dynamic routing model corresponding to the routing network, and simulated static routing rules are generated based on the simulation results, and applied to the routing network.
This method can quickly generate static routing rules suitable for the actual situation of the routing network without increasing hardware overhead, improving the transmission performance of the routing network.
Smart Images

Figure CN119598946A_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present disclosure relate to a method and apparatus, system, device, equipment and storage medium for determining routing rules. Background Art
[0002] With the development of contemporary semiconductor technology, the number of integrated processors, storage devices, and I / O devices in a single computer system is increasing. In order to meet the data transmission needs of these devices, routing networks responsible for on-chip network data transmission have emerged. Routing networks send data from one device to another according to specific routing rules (dynamic routing or static routing). Summary of the invention
[0003] At least one embodiment of the present disclosure provides a method for determining routing rules, the method comprising: performing a dynamic routing simulation operation through a dynamic routing model corresponding to a routing network; generating simulated static routing rules according to a simulation result of the dynamic routing simulation operation; and applying the simulated static routing rules to the routing network.
[0004] For example, the routing rule determination method provided in at least one embodiment of the present disclosure also includes: obtaining a dynamic routing model of the routing network; wherein the dynamic routing model includes multiple node modules, multiple connection relationship modules and multiple routing relationship modules corresponding to multiple routing nodes of the routing network; the multiple node modules are communicatively connected through multiple connection relationship modules, and the multiple node modules perform routing operations based on the dynamic routing rules provided by the multiple routing relationship modules.
[0005] For example, in the routing rule determination method provided by at least one embodiment of the present disclosure, a dynamic routing model of a routing network is obtained, including: multiple twin node modules, multiple twin connection modules and multiple twin routing relationship modules in a twin network model based on the routing network, which respectively correspond to multiple node modules, multiple connection relationship modules and multiple routing relationship modules of the dynamic routing model; the twin network model is configured with fixed routing rules.
[0006] For example, in the routing rule determination method provided by at least one embodiment of the present disclosure, multiple node modules are also configured to collect node port performance parameters relative to multiple twin node modules; multiple connection relationship modules are also configured to transmit network congestion information relative to multiple twin connection modules.
[0007] For example, in the routing rule determination method provided by at least one embodiment of the present disclosure, the plurality of connection relationship modules are further configured to provide an auxiliary network to transmit congestion information of the dynamic routing model.
[0008] For example, in the routing rule determination method provided by at least one embodiment of the present disclosure, the twin network model is a clock-accurate model.
[0009] For example, in the routing rule determination method provided in at least one embodiment of the present disclosure, a dynamic routing simulation operation is performed through a dynamic routing model corresponding to the routing network, including: providing a simulated data stream to the dynamic routing model so that the dynamic routing model performs a dynamic routing simulation operation on the simulated data stream.
[0010] For example, in the routing rule determination method provided by at least one embodiment of the present disclosure, providing a simulated data stream to a dynamic routing model includes: connecting the dynamic routing model to communication with multiple host modules and multiple slave modules; providing the simulated data stream to the dynamic routing model through multiple host modules, wherein each data packet in the simulated data stream is sent from one of the multiple host modules to one of the multiple slave modules.
[0011] For example, in the routing rule determination method provided by at least one embodiment of the present disclosure, a dynamic routing simulation operation is performed through a dynamic routing model corresponding to the routing network, and also includes: for a data packet from any of a plurality of host modules to any of a plurality of slave modules in a simulated data stream, the number of operations of each node module on each of its own ports is counted separately.
[0012] For example, in the routing rule determination method provided by at least one embodiment of the present disclosure, simulated static routing rules are generated according to the simulation results of the dynamic routing simulation operation, including: based on the number of operations of each node module for each port of itself, simulated static routing rules are generated, and the simulated static routing rules correspond to the static routing rules applied in the routing network.
[0013] At least one embodiment of the present disclosure also provides a routing rule determination device, which includes a simulation module, a generation module and a setting module. The simulation module is configured to perform dynamic routing simulation operations through a dynamic routing model corresponding to the routing network; the generation module is configured to generate simulated static routing rules based on the simulation results of the dynamic routing simulation operations; and the setting module is configured to use the simulated static routing rules for the routing network.
[0014] At least one embodiment of the present disclosure further provides an electronic device, comprising at least one storage unit and at least one processing unit, wherein the at least one storage unit is configured to store computer-executable instructions; the at least one processing unit is configured to execute computer-executable instructions, wherein when the computer-executable instructions are executed by the at least one processing unit, the routing rule determination method provided by any embodiment of the present disclosure is implemented.
[0015] At least one embodiment of the present disclosure further provides a computer system, which includes at least one host, at least one slave, and a routing network, wherein the host and the slave are configured to communicate through the routing network, the routing network is configured to operate using static routing rules, and the static routing rules are determined by simulated static routing rules obtained by the routing rule determination method provided by any embodiment of the present disclosure.
[0016] At least one embodiment of the present disclosure further provides an electronic device, which includes the computer system provided by any embodiment of the present disclosure or the electronic device provided by any embodiment of the present disclosure.
[0017] At least one embodiment of the present disclosure further provides a storage medium storing computer executable instructions, wherein when the computer executable instructions are executed by a processor, the routing rule determination method described in any of the above embodiments is implemented. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the drawings of the embodiments will be briefly introduced below. Obviously, the drawings in the following description only relate to some embodiments of the present disclosure, but are not intended to limit the present disclosure.
[0019] Figure 1 A schematic diagram of a routing network topology of an on-chip network is shown;
[0020] Figure 2A A schematic diagram of static routing of a routing network is shown;
[0021] Figure 2B A schematic diagram of static routing of a routing network is shown;
[0022] Figure 3 A dynamic routing diagram of a routing network is shown;
[0023] Figure 4 A flowchart of a method for determining a routing rule provided by at least one embodiment of the present disclosure is shown;
[0024] Figure 5 A schematic diagram of a twin network model of a routing network provided by at least one embodiment of the present disclosure is shown;
[0025] Figure 6 A schematic diagram showing a dynamic routing model corresponding to a routing network provided by at least one embodiment of the present disclosure;
[0026] Figure 7 A schematic diagram of routing simulation of a dynamic routing model provided by at least one embodiment of the present disclosure is shown;
[0027] Figure 8A schematic diagram of routing simulation of a dynamic routing model provided by at least one embodiment of the present disclosure is shown;
[0028] Fig. 9 A schematic diagram of a usage scenario of a dynamic routing model provided by at least one embodiment of the present disclosure is shown;
[0029] Fig.10 A block diagram of a routing rule determination device provided by at least one embodiment of the present disclosure is shown;
[0030] Fig.11 A block diagram of an electronic device provided by at least one embodiment of the present disclosure is shown;
[0031] Fig.12 A block diagram of a computer system provided by at least one embodiment of the present disclosure is shown;
[0032] Fig.13 A schematic diagram showing the structure of an electronic device provided by at least one embodiment of the present disclosure; and
[0033] Fig.14 A block diagram of a storage medium provided by at least one embodiment of the present disclosure is shown. DETAILED DESCRIPTION
[0034] In order to make the purpose, technical solution and advantages of the embodiments of the present disclosure clearer, the technical solution of the embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings of the embodiments of the present disclosure. Obviously, the described embodiments are part of the embodiments of the present disclosure, not all of the embodiments. Based on the described embodiments of the present disclosure, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present disclosure.
[0035] Unless otherwise defined, the technical terms or scientific terms used in the present disclosure should be understood by people with ordinary skills in the field to which the present disclosure belongs. The "first", "second" and similar words used in the present disclosure do not indicate any order, quantity or importance, but are only used to distinguish different components. Similarly, similar words such as "one", "one" or "the" do not indicate quantity restrictions, but indicate that there is at least one. Similar words such as "include" or "comprise" mean that the elements or objects appearing before the word cover the elements or objects listed after the word and their equivalents, without excluding other elements or objects. Similar words such as "connect" or "connected" are not limited to physical or mechanical connections, but can include electrical connections, whether direct or indirect. "Up", "down", "left", "right" and the like are only used to indicate relative positional relationships. When the absolute position of the described object changes, the relative positional relationship may also change accordingly.
[0036] The present disclosure is described below through several specific embodiments. In order to keep the following description of the embodiments of the present disclosure clear and concise, the present disclosure omits the detailed description of known functions and known components. When any component of the embodiments of the present disclosure appears in more than one figure, the component is represented by the same or similar reference numeral in each figure.
[0037] The terms used in the present disclosure are those common terms currently widely used in the art in consideration of the functions of the present disclosure, but these terms may vary according to the intention of a person of ordinary skill in the art, precedents, or new technologies in the art. In addition, specific terms may be selected by the applicant, and in this case, their detailed meanings will be described in the detailed description of the present disclosure. Therefore, the terms used in the specification should not be understood as simple names, but rather as an overall description based on the meaning of the terms and the present disclosure.
[0038] Flowcharts are used in this disclosure to illustrate the operations performed by the system according to the embodiments of the present application. It should be understood that the preceding or following operations are not necessarily performed precisely in order. On the contrary, various steps may be processed in reverse order or simultaneously as required. At the same time, other operations may also be added to these processes, or one or more operations may be removed from these processes.
[0039] Network on Chip (NOC) is a communication architecture for on-chip integrated circuits, specifically used to connect various functional modules and processor cores inside the chip to achieve internal chip communication. NOC is, for example, a routing network used to transmit data and control signals inside the chip. NOC can provide high-bandwidth, low-latency and reliable communication mechanisms to support the communication needs between various functional modules in multi-core processors and large-scale integrated circuits.
[0040] Currently, with the development of computer and chip technologies, higher requirements are placed on the routing performance of routing networks in on-chip networks. Improving the flexibility of routing rules can improve the transmission performance of routing networks, thereby improving system response speed.
[0041] Figure 1 A schematic diagram of a routing network topology of an on-chip network is shown.
[0042] like Figure 1 The on-chip network shown includes multiple master devices M, multiple slave devices S, and a routing network for communicatively connecting the multiple master devices M and the multiple slave devices S, the routing network includes multiple routing nodes R, these routing nodes R are communicatively connected to each other, each master device M is respectively connected to a routing node, and each slave device S is respectively connected to a routing node, wherein the master device ML1 is one of the multiple master devices M, the master device ML2 is another master device among the multiple master devices M except the master device ML1; the slave device SL1 is a target slave device among the multiple slave devices S, the slave device SL2 is another target slave device among the multiple slave devices S except the slave device SL1; the multiple routing nodes RL1 are multiple routing nodes among the multiple routing nodes R that constitute the routing path L1, and the multiple routing nodes RL2 are multiple routing nodes among the multiple routing nodes R that constitute the routing path L2.
[0043] The above-mentioned network on chip has a mesh routing network topology structure, and at least one of the multiple master devices M issues an access request to at least one target slave device among the multiple slave devices S. The access request passes through one or more routing nodes R from the master device that issues the access request to the target slave device. In this process, all routing nodes that the access request passes through generate a routing path (Route) from the corresponding master device to the target slave device, and each routing node R determines the order of issuing the access request through multiple routing nodes R and the transmission link (Link) according to the routing rules configured in the routing network.
[0044] For example, the routing rule in the routing network may be the sum of the routing determination methods of each routing node in the plurality of routing nodes R.
[0045] For example, each routing node has multiple ports for communicating with its adjacent routing nodes, thereby forming a Figure 1 The mesh topology shown.
[0046] For example, after the master device ML1 sends an access request to the slave device SL1, each routing node through which the access request passes makes a routing judgment independently to decide through which port of its own the access request is transmitted to the corresponding connected (downstream) routing node, thereby determining the transmission link (Link) of each routing node. The transmission links of the multiple routing nodes RL1 through which the access request passes constitute the routing path L1 for the master device ML1 to access the slave device SL1 in the above-mentioned routing network.
[0047] After the master device ML2 sends an access request to the slave device SL2, any routing node RL2 through which the access request passes can decide through which port of its own the access request is transmitted to the corresponding connected (downstream) routing node based on its own routing judgment rules, thereby determining the transmission link (Link) of each routing node. The transmission links of the multiple routing nodes RL2 through which the access request passes constitute the routing path L2 for the master device ML2 to access the slave device SL2 in the above-mentioned routing network.
[0048] Figure 2A A schematic diagram of static routing in a routing network is shown.
[0049] like Figure 2A The network on chip shown includes multiple master devices M, multiple slave devices S, and multiple routing nodes R in the routing network. Multiple routing nodes RL3 are multiple routing nodes in the multiple routing nodes R that constitute the routing path L3, and multiple routing nodes RL4 are multiple routing nodes in the multiple routing nodes R that constitute the routing path L4. The routing rules in the routing network are static routing rules, and each routing node in the routing network follows a fixed routing judgment rule. For example, each routing node follows the routing judgment rule of horizontal transmission first and then vertical transmission.
[0050] For example, when the master device ML3 among the multiple master devices M sends an access request to the slave device SL3 among the multiple slave devices S, the routing node RL3 connected to the master device ML3 will first determine whether there is a next routing node or slave device SL3 in the horizontal transmission link. If there is a next routing node or slave device SL3, the access request sent by the master device ML3 will be horizontally transmitted; if not, it will be vertically transmitted until the access request is transmitted to the slave device SL3. The transmission links of the multiple routing nodes RL3 through which the access request passes constitute the routing path L3 for accessing the slave device SL3 from the master device ML3.
[0051] For example, when the master device ML4 sends an access request to the slave device SL4, the routing node RL4 connected to the master device ML4 will follow the routing judgment rule of horizontal transmission first and then vertical transmission. The transmission links of multiple routing nodes RL4 through which the access request passes constitute the routing path L4 for the master device ML4 to access the slave device SL4.
[0052] Figure 2B A schematic diagram of static routing in a routing network is shown.
[0053] like Figure 2B The network on chip shown includes multiple master devices M, multiple slave devices S and multiple routing nodes R in the routing network, and the multiple routing nodes RL5 are multiple routing nodes in the multiple routing nodes R that constitute the routing path L5. The routing rules in the routing network are static routing rules. The routing judgment rules of the multiple routing nodes R in the routing network are implemented by a pre-configured lookup table (routing table). After receiving an access request, each routing node R performs routing judgment by querying the lookup table according to the information in the access request to determine which transmission link to use. Multiple routing nodes can use the same lookup table, or multiple routing nodes can use different lookup tables. For example, the lookup table can be implemented by a logic structure with multiple address bit inputs and a single output, or it can be implemented by a programmable logic circuit. The lookup table can use the routing destination as an index, and the output value of the lookup table corresponding to the index can be set one by one according to the slave device.
[0054] For example, when a master device ML5 among multiple master devices M sends an access request to a slave device SL5 among multiple slave devices S, the routing node RL5 connected to the master device ML5 will index according to the lookup table set by itself, thereby determining the next routing node to which the access request is transmitted; the next routing node will also index according to the lookup table set by itself, and so on, until the access request sent by the master device ML5 is transmitted to the slave device SL5. The transmission links of the multiple routing nodes RL5 through which the access request passes constitute the routing path L5 for the master device ML5 to access the slave device SL5.
[0055] The static routing rules of the above routing network have the problem of routing without considering the real-time data traffic in the routing network or other situations related to the routing nodes. For example, when an access request sent to a certain slave device enters the routing node, the routing node will make a fixed judgment based on the set routing judgment rules, for example, the access request will be transmitted to a fixed routing node. This may lead to the situation in actual application that some routing nodes already have a backlog of access requests to be transmitted while other routing nodes are idle, which makes the adaptability of the routing network worse and the transmission performance of the routing network is poor.
[0056] If the requirement is such as the above Figure 2A and Figure 2BIf the static routing rules are designed considering the actual application scenarios, it will take a lot of time and manpower to make an ideal static routing rule. In addition, due to the overall topological complexity of the on-chip network, even if a lot of time and manpower are spent, it is still impossible to come up with an ideal static routing rule.
[0057] Figure 3 A dynamic routing schematic diagram of a routing network is shown.
[0058] like Figure 3 The network on chip shown includes multiple master devices M, multiple slave devices S and multiple routing nodes R in the routing network, and the multiple routing nodes RL6 are multiple routing nodes constituting the routing path L6 in the multiple routing nodes R. The routing rules in the routing network are dynamic routing rules. The routing judgment rule of each routing node R in the routing network is configured to dynamically perform routing judgment according to the congestion situation in the routing network, so that the next routing node of the current access request can be dynamically determined according to the congestion situation on the network.
[0059] For example, any one of the master devices ML6 among the multiple master devices M sends an access request to any one of the slave devices SL6 among the multiple slave devices S. When the routing node RL6 connected to the master device ML6 receives the access request, it determines which routing node connected to it to transmit the access request based on the congestion situation on the network. For example, if the routing node RL6 connected to the master device ML6 determines that there is congestion in the horizontal transmission link (Link), it will transmit the access request to the routing node on the vertical transmission link, and so on, until the access request sent by the master device ML6 is transmitted to the slave device SL6. The transmission links of the multiple routing nodes RL6 through which the access request passes constitute the routing path L6 for the master device ML6 to access the slave device SL6.
[0060] Under the above dynamic routing rules, each routing node in the routing network can, for example, at least receive network congestion information fed back by other vector routing nodes, and make routing decisions based on the network congestion information, thereby determining the transmission link selection for a certain routing request.
[0061] The setting of dynamic routing rules of the above routing network usually requires each routing node to collect congestion information, transmit congestion information, and make routing decisions based on congestion feedback to determine the next routing node. Although this takes into account the congestion situation that occurs in actual application scenarios, it will lead to difficulties in building routing networks and high hardware costs.
[0062] At least one embodiment of the present disclosure provides a method for determining routing rules, including: performing a dynamic routing simulation operation through a dynamic routing model corresponding to a routing network; generating simulated static routing rules according to the simulation results of the dynamic routing simulation operation; and applying the simulated static routing rules to the routing network.
[0063] In the routing rule determination method of the above-mentioned embodiment of the present disclosure, since a dynamic routing model is used for simulation, the process of obtaining simulated static routing rules can be automatically completed in the model simulation, saving manpower and time investment; and the process of generating simulated static routing rules through dynamic routing simulation operations is fast; the simulated static routing rules obtained by simulation are used for the routing network, so that there is no need to increase hardware overhead, and the actual situation on the routing network can be taken into account while adopting static routing rules, thereby improving the transmission performance of the routing network.
[0064] Various embodiments of the present disclosure will be described below with reference to specific examples.
[0065] Figure 4 A flowchart of a method for determining a routing rule provided by at least one embodiment of the present disclosure is shown.
[0066] like Figure 4 As shown, in some embodiments of the present disclosure, the routing rule determination method includes steps S30-S32.
[0067] Step S30: performing a dynamic routing simulation operation through a dynamic routing model corresponding to the routing network.
[0068] The dynamic routing model is used to perform dynamic routing simulation operations. It is generated according to the routing network to which the static routing rules are to be adapted, and the dynamic routing model corresponds to the network topology of the routing network to be simulated. The dynamic routing model corresponding to the routing network can be used to simulate various situations that may occur in the routing network. How to obtain the dynamic routing model will be described below.
[0069] For example, the dynamic routing model can simulate one or more situations in the routing network, such as routing priority simulation, routing transmission signal change simulation, or routing transmission congestion simulation.
[0070] For example, the dynamic routing model can simulate one or more network parameters in the routing network, such as simulating transmission delay, simulating transmission rate and throughput, etc.
[0071] It should be noted that the above embodiments of the present disclosure do not limit the situations and network parameters that can be simulated by the dynamic routing model. The above dynamic routing model can be any type of dynamic routing model, for example, it can be a hardware-type dynamic routing model circuit, or it can be a software-type dynamic routing model (for example, implemented by hardware description language (HDL) or similar programming language), and the embodiments of the present disclosure do not limit this.
[0072] In some embodiments of the present disclosure, step S30 in the above-mentioned routing rule determination method includes step S301.
[0073] Step S301: providing a simulated data flow to a dynamic routing model, so that the dynamic routing model performs a dynamic routing simulation operation on the simulated data flow.
[0074] For example, the simulated data flow may be generated based on a workload related to a business scenario of the routing network in an actual application. For example, the workload includes the amount of data exchange that the routing network needs to complete in order to complete a certain computing task.
[0075] For example, the simulated data stream may include one or more packets. The dynamic routing model may transmit the provided simulated data stream in packets, and each routing node performs routing operations on each received packet according to the routing rules in the dynamic routing model, thereby performing dynamic routing simulation operations on the simulated data stream.
[0076] For example, a simulated data stream that is completely or at least partially consistent with the data to be transmitted in the routing network can be provided to the dynamic routing model. By performing dynamic routing simulation operations on the simulated data stream related to the data to be transmitted in the routing network, the situation when the routing network transmits the data to be transmitted can be better simulated, which can be used to guide the actual routing of the routing network.
[0077] Step S31: Generate simulated static routing rules according to the simulation results of the dynamic routing simulation operation.
[0078] After the dynamic routing simulation operation of a predetermined length of time, a dynamic simulation result is obtained. For example, the simulation result may be a characterization of the transmission of the simulated data flow in the routing network in the dynamic routing model. For example, the simulation result may be the transmission delay and bandwidth usage, packet loss rate, throughput, etc. of the simulated data flow in the dynamic routing model, and the above embodiments of the present disclosure are not limited to this.
[0079] Therefore, a simulated static routing rule can be generated according to the simulation result of the above dynamic routing simulation operation.
[0080] Step S32: Using simulated static routing rules for routing the network.
[0081] The simulated static routing rules generated by performing dynamic routing simulation operations on the dynamic routing model are used on the routing network corresponding to the dynamic routing model.
[0082] For example, the simulated static routing rules are used in the actual routing network, and the routing judgment rules of each routing node can be configured respectively according to the simulated static routing rules. For example, the generated simulated static routing rules can be directly used as the static routing rules of the routing network. The embodiments of the present disclosure do not limit this.
[0083] For example, the simulated static routing rules generated by the dynamic routing model simulation include the simulated static node routing rules of each node module in the dynamic routing model. For example, the routing judgment rules of each routing node in the routing network can be configured according to the simulated static node routing rules corresponding to each node module, so as to determine the static routing rules of the routing network according to the routing judgment rules of each routing node.
[0084] By utilizing a dynamic routing model corresponding to a routing network, simulated static routing rules are generated for the routing network so that the routing network can perform routing according to the simulated static routing rules. This makes it possible for the routing network to not only avoid increasing hardware overhead but also take into account the actual situation on the routing network while adopting static routing rules for fast routing, thereby improving the transmission performance of the routing network.
[0085] In some embodiments of the present disclosure, the above-mentioned routing rule determination method also includes step S20.
[0086] Step S20: Acquire a dynamic routing model of the routing network.
[0087] In at least one embodiment, the dynamic routing model includes multiple node modules corresponding to multiple routing nodes of the routing network, multiple connection relationship modules and multiple routing relationship modules; the multiple node modules are communicatively connected through the multiple connection relationship modules, and the multiple node modules perform routing operations based on the dynamic routing rules provided by the multiple routing relationship modules.
[0088] The routing network includes multiple routing nodes, each routing node correspondingly has a transmission link (Link) connecting an adjacent routing node. For example, each routing node stores a routing judgment rule for the routing node to perform routing judgment and thereby determine a routing path.
[0089] As a hardware circuit design of modern computing systems, routing networks can be implemented using a synchronous design method. In this design method, the data transmission state is separated by each clock cycle, which can be specifically represented by the value of each signal in each clock cycle.
[0090] For example, a dynamic routing model in hardware form may be obtained from a technical project related to routing network design and implementation.
[0091] The dynamic routing model includes multiple node modules corresponding to multiple routing nodes of the routing network, multiple connection relationship modules and multiple routing relationship modules. The multiple node modules correspond to the settings of the routing nodes of the routing network, the multiple connection relationship modules correspond to the settings of multiple transmission links corresponding to the multiple routing nodes, and the multiple routing relationship modules correspond to the settings of the routing relationships in the multiple routing nodes.
[0092] In the dynamic routing model, multiple node modules are communicatively connected through multiple connection relationship modules, and the multiple node modules respectively perform routing judgment based on dynamic routing rules provided by multiple routing relationship modules.
[0093] It should be noted that the multiple routing nodes in the routing network are arranged according to a certain topological structure, wherein the topological structure is used in the on-chip network to represent the physical layout and connection between the routing nodes. For example, the routing network can be a mesh topology, a star topology, a triangle topology, etc., and the embodiments of the present disclosure are not limited to this.
[0094] In some embodiments of the present disclosure, step S20 in the above-mentioned routing rule determination method includes step S201.
[0095] Step S201: Based on multiple twin node modules, multiple twin connection modules and multiple twin routing relationship modules in the twin network model of the routing network, multiple node modules, multiple connection relationship modules and multiple routing relationship modules of the dynamic routing model are obtained respectively.
[0096] In an embodiment of the present disclosure, the twin network model is configured with fixed routing rules.
[0097] The twin network model of the routing network is a twin network model with the same topology as the routing network on the one hand, and is configured with fixed routing rules on the other hand. For example, the fixed routing rules configured by the twin network model are the same as the static routing rules configured by the routing network. The twin network model can be a hardware circuit with the same hardware connection as the routing network, or a software model with the same topology as the routing network.
[0098] For example, multiple twin node modules in a twin network model are set the same as multiple routing nodes in a routing network, multiple twin connection modules in a twin network model are set the same as multiple transmission links in a routing network, and multiple twin routing relationship modules in a twin network model are set the same as routing relationships in multiple routing nodes in a routing network. For example, the twin node routing rules of multiple twin node modules in a twin network model are the same as the routing judgment rules of multiple routing nodes in a routing network.
[0099] By setting the twin network model, a dynamic routing model can be obtained. The multiple node modules of the dynamic routing model correspond to the multiple twin node modules in the twin network model, the multiple connection relationship modules of the dynamic routing model correspond to the multiple twin connection modules in the twin network model, and the multiple routing relationship modules of the dynamic routing model correspond to the multiple twin routing relationship modules in the twin network model.
[0100] Figure 5 A schematic diagram of a twin network model of a routing network provided by at least one embodiment of the present disclosure is shown.
[0101] like Figure 5 As shown, the on-chip network corresponding to the twin network model includes multiple host modules M0-M5 (Master), multiple slave modules S0-S5 (Slave), and multiple twin node modules R00-R08 of the twin network model. Multiple host modules M0-M5 are connected to multiple slave modules S0-S5 through multiple twin node modules R00-R08 of the twin network model. The connection relationship between multiple host modules M0-M5 and multiple slave modules S0-S5 and the twin network model is the same as the connection relationship between the routing network with the same topology and multiple hosts and multiple slaves. For example, the on-chip network is implemented by software to perform simulation operations.
[0102] Multiple host modules M0~M5 can be request ends. For example, multiple host modules S0~S5 can be used to simulate a processor (or processor core), various controllers (such as direct memory access (DMA) controller, etc.) or input and output interface (IO) and any other device that can issue an access request. The present disclosure does not limit this.
[0103] Multiple slave modules S0~S5 can be receiving ends. For example, multiple slave modules M0~M5 can be used to simulate multiple storage modules (banks), caches, first-level caches or higher-level caches (such as last-level caches (LLC)), etc., any device that can accept and respond to access requests.
[0104] The multiple twin node modules R00~R08 are configured the same as the multiple routing nodes in the corresponding routing network. For example, the twin node routing rules configured in the multiple twin node modules R00~R08 are the same as the routing judgment rules configured in the corresponding multiple routing nodes.
[0105] Figure 6 A schematic diagram of a dynamic routing model corresponding to a routing network provided by at least one embodiment of the present disclosure is shown.
[0106] like Figure 6 As shown, the on-chip network includes multiple data flow generation modules T0-T5, multiple host modules M0-M5 (Master), multiple slave modules S0-S5 (Slave) and multiple node modules R0-R8 of the dynamic routing model. Here, each of the multiple node modules R0-R8 has at least one node port. Similarly, the on-chip network is implemented by software to perform simulation operations.
[0107] In some embodiments of the present disclosure, the multiple node modules in the above-mentioned routing rule determination method are also configured to collect node port performance parameters relative to the multiple twin node modules, and the multiple connection relationship modules are also configured to transmit network congestion information relative to the multiple twin connection modules.
[0108] In some embodiments of the present disclosure, Figure 6 The dynamic routing model corresponding to the routing network shown is based on Figure 5 The twin network model of the routing network shown is configured to obtain, for example, a dynamic routing model is obtained by configuring at least one of configurations 1 to 4.
[0109] Configuration 1: Figure 5 The multiple host modules M0~M5 are respectively configured to connect to multiple data flow generation modules T0~T5, and the multiple data flow generation modules T0~T5 are respectively configured with data flow generation code modules 301. The data flow generation code module 301 is used to generate the simulated data flow required by the dynamic routing model according to the simulation operation performed on the routing network as needed.
[0110] Configuration 2: Figure 5The multiple twin node modules R00~R08 in the network respectively correspond to the configuration of the routing code module 303 to obtain multiple node modules R0~R8 of the dynamic routing model. The routing code module 303 is used to collect the network status information of the current node module in the multiple node modules R0~R8, for example, to collect the congestion information of the multiple node modules R0~R8. For example, the multiple node modules are also configured to collect node port performance parameters relative to the multiple twin node modules, for example, to collect port performance parameters related to congestion information. For example, the port performance parameters may include the storage space of the port, the port queue length, etc., which is not limited in the present disclosure.
[0111] Configuration 3: Figure 5 The multiple twin connection modules corresponding to the multiple twin node modules R00~R08 in the example respectively correspond to the connection relationship code module 302 to obtain multiple connection relationship modules of the dynamic routing model. The connection relationship code module 302 is used to transmit the network status information in the multiple node modules R0~R8, for example, to transmit the congestion information of the multiple node modules R0~R8. For example, the multiple connection relationship modules are also configured to transmit the congestion information of the network relative to the multiple twin connection modules, for example, to transmit the port performance parameters of the adjacent nodes of the current node related to the congestion information.
[0112] For example, the above-mentioned dynamic routing model is a software model. The connection relationship code module 302 can use the data transmission network function in the software model to realize the transmission of congestion information in the dynamic routing model through function calls, and does not need to actually transmit the congestion information in the model, thereby realizing delay-free congestion information transmission in the dynamic routing model.
[0113] Configuration 4: Figure 5 The multiple twin routing relationship modules corresponding to the multiple twin node modules R00-R08 are respectively configured with routing relationship code modules 304 to obtain multiple routing relationship modules. The routing relationship code module 304 is used to make routing judgments based on the network status information feedback from the multiple node modules R0-R8, for example, to make routing judgments based on the congestion information feedback from the multiple node modules R0-R8.
[0114] It should be noted that although the four exemplary configuration items of configuration 1 to configuration 4 are listed above, more exemplary configuration items can also be used when the dynamic routing model needs to be more finely configured, and the present disclosure does not limit the number of configuration items. In addition, although configuration 1 to configuration 4 are listed in sequence, this does not limit the order of configurations, and the order of configurations can be determined arbitrarily as needed.
[0115] In some embodiments of the present disclosure, the multiple connection relationship modules in the above-mentioned routing rule determination method are further configured to provide an auxiliary network to transmit congestion information of the dynamic routing model.
[0116] For example, the connection relationship code module 302 can be used to determine whether it is necessary to establish an additional auxiliary network for transmitting network status information. For example, the twin network model is a hardware circuit corresponding to the routing network, and the above configuration items can also include configuration 5.
[0117] Configuration 5: Figure 5 The multiple twin connection modules corresponding to the multiple twin node modules R00-R08 can respectively provide auxiliary networks, which can be used to transmit network information of the dynamic routing model, such as congestion information. Thus, the multiple connection relationship modules of the dynamic routing model can transmit the congestion information of the dynamic routing model through the provided auxiliary network.
[0118] In some embodiments of the present disclosure, the twin network model is a clock accurate model. A clock accurate model is a software simulation model based on the internal logical relationship of a hardware circuit. For example, a clock accurate model can be constructed through a clock accurate modeling platform or using high-level programming languages such as C++, SystemC, and Java.
[0119] Using the clock-accurate model as the twin network model corresponding to the routing network can accurately simulate the changing states of each routing node and each transmission link in the routing network within each clock cycle without adding any hardware logic overhead, thereby more accurately reproducing the operation process of the hardware circuit and achieving the purpose of evaluating the performance of the corresponding routing network through the clock-accurate model.
[0120] For example, after the configurations 1 to 4 above are performed on the clock precision model, a dynamic routing model based on the clock precision model is obtained. A simulated data stream can be generated according to the workload related to the business scenario actually applied in the routing network, and input into the dynamic routing model to perform dynamic routing simulation operations.
[0121] For example, after collecting the congestion information of all node modules of the dynamic routing model, the routing relationship code module 304 in the multiple routing relationship modules can determine the congestion status of the current node module based on the congestion information of the current node module. Thus, when a data packet of a simulated data stream reaches the current node module, the current node module can determine which connection relationship module to forward the data packet to and to which adjacent node module.
[0122] In some embodiments of the present disclosure, step S301 in the above-mentioned routing rule determination method includes step S3011 and step S3012.
[0123] Step S3011: connect the dynamic routing model to communicate with multiple host modules and multiple slave modules.
[0124] Step S3012: providing the simulated data stream to the dynamic routing model through the plurality of host modules, wherein each data packet in the simulated data stream will be sent from one of the plurality of host modules to one of the plurality of slave modules.
[0125] refer to Figure 6 As shown, after the dynamic routing model is obtained, the dynamic routing model can be communicatively connected with a plurality of host modules M0-M5 and a plurality of slave modules S0-S5.
[0126] The plurality of data flow generation modules T0-T5 provide simulated data flows to the dynamic routing model through the plurality of host modules M0-M5, wherein each data packet in the simulated data flows is sent from one of the plurality of host modules M0-M5 to one of the plurality of slave modules S0-S5.
[0127] For example, the simulated data stream includes a plurality of packets. After each packet in the simulated data stream is sent from one of the plurality of host modules to one of the plurality of slave modules, the sending of the simulated data stream is completed.
[0128] For example, the data stream generation module T2 sends a simulated data stream to a slave module S2, one of the multiple slave modules S0 to S5, through a host module M2, one of the multiple host modules M0 to M5. For any data packet in the simulated data stream, the dynamic routing model sends it in the order of the following data packet sending process:
[0129] First, the node module R2 connected to the host module M2 performs routing judgment according to the corresponding routing relationship module to determine the next node module R1 to send the data packet;
[0130] Second, the node module R1 performs routing judgment according to the corresponding routing relationship module and determines the next node module R4 to send the data packet;
[0131] Third, the node module R4 performs routing judgment according to the corresponding routing relationship module and determines the next node module R3 to send the data packet;
[0132] Fourth, the node module R3 performs routing judgment according to the corresponding routing relationship module and determines the next node module R6 to send the data packet;
[0133] Fifth, the node module R3 performs routing judgment according to the corresponding routing relationship module and transmits the data packet to the slave module S2.
[0134] The above sending steps are repeated until all data packets in the simulated data stream are sent.
[0135] For example, the routing path (Route) from the host module M2 to the slave module S2 may be determined based on all the node modules that the data packet passes through from the host module M2 to the slave module S2.
[0136] In some embodiments of the present disclosure, step S30 in the above-mentioned routing rule determination method further includes step S302.
[0137] Step S302: for a data packet from any of the plurality of host modules to any of the plurality of slave modules in the simulated data flow, count the number of operations of each node module on each of its own ports.
[0138] Figure 7 A routing simulation schematic diagram of a dynamic routing model provided by at least one embodiment of the present disclosure is shown.
[0139] like Figure 7 As shown, the data stream generating module T2 sends a simulated data stream to a slave module S2 which is one of the multiple slave modules S0 - S5 through a host module M2 which is one of the multiple host modules M0 - M5 , wherein the simulated data stream includes multiple data packets.
[0140] For example, for the dynamic routing model, the routing relationship module corresponding to each node module is used to perform routing judgment on the data flow situation on the current network, and determine the connection relationship module and the next node module through which the data packet is transmitted.
[0141] For example, the simulated data stream generated by the data stream generation module T2 and sent from the host module M2 to the slave module S2 includes 47,000 data packets. For example, each of the 47,000 data packets can be sent in the order of the above data packet sending process.
[0142] For example, after completing the sending of the above 47,000 data packets, the number of times the connection relationship module between each two adjacent node modules in the dynamic routing model passes is counted. For example, the data flow situation on the network in the dynamic routing model can be obtained by counting the number of times all connection relationship modules in the dynamic routing model pass.
[0143] For example, in the process of data packet transmission by each node module, each node module operates its own different ports to determine the next node module corresponding to the port by performing routing judgment.
[0144] For example, after completing the sending of the above 47,000 data packets, the number of times the connection relationship module passes through each adjacent node module in the dynamic routing model can be counted by counting the number of operations of each port of each node module. For example, according to the number of operations of each port of each node module in the dynamic routing model, the data flow on the network in the dynamic routing model is determined. Among them, the sum of the number of data packets received by each port of each node module is equal to the sum of the number of data packets sent out by each port of the corresponding node module.
[0145] For example, the data traffic on the network in the dynamic routing model is as follows:
[0146] For node module R2, the number of port operations sent to node module R1 is 25,000 times, and the number of port operations sent to node module R5 is 22,000 times;
[0147] For node module R1, the number of port operations sent to node module R4 is 20,000 times, and the number of port operations sent to node module R0 is 5,000 times;
[0148] For node module R5, the number of port operations sent to node module R4 is 12,000 times, and the number of port operations sent to node module R8 is 10,000 times;
[0149] For node module R4, the number of port operations sent to node module R3 is 28,000 times, and the number of port operations sent to node module R7 is 4,000 times;
[0150] For node module R0, the number of port operations sent to node module R3 is 5000;
[0151] For node module R8, the number of port operations sent to node module R3 is 28,000 times, and the number of port operations sent to node module R7 is 4,000 times;
[0152] For node module R3, the number of port operations sent to node module R6 is 33,000;
[0153] For node module R7, the number of port operations sent to node module R6 is 14,000; and
[0154] For the node module R6, the number of port operations sent to the slave module S2 is 47,000.
[0155] It should be noted that, although the above example takes the simulated data flow sent from the host module M2 to the slave module S2 as an example to count the data flow on the network in the dynamic routing model, the above example does not limit the number of operations of each node to the simulated data flow from the same host to the same slave. For multiple simulated data flows from different hosts to different slaves, the number of port operations of the node module can be counted in the above manner to determine the data flow on the network in the dynamic routing model.
[0156] In some embodiments of the present disclosure, step S31 in the above-mentioned routing rule determination method includes step S311.
[0157] Step S311: Generate simulated static routing rules based on the number of operations of each node module on each port thereof, where the simulated static routing rules correspond to the static routing rules applied in the routing network.
[0158] For example, based on the number of operations of multiple data packets in the simulated data flow on each port of each node module itself, the routing judgment rules of the routing relationship module corresponding to each node module can be determined, thereby determining the routing path of the simulated data flow in the dynamic routing model.
[0159] For example, the routing path of the simulated data flow is determined according to the ports whose corresponding operation times of the node modules in the path meet certain operation times conditions. In the simulation operation, the number of operations is usually required to be large enough, however, the embodiments of the present disclosure do not limit the operation times conditions.
[0160] For example, the routing path of each simulated data flow is determined according to the number of operations of each node module on its own ports in each simulated data flow path. According to the routing path of each simulated data flow in the dynamic routing model, the routing judgment rules of the routing relationship module corresponding to each node module are configured. According to the routing judgment rules of each routing relationship module in the dynamic routing model, simulated static routing rules are generated.
[0161] Figure 8 A routing simulation schematic diagram of a dynamic routing model provided by at least one embodiment of the present disclosure is shown.
[0162] like Figure 8 As shown, for the host module M2 to send the simulated data stream to the slave module S2, the host module M2 first sends the simulated data stream to the node module R2.
[0163] For example, the routing path of the simulated data flow can be determined according to the port with the largest number of operations corresponding to the node module in the path of the simulated data flow. For example, the path selection of the node module can be determined according to the port with the largest number of operations corresponding to the node module in the path; the routing path of the simulated data flow can be determined according to the path selection of all node modules in the path of the simulated data flow.
[0164] For example, for the simulated data flow sent from the host module M2 to the slave module S2, the path selection of each node module along the way is as follows:
[0165] For node module R2, since the number of operations sent to the port of node module R1 is 25,000, which is greater than the number of operations sent to the port of node module R5, which is 22,000, the number of operations sent to the port of node module R1 is the largest, and the path selection of node module R2 is determined as: node module R2—node module R1;
[0166] For node module R1, since the number of port operations sent to node module R4 is 20,000 times, which is greater than the number of port operations sent to node module R0, which is 5,000 times, the number of operations sent to the port of node module R4 is the largest, and the path selection of node module R1 is determined as: node module R1—node module R4;
[0167] For node module R4, since the number of port operations sent to node module R3 (28,000 times) is greater than the number of port operations sent to node module R7 (4,000 times), the number of operations sent to the port of node module R3 is the largest, and the path selection of node module R4 is determined as: node module R4—node module R3;
[0168] For node module R3, since only the number of port operations sent to node module R6 is 33,000, the number of operations sent to the port of node module R6 is the largest. Therefore, the path selection of node module R3 is determined as: node module R3—node module R6;
[0169] For the node module R6, since it can be sent directly to the slave module S2, and the maximum number of operations sent to the port of the slave S2 is 47,000, the path selection of the node module R6 is: node module R6—slave module S2.
[0170] Therefore, for the simulated data stream sent by the host module M2 to the slave module S2, the routing path of the simulated data stream sent by the host module M2 to the slave module S2 can be determined according to the path selection of the node modules in the above-mentioned paths: host module M2—node module R2—node module R1—node module R4—node module R3—node module R6—slave module S2.
[0171] For example, the routing judgment rules of the routing relationship modules corresponding to the node modules of the corresponding paths can be configured according to the routing paths in the dynamic routing model. For example, the routing relationship modules corresponding to the node modules of the simulated data flow path sent by the host module M2 to the slave module S2 are configured as follows: node module R2 is routed to node module R1, node module R1 is routed to node module R4, node module R4 is routed to node module R3, node module R3 is routed to node module R6, and node module R6 is routed to the slave module S2.
[0172] For example, for the simulated data flow sent from the host module M2 to the slave module S2, a simulated static routing rule for the simulated data flow sent from the host module M2 to the slave module S2 can be generated according to the routing judgment rule of the routing relationship module in the dynamic routing model.
[0173] It should be noted that for each simulated data flow from any of the multiple host modules to any of the multiple slave modules, a routing path can be obtained in the above manner. According to the path selection of each simulated data flow in each node module, the routing judgment rules of the routing relationship modules corresponding to each node module in the routing network are configured, so that the generated simulated static routing rules can obtain routing rules with effects close to dynamic routing.
[0174] Using the generated simulated static routing rules on the actual routing network can avoid increasing hardware overhead and take into account the actual situation on the routing network while adopting static routing rules, achieving an effect similar to using dynamic routing and improving the transmission performance of the routing network.
[0175] Fig. 9 A schematic diagram of a usage scenario of a dynamic routing model provided by at least one embodiment of the present disclosure is shown.
[0176] like Fig. 9 As shown, the dynamic routing model 500 may be a routing network in any of the above embodiments of the present disclosure, and the dynamic routing model 500 may be a hardware circuit of a computing system.
[0177] Based on the routing network with the same topology structure, different routing rules may need to be set for the business data transmission requirements of different customers. In this case, the above method can be used to generate different customized simulation data streams corresponding to the business data transmission requirements of different customers based on the dynamic routing model 500 by adjusting the simulation data stream input into the dynamic routing model in any of the above embodiments. By performing dynamic routing simulation operations on these customized simulation data streams, customized static routing rules suitable for different customers are obtained. Then, these different static routing rules can be used to obtain routing networks with different settings to meet the needs of different customers. For example, for customer 1, customized static routing 1 is obtained; for customer 2, customized static routing 2 is obtained; ...; for customer N, customized static routing N is obtained.
[0178] In this way, when delivering to multiple customers, it is only necessary to configure the routing network corresponding to the dynamic routing model 500 with customized static routing suitable for the customer before delivery. Thus, through the dynamic routing model, the generation of static routing rules and the delivery of routing networks to customers are more convenient.
[0179] Fig.10 A block diagram of a routing rule determination device provided by at least one embodiment of the present disclosure is shown.
[0180] like Fig.10 As shown, at least one embodiment of the present disclosure further provides a routing rule determination device 800 , including a simulation module 801 , a generation module 802 , and a setting module 803 .
[0181] The simulation module 801 is configured to perform a dynamic routing simulation operation through a dynamic routing model corresponding to the routing network.
[0182] The generating module 802 is configured to generate simulated static routing rules according to the simulation results of the dynamic routing simulation operation.
[0183] The setting module 803 is configured to use simulated static routing rules for routing the network.
[0184] For example, in at least one embodiment, the routing rule determination device 800 further includes an acquisition module 805 .
[0185] The acquisition module 805 is configured to acquire a dynamic routing model of the routing network. For example, the acquisition module 805 acquires multiple node modules, multiple connection relationship modules, and multiple routing relationship modules of the dynamic routing model based on multiple twin node modules, multiple twin connection modules, and multiple twin routing relationship modules in the twin network model of the routing network; the twin network model is configured with fixed routing rules.
[0186] For example, multiple node modules are also configured to collect node port performance parameters relative to multiple twin node modules; multiple connection relationship modules are also configured to transmit network congestion information relative to multiple twin connection modules; and multiple connection relationship modules are also configured to provide auxiliary networks to transmit congestion information of dynamic routing models.
[0187] For example, in at least one embodiment, the twin network model is a clock accurate model.
[0188] For example, in at least one embodiment, the simulation module 801 is further configured to provide a simulated data flow to the dynamic routing model, so that the dynamic routing model performs a dynamic routing simulation operation on the simulated data flow.
[0189] For example, in at least one embodiment, the simulation module 801 is also configured to communicatively connect the dynamic routing model with multiple host modules and multiple slave modules; provide the simulated data stream to the dynamic routing model through the multiple host modules, wherein each data packet in the simulated data stream will be sent from one of the multiple host modules to one of the multiple slave modules.
[0190] For example, in at least one embodiment, the simulation module 801 is further configured to count the number of operations of each node module on each port thereof for a data packet from any of the multiple host modules to any of the multiple slave modules in the simulated data flow.
[0191] For example, in at least one embodiment, the generation module 802 is further configured to generate simulated static routing rules based on the number of operations of each node module on each port thereof, where the simulated static routing rules correspond to the static routing rules applied in the routing network.
[0192] The technical effect of the routing rule determination device of the above embodiment of the present disclosure is the same as the technical effect of the above routing rule determination method, so it is not repeated. The above module can be implemented by software, hardware, firmware or any combination thereof, and the embodiment of the present disclosure does not limit this.
[0193] Fig.11 A block diagram of an electronic device provided by at least one embodiment of the present disclosure is shown.
[0194] like Fig.11 As shown, at least one embodiment of the present disclosure further provides an electronic device 600, including at least one storage unit 610 and at least one processing unit 620, for example, for implementing a routing rule determination device according to at least one embodiment of the present disclosure.
[0195] The storage unit 610 is configured to store computer-executable instructions.
[0196] The storage unit 610 may include, for example, a semiconductor storage unit, such as a dynamic random access memory (DRAM), a random access memory (RAM), or a static random access memory (SRAM), or any other memory with a storage function.
[0197] The processing unit 620 is configured to execute computer executable instructions, wherein the computer executable instructions, when executed by at least one processing unit, implement the routing rule determination method provided by any embodiment of the present disclosure.
[0198] The processing unit 620 may be, for example, any processing circuit with processing capability implemented by hardware or firmware, such as a processor, which may be, for example, a central processing unit (CPU) or a coprocessor, such as an accelerator (e.g., a graphics accelerator or a digital signal processing unit), a graphics processor (GPU), a programmable logic array, or any other processor with an instruction execution function, etc. The embodiments of the present disclosure do not limit the implementation of the storage unit 610 and the processing unit 620.
[0199] The technical effect of the electronic device of the above embodiment of the present disclosure is the same as the technical effect of the above routing rule determination method, and therefore will not be described in detail.
[0200] Fig.12 A block diagram of a computer system provided by at least one embodiment of the present disclosure is shown.
[0201] like Fig.12 As shown, at least one embodiment of the present disclosure further provides a computer system 700 , including at least one host 701 , at least one slave 703 , and a routing network 702 .
[0202] The host 701 and the slave 703 are configured to communicate through a routing network, the routing network 702 is configured to operate using static routing rules, and the static routing rules of the routing network 702 are determined by the simulated static routing rules obtained by the routing rule determination method provided in any embodiment of the present disclosure. For example, the host may include a processor core, a DMA or an I / O controller, etc.; the slave may include a memory, etc.
[0203] The embodiments of the present disclosure do not limit the specific types, implementation methods, etc. of the host, slaves, and routing networks; for example, the above-mentioned computer system is a system chip, which includes multiple processor cores, image processors, etc. as the host, and also includes memory, etc. as the slave.
[0204] The technical effect of the computer system of the above embodiment of the present disclosure is the same as the technical effect of the above routing rule determination method, so it will not be repeated.
[0205] At least one embodiment of the present disclosure further provides an electronic device, wherein the electronic device includes the computer system of at least one of the above embodiments or the electronic device of at least one of the above embodiments.
[0206] Fig.13 A schematic block diagram of an electronic device provided for at least one embodiment of the present disclosure.
[0207] The electronic devices in the embodiments of the present disclosure may include, but are not limited to, mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), vehicle-mounted terminals (such as vehicle-mounted navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Fig.13 The electronic device 1000 shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.
[0208] For example, refer to Fig.13 In some examples, the electronic device 1000 includes a processing device (e.g., a central processing unit, a graphics processor, etc.) 1001, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 1002 or a program loaded from a storage device 1008 to a random access memory (RAM) 1003. For example, the processing device 1001 can be used as at least one host in the embodiment of the present disclosure, and the RAM 1003 can be used as at least one slave in the embodiment of the present disclosure. In the RAM 1003, various programs and data required for the operation of the computer system are also stored. The processing device 1001, the ROM 1002, and the RAM 1003 are connected to each other through an Internet 1004. The input / output (I / O) interface 1005 is also connected to the Internet 1004. The Internet 1004 includes, for example, the routing network described above. Each component in the electronic device 1000 can be used as a host or a slave, for example, the input / output (I / O) interface 1005 is used as at least one host in the embodiment of the present disclosure, and the storage device 1008 is used as at least one slave.
[0209] For example, the following components may be connected to the I / O interface 1005: an input device 1006 including, for example, a touch screen, a touchpad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 1007 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 1008 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 1009 which may also include, for example, a network interface card such as a LAN card, a modem, etc. The communication device 1009 may allow the electronic device 1000 to communicate with other devices wirelessly or by wire to exchange data, and perform communication processing via a network such as the Internet. The drive 1010 is also connected to the I / O interface 1005 as needed. Removable media 1011, such as magnetic disks, optical disks, magneto-optical disks, semiconductor memories, etc., are installed on the drive 1010 as needed, so that the computer program read therefrom can be installed into the storage device 1008 as needed. Although Fig.13 The electronic device 1000 is shown to include various devices, but it should be understood that it is not required to implement or include all the devices shown. More or fewer devices may be implemented or included instead.
[0210] For example, the electronic device 1000 may further include a peripheral interface (not shown in the figure), etc. The peripheral interface may be various types of interfaces, such as a USB interface, a lightning interface, etc. The communication device 1009 may communicate with a network and other devices through wireless communication, such as the Internet, an intranet and / or a wireless network such as a cellular phone network, a wireless local area network (LAN) and / or a metropolitan area network (MAN). Wireless communication may use any of a variety of communication standards, protocols, and techniques, including, but not limited to, Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), Wideband Code Division Multiple Access (W-CDMA), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Bluetooth, Wi-Fi (e.g., based on IEEE 802.11a, IEEE 802.11b, IEEE 802.11g and / or IEEE 802.11n standards), Voice over Internet Protocol (VoIP), Wi-MAX, protocols for email, instant messaging and / or Short Message Service (SMS), or any other suitable communication protocol.
[0211] For example, the electronic device 1000 can be any device such as a mobile phone, a tablet computer, a laptop computer, an e-book, a game console, a television, a digital photo frame, a navigator, a server, etc., or it can be any combination of data processing devices and hardware, and the embodiments of the present disclosure are not limited to this.
[0212] At least one embodiment of the present disclosure further provides a storage medium storing computer executable instructions. For example, when the computer executable instructions are executed by a processor, the routing rule determination method provided by at least one embodiment of the present disclosure is implemented. The processor includes at least one processing unit.
[0213] Fig.14 is a schematic diagram of a storage medium provided by some embodiments of the present disclosure. Fig.14 As shown, the storage medium 900 can store computer executable instructions 910, and the computer executable instructions 910 implement the routing rule determination method provided by any embodiment of the present disclosure when executed by the computer. For example, the storage medium can be a magnetic storage medium, an optical storage medium, a semiconductor storage medium, etc., and the embodiments of the present disclosure are not limited to this.
[0214] The technical effect of the above storage medium is the same as the technical effect of the above routing rule determination method, which will not be repeated here.
[0215] There are a few points to note about this disclosure:
[0216] (1) In the drawings of the embodiments of the present disclosure, only the structures related to the embodiments of the present disclosure are involved, and other structures can refer to the general design.
[0217] (2) In the absence of conflict, features in the same embodiment or in different embodiments of the present disclosure may be combined with each other.
[0218] The above are only specific embodiments of the present disclosure, but the protection scope of the present disclosure is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present disclosure, which should be included in the protection scope of the present disclosure. Therefore, the protection scope of the present disclosure should be based on the protection scope of the claims.
Claims
1. A method for determining a routing rule, comprising: Perform dynamic routing simulation operations through the dynamic routing model corresponding to the routing network; Generate simulated static routing rules according to the simulation results of the dynamic routing simulation operation; The simulated static routing rules are applied to the routing network.
2. The method for determining routing rules according to claim 1, further comprising: Acquire the dynamic routing model of the routing network; Among them, the dynamic routing model includes multiple node modules, multiple connection relationship modules and multiple routing relationship modules corresponding to multiple routing nodes of the routing network; the multiple node modules are communicatively connected through the multiple connection relationship modules, and the multiple node modules perform routing operations based on the dynamic routing rules provided by the multiple routing relationship modules respectively.
3. The method for determining routing rules according to claim 2, wherein: The obtaining of the dynamic routing model of the routing network includes: Based on the multiple twin node modules, multiple twin connection modules and multiple twin routing relationship modules in the twin network model of the routing network, the multiple node modules, the multiple connection relationship modules and the multiple routing relationship modules of the dynamic routing model are respectively obtained; Wherein, the twin network model is configured with fixed routing rules.
4. The method for determining routing rules according to claim 3, wherein: The plurality of node modules are further configured to collect node port performance parameters relative to the plurality of twin node modules; The plurality of connection relationship modules are further configured to transmit network congestion information relative to the plurality of twin connection modules.
5. The method for determining routing rules according to claim 3, wherein: The plurality of connection relationship modules are further configured to provide an auxiliary network to transmit congestion information of the dynamic routing model.
6. The method for determining routing rules according to any one of claims 3 to 5, wherein: The twin network model is a clock-accurate model.
7. The method for determining routing rules according to any one of claims 1 to 5, wherein the step of performing a dynamic routing simulation operation using a dynamic routing model corresponding to the routing network comprises: A simulated data stream is provided to the dynamic routing model so that the dynamic routing model performs the dynamic routing simulation operation on the simulated data stream.
8. The method for determining routing rules according to claim 7, wherein: The providing a simulated data flow to the dynamic routing model comprises: The dynamic routing model is communicatively connected with a plurality of host modules and a plurality of slave modules; The simulated data stream is provided to the dynamic routing model through the plurality of master modules, wherein each data packet in the simulated data stream is to be sent from one of the plurality of master modules to one of the plurality of slave modules.
9. The method for determining routing rules according to claim 8, wherein: The dynamic routing simulation operation is performed by using a dynamic routing model corresponding to the routing network, and further includes: For a data packet from any host module of the plurality of host modules to any slave module of the plurality of slave modules in the simulated data flow, the number of operations of each node module on each port thereof is counted respectively.
10. The method for determining routing rules according to claim 9, wherein: The generating of simulated static routing rules according to the simulation result of the dynamic routing simulation operation includes: Based on the number of operations of each of the node modules on each of its ports, the simulated static routing rules are generated, and the simulated static routing rules correspond to the static routing rules applied in the routing network.
11. A routing rule determination device, comprising: A simulation module configured to perform a dynamic routing simulation operation through a dynamic routing model corresponding to the routing network; A generating module configured to generate simulated static routing rules according to the simulation result of the dynamic routing simulation operation; A setting module is configured to use the simulated static routing rule for the routing network.
12. An electronic device comprising: at least one storage unit configured to store computer executable instructions; as well as at least one processing unit configured to execute the computer executable instructions, Wherein, when the computer executable instructions are executed by the at least one processing unit, the routing rule determination method according to any one of claims 1-10 is implemented.
13. A computer system comprising: At least one host; At least one slave; A routing network, wherein the host and the slave are configured to communicate through the routing network, and the routing network is configured to operate using static routing rules, and the static routing rules are determined by simulating static routing rules obtained by the routing rule determination method according to any one of claims 1-10.
14. An electronic device, comprising the electronic device according to claim 12 or the computer system according to claim 13.
15. A storage medium storing computer executable instructions, wherein: When at least one processor executes the computer executable instructions, the routing rule determination method according to any one of claims 1 to 10 is implemented.