Network-on-chip system, data transmission method, electronic equipment and storage medium
By dividing the on-chip network system into multiple subnets and using time-division multiplexing schedule tables, the problems of large delay and low efficiency of data transmission in the prior art are solved, and more efficient data transmission is achieved.
Patent Information
- Application Number
- CN202510346934.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-24
- Publication Date
- 2025-07-04
AI Technical Summary
Due to the large number of nodes in the existing on-chip network system, only a single scheduling action can be processed in each time slot, resulting in large delays and low efficiency during data transmission.
The on-chip network system is divided into multiple subnets. The routing devices in each subnet communicate and connect in turn, connect different subnets through the composite routing device, and use a time-division multiplexing schedule for data transmission. The data in the same subnet is transmitted in the same time slot, and the data across the subnet is first transmitted to the composite routing device and then transmitted.
Through a hierarchical network structure, the transmission path is reduced, the overall scheduling cycle of the on-chip network system is reduced, the transmission delay is reduced, and the transmission efficiency is improved.
Smart Images

Figure CN120263725A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of network - on - chip technology, and particularly to a network - on - chip system, a data transmission method, an electronic device, and a storage medium. Background Art
[0002] A network - on - chip system is a complex integrated circuit system constructed based on network - on - chip technology. It forms a communication architecture by integrating routers and multiple nodes (such as computing nodes, storage nodes, acceleration nodes, etc.) into a single chip to achieve efficient data exchange and resource sharing.
[0003] When the network - on - chip system in the related art performs data transmission, since each node can only process a single scheduling action in each time slot, and the number of nodes involved in the network - on - chip system is large, the related art needs to extend the processing cycle to complete data transmission, resulting in a large delay and low transmission efficiency when the network - on - chip system performs data transmission. Summary of the Invention
[0004] The main purpose of the embodiments of this application is to propose a network - on - chip system, a data transmission method, an electronic device, and a storage medium, aiming to reduce the data transmission delay of the network - on - chip system and improve the transmission efficiency of the network - on - chip system.
[0005] To achieve the above object, in the first aspect of the embodiments of this application, a network - on - chip system is proposed, including:
[0006] Multiple sub - networks, each sub - network includes multiple nodes, each node is communicatively connected to a corresponding routing device, the routing devices within the same sub - network are communicatively connected in sequence, at least one routing device in each sub - network is a composite routing device, and different sub - networks are communicatively connected through the composite routing device;
[0007] Wherein, for the current routing device, obtain the target data to be transmitted and the target node to which the target data is to be transmitted from the corresponding nodes; based on the positions of the current routing device and the target node, determine the transmission path between the current routing device and the target node, and refer to a preset time - division multiplexing scheduling table based on the transmission path;
[0008] If the current routing device and the target routing device belong to the same sub - network, according to the scheduling indication of the time - division multiplexing scheduling table, when the corresponding time slot arrives, transmit the target data along the transmission path to the target node in the corresponding time slot;
[0009] If the current routing device and the target routing device do not belong to the same sub-network, according to the scheduling instructions of the time-division multiplexing scheduling table, when the corresponding time slot arrives, first transmit the target data along the transmission path to the composite routing device within the same sub-network during the corresponding time slot, and then continue to transmit the target data along the transmission path to the target node under another sub-network through the composite routing device during the corresponding time slot.
[0010] In some embodiments, each routing device is communicatively connected end to end in sequence to form a sub-network under a ring topology.
[0011] In some embodiments, the node includes a computing node, and the basic routing device of each sub-network includes a first basic routing device, a second basic routing device, and a third basic routing device;
[0012] Each routing device is communicatively connected end to end in sequence to form a sub-network under a ring topology, including:
[0013] The first basic routing device, the second basic routing device, the third basic routing device, and the composite routing device are connected end to end in sequence, so that the first basic routing device and the third basic routing device are arranged diagonally;
[0014] Among them, the first basic routing device and the third basic routing device are connected to the computing node through a network interface, and the computing node is used to process the target data.
[0015] In some embodiments, the time-division multiplexing scheduling table is established through the following steps, and the steps include:
[0016] Determine multiple first scheduling actions of the basic routing device and multiple second scheduling actions of the composite routing device respectively;
[0017] Taking the basic routing device as the summary field, arrange multiple first scheduling actions in sequence according to the occurrence order of time slots;
[0018] Taking the composite routing device as the summary field, arrange multiple second scheduling actions in sequence according to the occurrence order of time slots;
[0019] Integrate multiple first scheduling actions and multiple second scheduling actions after arrangement in parallel to obtain the time-division multiplexing scheduling table.
[0020] In some embodiments, multiple arranged first scheduling actions are cyclically executed with a first scheduling period, and multiple arranged second scheduling actions are cyclically executed with a second scheduling period, where the second scheduling period is a positive integer multiple of the first scheduling period.
[0021] In some embodiments, the node further includes an acceleration node and a storage node. The second basic routing device is connected to the acceleration node through a network interface, and the composite routing device is connected to the storage node through a network interface. The acceleration node is used to perform acceleration processing on target data, and the storage node is used to store the processing result of the target data for a long time.
[0022] In some embodiments, a cross-domain communication buffer is provided in the composite routing device, and the cross-domain communication buffer is used to temporarily store target data.
[0023] To achieve the above object, a second aspect of the embodiments of the present application proposes a data transmission method, which is applied to the on-chip network system of the first aspect. The data transmission method includes:
[0024] For the current routing device, obtain the target data to be transmitted and the target node to which the target data is to be transmitted from the corresponding node;
[0025] Based on the positions of the current routing device and the target node, determine the transmission path between the current routing device and the target node, and determine a preset time-division multiplexing scheduling table based on the transmission path;
[0026] If the current routing device and the target routing device belong to the same sub-network, after the corresponding time slot arrives according to the scheduling indication of the time-division multiplexing scheduling table, transmit the target data along the transmission path to the target node in the corresponding time slot;
[0027] If the current routing device and the target routing device do not belong to the same sub-network, after the corresponding time slot arrives according to the scheduling indication of the time-division multiplexing scheduling table, first transmit the target data along the transmission path to the composite routing device in the same sub-network in the corresponding time slot, and then continue to transmit the target data along the transmission path to the target node under another sub-network through the composite routing device in the corresponding time slot.
[0028] To achieve the above object, a third aspect of the embodiments of the present application proposes an electronic device, which includes a memory and a processor. The memory stores a computer program, and when the processor executes the computer program, it implements the data transmission method of the first aspect.
[0029] To achieve the above object, a fourth aspect of the embodiments of the present application proposes a computer-readable storage medium, which stores a computer program, and when the computer program is executed by a processor, it implements the data transmission method of the first aspect.
[0030] The present application proposes a network-on-chip system, a data transmission method, an electronic device, and a storage medium. The network-on-chip system includes multiple sub-networks, each sub-network includes multiple nodes, each node is communicatively connected to a corresponding routing device, and the routing devices within the same sub-network are communicatively connected in sequence. At least one routing device in each sub-network is a composite routing device, and different sub-networks are communicatively connected through the composite routing device; wherein, for the current routing device, obtain the target data to be transmitted and the target node to which the target data is to be transmitted from the corresponding node; based on the positions of the current routing device and the target node, determine the transmission path between the current routing device and the target node, and reference a preset time-division multiplexing scheduling table based on the transmission path; if the current routing device and the target routing device belong to the same sub-network, according to the scheduling indication of the time-division multiplexing scheduling table, when the corresponding time slot arrives, transmit the target data along the transmission path to the target node in the corresponding time slot; if the current routing device and the target routing device do not belong to the same sub-network, according to the scheduling indication of the time-division multiplexing scheduling table, when the corresponding time slot arrives, first transmit the target data along the transmission path to the composite routing device within the same sub-network in the corresponding time slot, and then continue to transmit the target data along the transmission path to the target node under another sub-network through the composite routing device in the corresponding time slot. By using a hierarchical network structure, the number of transmission paths that need to be pre-allocated is reduced, and the data transmission within the sub-network and the cross-domain data transmission are separated, thereby reducing the overall scheduling period of the network-on-chip system, reducing the transmission delay, and improving the transmission efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0031] Figure 1 is a schematic diagram of an application scenario of the network-on-chip system provided by an embodiment of the present application;
[0032] Figure 2 is a schematic diagram of an optional embodiment of the network-on-chip system provided by an embodiment of the present application;
[0033] Figure 3 is an optional flowchart of the data transmission method provided by an embodiment of the present application;
[0034] Figure 4 is a schematic diagram of an optional time-division multiplexing scheduling of the data transmission method provided by an embodiment of the present application;
[0035] Figure 5 is a schematic diagram of an optional embodiment of the data transmission device provided by an embodiment of the present application;
[0036] Figure 6 is a schematic diagram of the hardware structure of the electronic device provided by an embodiment of the present application. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0037] In order to make the objectives, technical solutions, and advantages of the present application clearer and more understandable, the present application will be further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0038] It should be noted that although functional module division is performed in the device schematic diagram and the logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different module division in the device or a different order in the flowchart. Terms such as "first" and "second" in the specification, claims, and the above-mentioned drawings are used to distinguish similar objects and do not necessarily need to describe a specific order or sequence.
[0039] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by those skilled in the technical field to which this application belongs. The terms used herein are only for the purpose of describing the embodiments of this application and are not intended to limit this application.
[0040] A network-on-chip system is a complex integrated circuit system built based on network-on-chip technology. It forms a communication architecture by integrating routers and multiple nodes (such as computing nodes, storage nodes, acceleration nodes, etc.) into a single chip to achieve efficient data exchange and resource sharing.
[0041] When the network-on-chip system in the related art transmits data, since each node can only process a single scheduling task in each time slot, and the number of nodes involved in the network-on-chip system is large, this leads to the need for the related art to extend the processing cycle to complete data transmission, thereby causing a large delay and low transmission efficiency when the network-on-chip system performs data transmission.
[0042] Based on this, the embodiments of the present application provide a network-on-chip system, a data transmission method, an electronic device, and a storage medium, aiming to reduce the data transmission delay of the network-on-chip system and improve the transmission efficiency of the network-on-chip system.
[0043] Exemplarily, as Figure 1 shown, Figure 1 is a schematic diagram of the application scenario of the network-on-chip system provided by the embodiments of the present application. In an optional application scenario, the client 11 is communicatively connected to the server 12, and the network-on-chip system proposed by the embodiments of the present application is deployed in the server 12. Among them, the network-on-chip system includes multiple sub-networks, each sub-network includes multiple nodes, each node is communicatively connected to the corresponding routing device, the routing devices within the same sub-network are communicatively connected in sequence, and at least one routing device in each sub-network is a composite routing device, and different sub-networks are communicatively connected through the composite routing device.
[0044] Moreover, for any routing device, obtain the target data to be transmitted and the target node to which the target data is to be transmitted from the corresponding nodes; based on the positions of the current routing device and the target node, determine the transmission path between the current routing device and the target node, and refer to a preset time-division multiplexing scheduling table based on the transmission path.
[0045] If the current routing device and the target routing device belong to the same sub-network, according to the scheduling indication of the time-division multiplexing scheduling table, when the corresponding time slot arrives, transmit the target data along the transmission path to the target node in the corresponding time slot.
[0046] If the current routing device and the target routing device do not belong to the same sub-network, according to the scheduling indication of the time-division multiplexing scheduling table, when the corresponding time slot arrives, first transmit the target data along the transmission path to the composite routing device within the same sub-network in the corresponding time slot, and then continue to transmit the target data along the transmission path to the target node under another sub-network through the composite routing device in the corresponding time slot.
[0047] It can be understood that the communication architecture of the network-on-chip system in this application embodiment is adjusted, multiple nodes are divided into different sub-networks, and the various sub-networks are communicatively connected through composite routing devices. In this way, the data transmission implemented using the network-on-chip system proposed in this application embodiment will be divided into two cases: intra-sub-network transmission and cross-domain transmission between different sub-networks. Different forwarding processes are performed on the target data for different cases, thereby effectively reducing the path length of data transmission, reducing data transmission delay, and improving transmission efficiency.
[0048] It should be noted that in this application embodiment, when it comes to information related to user characteristics such as user basic information or user identity, user permission or consent will be obtained first, and moreover, the collection, use, and processing of these data will comply with relevant laws, regulations, and standards. In addition, when this application embodiment needs to obtain sensitive personal information of users, separate permission or separate consent of the users will be obtained first. After clearly obtaining the separate permission or separate consent of the users, then obtain the necessary data for the normal operation of this application embodiment. For example, before obtaining the target data in this application embodiment, the consent of the relevant personnel and relevant regulatory personnel involved in the target data will be obtained first, otherwise the target data that cannot be used in this application embodiment cannot be obtained. Additionally, other relevant data obtained by the network-on-chip system in this application embodiment are all authorized data, which will not be elaborated here one by one.
[0049] In this application embodiment, it will be described from the dimension of the network-on-chip system, where the network-on-chip system can be integrated in a computer device, such as a server. As Figure 2 shown Figure 2It is a schematic diagram of an alternative embodiment of the network-on-chip system provided by the embodiments of the present application. The network-on-chip system includes:
[0050] Multiple sub-networks, each sub-network includes multiple nodes, each node is communicatively connected to a corresponding routing device, the routing devices within the same sub-network are communicatively connected in sequence, at least one routing device in each sub-network is a composite routing device, and different sub-networks are communicatively connected through the composite routing device.
[0051] In the network-on-chip system, a node is the basic unit for data generation, processing, or storage. As Figure 2 shown, the nodes include computing nodes (Core), acceleration nodes (FU), and storage nodes (Mem). Among them, the computing nodes are responsible for executing complex computing tasks. Each computing node communicates with the computing nodes in the same sub-network or other sub-networks through a routing device, and then collaborates to complete large-scale parallel computing tasks; the acceleration nodes are used to accelerate the processing of specific computing tasks, such as matrix multiplication and Fourier transform, etc. (only for example here, and can be set according to the actual situation), and the acceleration nodes communicate with the computing nodes through the routing device, receive the tasks that need to be accelerated and return the computing results; the storage nodes are used to store the input data, intermediate results, and final outputs required during the computing process, and the storage nodes exchange data with the computing nodes and acceleration nodes through the routing device to ensure the timeliness and consistency of the data.
[0052] Furthermore, the function of the network-on-chip system is to provide a channel for information transmission for the nodes on the network, and this function is carried by the routing device. Among them, the routing device is responsible for forwarding the data packet from one node to another node. The routing device will determine the best transmission path according to the obtained data transmission destination, and then perform the forwarding operation of the data packet. The routing device can be a device with data forwarding capabilities such as a router, a switch, or a virtual router, etc. The specific type of the routing device can be set according to the actual situation. In the embodiments of the present application, the routing device is a router (Router) for example.
[0053] Furthermore, the router is connected to the corresponding node through a network interface (Network Interface, NI). The NI is a hardware and / or software component that allows a device to connect to the network and perform data transmission. The network interface can be an Ethernet interface, a wireless network interface, a fiber optic network interface, etc. The specific type of the network interface can be selected according to the actual situation.
[0054] It should be noted that the node can also be an input / output node (I / O node) or other nodes with other functions, which can be specifically set according to the actual situation; moreover, the number of nodes and the number of routing devices in each sub-network can be adaptively adjusted according to the actual situation, and the embodiments of the present application do not limit this.
[0055] Among them, the composite routing device is a special routing device. In addition to serving the data transmission within its own sub-network, the composite routing device can also directly communicate with the composite routing devices in other sub-networks, so as to realize the cross-domain transmission of data packets.
[0056] Furthermore, there is at least one composite routing device in each sub-network, and the routing devices other than the composite routing device (composite router) in the sub-network are basic routing devices (basic routers). The basic router bears the information transmission traffic demand (internal traffic transmission) between the nodes within the sub-network, while the composite router, in addition to bearing the information transmission traffic demand between the nodes within the sub-network, is also responsible for bearing the information transmission traffic demand across sub-networks (cross-domain traffic transmission).
[0057] Furthermore, a cross-domain communication buffer is set in the composite routing device, and the cross-domain communication buffer is used to temporarily store target data.
[0058] Among them, the cross-domain communication buffer (Buffer) is a key component in the composite routing device ( Figure 2 not shown). Since the basic router and the composite router of the on-chip network system designed in the embodiments of the present application operate at different clock frequencies and have different working rhythms respectively, the cross-domain communication buffer in the composite router can allow the target data to be transmitted in different timing environments through the way of temporary storage, so that the target data can be reliably transmitted from one sub-network to another sub-network.
[0059] Furthermore, since the cross-domain traffic of all nodes within the sub-network must pass through the composite router for transit and its export bandwidth is limited, a cross-domain communication buffer is set inside the composite router to wait for the pre-allocated time slot to arrive before transmitting to the next-hop router to achieve cross-domain transmission. In addition, before transmitting the cross-domain traffic to the next-hop composite router, the composite router must first obtain the status of the cross-domain communication buffer in the next-hop composite router, and only allow the cross-domain traffic to be transmitted when the cross-domain communication buffer is not empty.
[0060] Furthermore, the cross-domain communication buffer can be set at the input end of the composite router. As a "forwarding intermediary", the composite router not only needs to receive data packets sent by its own subnetworks, but also needs to receive data packets sent by other subnetworks. That is to say, the amount of data received by the composite router is very large. Considering this, setting the cross-domain communication buffer at the input end of the composite router can perform traffic control on the input data in a timely manner to avoid overload.
[0061] Alternatively, the cross-domain communication buffer can be set at the output end of the composite router. In this way, the composite router can perform final inspection and optimization processing before the target data is about to leave the current composite router, so as to significantly reduce the possibility of retransmission and improve the reliability of data transmission.
[0062] In the embodiment of the present application, as Figure 2 shown, the network-on-chip system includes Subnet 0, Subnet 1, Subnet 2, and Subnet 3. Among them, Subnet 0 includes Router 00, Router 01, Router 02, and Router 03; Subnet 1 includes Router 10, Router 11, Router 12, and Router 13; Subnet 2 includes Router 20, Router 21, Router 22, and Router 23; Subnet 3 includes Router 30, Router 31, Router 32, and Router 33.
[0063] Among them, Router 00, Router 10, Router 20, and Router 30 are all R0 basic routers; Router 01, Router 11, Router 21, and Router 31 are all R1 basic routers; Router 02, Router 12, Router 22, and Router 32 are all R2 basic routers; Router 03, Router 13, Router 23, and Router 33 are all R3 routers. And the R3 router is a composite router, and the R0 basic router, R1 basic router, and R2 basic router are all basic routers.
[0064] In the embodiment of the present application, each routing device is communicatively connected end to end in sequence to form a subnetwork under a ring topology, and different subnetworks are communicatively connected through a composite routing device.
[0065] Taking Subnet 0 as an example, Router 00, Router 01, Router 02, and Router 03 of Subnet 0 are communicatively connected end to end in sequence to form Subnet 0 under a ring topology (other subnetworks are formed into a ring topology in a similar manner and will not be elaborated here); each subnetwork is communicatively connected through the composite routers, namely Router 03, Router 13, Router 23, and Router 33.
[0066] It can be understood that the sub-network under the ring topology enables the on-chip network system to have a relatively short transmission path for most target data during data transmission, reducing the transmission delay by reducing the number of transmission hops. Additionally, if it is necessary to expand the current sub-network, only new routing devices and nodes need to be added to the ring structure, without causing a significant impact on the existing on-chip network system, making it easy to expand.
[0067] In the embodiment of the present application, the basic routing devices of each sub-network include a first basic routing device, a second basic routing device, and a third basic routing device; each routing device is communicatively connected end to end in sequence to form a sub-network under the ring topology, including:
[0068] The first basic routing device, the second basic routing device, the third basic routing device, and the composite routing device are connected end to end in sequence, so that the first basic routing device and the third basic routing device are arranged diagonally;
[0069] Among them, the first basic routing device and the third basic routing device are connected to the computing nodes through network interfaces, and the computing nodes are used for data processing of target data.
[0070] Further, the second basic routing device is connected to the acceleration nodes through network interfaces, and the composite routing device is connected to the storage nodes through network interfaces.
[0071] As Figure 2 shown, Router 01 in Sub-network 0 is the first basic routing device, Router 00 is the second basic routing device, and Router 02 is the third basic routing device. Among them, Router 00, Router 01, Router 02, and Router 03 are connected end to end in sequence, so that Router 01 (the first basic routing device) and Router 02 (the third basic routing device) are arranged diagonally. Since the computing nodes are responsible for performing the main computing tasks, Router 01 and Router 02 need to frequently forward the data from the computing nodes to other nodes. In such a case, the diagonal arrangement of the computing nodes can enable each data packet to reach adjacent nodes with different functions after only one hop, thereby reducing the overall transmission delay, which is particularly significant when the amount of data is large.
[0072] It should be noted that the topological structure of each sub-network can also be a tree topology, a star topology, a mesh topology, etc. Moreover, the topological structures of each sub-network are not necessarily the same. For example, in another embodiment, the on-chip network system A includes Sub-network a, Sub-network b, and Sub-network c. Among them, Sub-network a has a tree topology, Sub-network b has a star topology, and Sub-network c has a ring topology. That is, the embodiment of the present application does not limit the topological structures of each sub-network.
[0073] Further, the network-on-chip system can also be transformed into an 8-node communication architecture formed by two sub-networks or a 12-node communication architecture formed by three sub-networks. That is, the number of sub-networks can be adaptively adjusted according to the actual situation, and the embodiments of the present application do not limit this.
[0074] Next, the embodiments of the present application will describe in detail the data transmission method applied to the network-on-chip system proposed in the embodiments of the present application from the dimension of any routing device and in combination with Figure 2 , as Figure 3 shown. Figure 3 FIG. is an optional flowchart of the data transmission method provided by the embodiments of the present application. Figure 3 The method in Figure 3 may include but is not limited to the following steps. It should be noted first that the embodiments of the present application do not specifically limit the order of each step in
[0075] (101) For the current routing device, obtain the target data to be transmitted from the corresponding node, as well as the target node to which the target data is to be transmitted.
[0076] The following is a detailed description of step (101).
[0077] Among them, the target data refers to the data packet or information to be transmitted, or the result obtained after the corresponding node processes the data packet or information to be transmitted. The target data is usually generated by the source node and transmitted to the target node through the routing device for further processing, storage or use.
[0078] Among them, the current routing device is any one of multiple routing devices, which can be a basic router or a composite router. The target node is the final recipient that the data packet needs to reach during the communication process of the network-on-chip system. The target node can be any one of a computing node, an acceleration node or a storage node.
[0079] Further, if the current routing device is the starting routing device, obtain the target data from the corresponding node through the network interface; if the current routing device is not the starting routing device but an intermediate routing device that forwards the target data, obtain the target data from the previous routing device adjacent to the current routing device. Specifically, obtain the target data to be transmitted from the node corresponding to the adjacent routing device.
[0080] (102) Based on the positions of the current routing device and the target node, determine the transmission path between the current routing device and the target node, and determine a preset time-division multiplexing scheduling table based on the transmission path.
[0081] The following is a detailed description of step (102).
[0082] Among them, the transmission path refers to the physical or logical line that the target data passes through from the source node to the target node. It should be noted that the transmission path usually refers to the optimal transmission path, that is, the one with the fewest number of nodes passed. Exemplarily, as Figure 2 shown, if the current routing device is Router 03 and the target node is the node connected to Router 11, the corresponding transmission path can be determined as Router 03 - Router 13 - Router 11.
[0083] Among them, the time-division multiplexing scheduling table divides the time of a communication channel into multiple time slices (time slots), and each time slot is allocated to different data streams or users, so as to allow multiple signals to share the same communication channel and improve the channel utilization rate without adding additional hardware.
[0084] In the embodiments of the present application, the time-division multiplexing scheduling table is established through the following steps, and the steps include:
[0085] (A.1) Determine multiple first scheduling actions of the basic routing device and multiple second scheduling actions of the composite routing device respectively;
[0086] (A.2) Taking the basic routing device as the summary field, arrange multiple first scheduling actions in sequence according to the occurrence order of time slots;
[0087] (A.3) Taking the composite routing device as the summary field, arrange multiple second scheduling actions in sequence according to the occurrence order of time slots;
[0088] (A.4) Integrate multiple first scheduling actions and multiple second scheduling actions arranged in parallel to obtain the time-division multiplexing scheduling table.
[0089] The following describes steps (A.1) to (A.4) in detail.
[0090] Among them, the first scheduling action refers to the specific operation that the basic routing device needs to perform in a specific time slot, such as sending a data packet in a certain direction or receiving a data packet from a certain direction; the second scheduling action refers to the specific operation that the composite routing device needs to perform in a specific time slot, such as sending a temporarily stored data packet in a certain direction or receiving a data packet from a certain direction
[0091] In the embodiments of the present application, as Figure 4 shown, Figure 4FIG. 0 is a schematic diagram of an optional time-division multiplexing scheduling of the data transmission method provided by an embodiment of the present application. In the time-division multiplexing scheduling, multiple corresponding first scheduling actions are arranged in sequence according to the occurrence order of time slots (such as t0 to t4) with the R1 basic routing device, R2 basic routing device, and R0 basic routing device as summary fields respectively; and multiple corresponding first scheduling actions are arranged in sequence according to the occurrence order of time slots with the R3 composite routing device as the summary field; then, the multiple first scheduling actions and multiple second scheduling actions arranged in sequence according to the occurrence order of time slots are integrally combined in parallel to obtain a time-division multiplexing scheduling table.
[0092] In the embodiment of the present application, the multiple arranged first scheduling actions are cyclically executed with a first scheduling period, and the multiple arranged second scheduling actions are cyclically executed with a second scheduling period, where the second scheduling period is a positive integer multiple of the first scheduling period.
[0093] Further, as shown in the embodiment of the present application Figure 4 Among them, the multiple first scheduling actions are cyclically executed with a first scheduling period (T1 = 5). For example, the first scheduling actions executed by the R1 basic router, R2 basic router, and R0 basic router in time slots t0 to t4 are the same as those in time slots t5 to t9; while the multiple second scheduling actions are cyclically executed with a second scheduling period (T2 = 2 * T1 = 10), and T2 is a positive integer multiple of T1.
[0094] It should be noted that since the composite router needs to carry cross-domain traffic at the same time, the cross-domain traffic needs to be scheduled within a larger second scheduling period T2. As can be seen from Figure 4 Among them, at t = 5 and t = 0, the cross-domain traffic forwarding behavior of the composite router is not the same, but the second scheduling actions at t = 10 and t = 0 are the same, and the second scheduling actions at t = 11 and t = 1 are the same, and so on; similarly, Figure 4 In the basic router, the first scheduling period T1 = 5. Therefore, the first scheduling actions executed at t = 5 and t = 0 are the same, the first scheduling actions executed at t = 6 and t = 1 are the same, and so on, which will not be elaborated here.
[0095] Further, the traffic that the basic router needs to carry includes the transmission between core and core, the transmission between core and mem, the transmission between core and FU, and the cross-domain traffic transmission between core and the composite router; and in addition to carrying the internal traffic of the sub-network, the composite router also needs to carry cross-domain traffic. Therefore, the time-division multiplexing scheduling table in the embodiment of the present application minimizes the scheduling period, so that the information transfer between the internal nodes of the sub-network can be transmitted with a shorter delay, and at the same time, time slots are reserved for the composite router to ensure that the traffic can be transmitted across domains.
[0096] Furthermore, each routing device also includes multiple scheduling actions under Forwarding 1 and multiple scheduling actions under Forwarding 2. Here, Forwarding 1 and Forwarding 2 represent two different forwarding directions. When the on-chip network system performs data transmission, it concurrently executes the scheduling actions in the two forwarding directions. In practical applications, the forwarding directions of the routing device are not limited to two, and will be specifically adjusted according to the other devices connected to the routing device and the number of nodes.
[0097] It should be noted that the number of time slots included in the first scheduling period and the second scheduling period can be set according to the actual situation. At the same time, the specific positive integer multiple can also be adaptively adjusted according to the actual situation, and the embodiments of the present application do not limit this.
[0098] (103.1) If the current routing device and the target routing device belong to the same sub-network, following the scheduling instructions of the time-division multiplexing scheduling table, after the corresponding time slot arrives, the target data is transmitted along the transmission path to the target node in the corresponding time slot.
[0099] The following provides a detailed description of step (103.1).
[0100] Referring to Figure 4 , an example of two-way communication within a sub-network is given: A node (Core) of the R1 basic router sends 1 command to a node (FU) of the R0 basic router and reads back the data, which specifically includes the following steps (note that this example is a two-way communication case that requires reading back data. If only sending information unidirectionally without returning data, steps ③-④ are not required).
[0101] ①. t = 3: Forward the NI data in the R0 direction. Here, the NI data refers to the data received from the corresponding node through the network interface.
[0102] ②. t = 4: Forward the data in the R1 direction to NI, that is, send the data from the R1 basic router to the corresponding NI end of the R0 basic router, so that the FU node connected to this NI end can read the data and perform data processing to generate the data to be returned.
[0103] ③. t = 5: Forward the NI data in the R1 direction, that is, the R0 basic router forwards the data to be returned to the R1 basic router.
[0104] ④. t = 6: Forward the data in the R0 direction to NI, that is, the R1 basic router sends the returned data to the corresponding NI end, so that the Core connected thereto can read the return value of the command, completing a two-way communication operation.
[0105] It can be understood that in actual applications, compared with cross-domain transmission, the data transmission between each sub-network will be more intensive. In the case where the first scheduling period is less than the second scheduling period, the embodiments of the present application can better handle the frequent data transmission requirements within each sub-network.
[0106] (103.2) If the current routing device and the target routing device do not belong to the same sub-network, according to the scheduling instructions of the time-division multiplexing scheduling table, after the corresponding time slot arrives, first transmit the target data along the transmission path to the composite routing device within the same sub-network in the corresponding time slot, and then continue to transmit the target data along the transmission path to the target node under another sub-network through the composite routing device in the corresponding time slot.
[0107] The following details step (103.2).
[0108] Refer to Figure 4 , and give an example of cross-domain data transmission between sub-networks: A node (Core) connected to Router 01 sends 1 piece of information to a node (Core) connected to Router 12, which specifically includes the following steps:
[0109] ①. t = 2: Forward the NI data to the R3 direction, that is, the node connected to Router 01 forwards the data to be sent through the NI end to Router 03, and Router 03 temporarily stores it in the corresponding Buffer (the data has to wait in the Buffer until the next-hop composite router can take the cross-domain traffic, that is, at T = 4);
[0110] ②. t = 4: Temporarily store the data of the clockwise composite router in the Buffer, that is, Router 13 takes out the data temporarily stored by Router 03 from the Buffer (for Router 13, Router 03 is its previous-hop router in the clockwise direction, so Router 13 takes out the data and temporarily stores it in its own Buffer. So far, the data cross-domain transmission is completed, that is, the data to be sent is transferred from Sub-network 0 to Sub-network 1);
[0111] ③. t = 9: Forward the Buffer data to the R2 direction, that is, forward the data from Router 13 to Router 12;
[0112] ④. t = 10 (t = 0): Forward the R3 direction data to the NI, that is, Router 12 forwards the data through the NI end to the target node (core), so that it can be read by the core connected to it. Thus, the transfer of data from the corresponding core of Router 01 to the corresponding core of Router 12 is realized.
[0113] It can be understood that in the embodiments of the present application, the structure of the network-on-chip system is adjusted. The network-on-chip system is divided into multiple sub-networks, and the multiple sub-networks are connected through a composite router. By means of the hierarchical network structure, the number of transmission paths that need to be pre-allocated is reduced, the data transmission within the sub-network and the cross-domain data transmission are separated, thereby reducing the overall scheduling period of the network-on-chip system, reducing the transmission delay, and improving the transmission efficiency.
[0114] In the embodiments of the present application, a data transmission device is further provided. The data transmission device can execute the data transmission method proposed in the embodiments of the present application. As Figure 5 shown, Figure 5 is an optional schematic diagram of the data transmission device provided in the embodiments of the present application. The data transmission device includes the following modules 201 to module 204:
[0115] An acquisition module 201, configured to obtain target data to be transmitted and a target node to which the target data is to be transmitted from corresponding nodes for the current routing device;
[0116] A transmission path determination module 202, configured to determine a transmission path between the current routing device and the target node based on the position of the current routing device and the target node, and determine a preset time-division multiplexing scheduling table based on the transmission path; wherein, each sub-network includes multiple nodes, each node is communicatively connected to a corresponding routing device, the routing devices within the same sub-network are communicatively connected in sequence, at least one routing device in each sub-network is a composite routing device, and different sub-networks are communicatively connected through the composite routing device;
[0117] A sub-network internal transmission module 203, configured to, if the current routing device and the target routing device belong to the same sub-network, after the corresponding time slot arrives according to the scheduling indication of the time-division multiplexing scheduling table, transmit the target data to the target node along the transmission path in the corresponding time slot;
[0118] A sub-network between transmission module 204, configured to, if the current routing device and the target routing device do not belong to the same sub-network, after the corresponding time slot arrives according to the scheduling indication of the time-division multiplexing scheduling table, first transmit the target data to the composite routing device within the same sub-network along the transmission path in the corresponding time slot, and then continue to transmit the target data to the target node under another sub-network along the transmission path through the composite routing device in the corresponding time slot.
[0119] The specific implementation manner of this data transmission device is basically the same as that of the specific embodiment of the above data transmission method, and will not be elaborated here.
[0120] An embodiment of the present application further provides an electronic device, which includes a memory and a processor. The memory stores a computer program, and when the processor executes the computer program, the above data transmission method is implemented. The electronic device can be any intelligent terminal including a tablet computer, an in-vehicle computer, etc.
[0121] As Figure 6 shown, Figure 6 is a schematic diagram of the hardware structure of the electronic device provided by the embodiment of the present application. The electronic device includes:
[0122] A processor 301, which can be implemented by using a general-purpose CPU (Central Processing Unit), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, etc., and is used to execute relevant programs to implement the technical solutions provided by the embodiments of the present application;
[0123] A memory 302, which can be implemented in the form of a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM), etc. The memory 302 can store an operating system and other application programs. When implementing the technical solutions provided by the embodiments of this specification through software or firmware, the relevant program codes are stored in the memory 302, and the processor 301 is called to execute the data transmission method of the embodiments of the present application;
[0124] An input / output interface 303, which is used to implement information input and output;
[0125] A communication interface 304, which is used to implement communication interaction between this device and other devices. Communication can be achieved through a wired method (such as USB, network cable, etc.) or through a wireless method (such as a mobile network, WIFI, Bluetooth, etc.);
[0126] A bus 305, which transmits information between various components of the device (such as the processor 301, the memory 302, the input / output interface 303, and the communication interface 304);
[0127] Among them, the processor 301, the memory 302, the input / output interface 303, and the communication interface 304 are communicatively connected to each other inside the device through the bus 305.
[0128] An embodiment of the present application also provides a computer-readable storage medium storing a computer program, which when executed by a processor implements the above data transmission method.
[0129] As a non-transitory computer-readable storage medium, the memory can be used to store non-transitory software programs and non-transitory computer-executable programs. In addition, the memory may include high-speed random access memory, and may also include non-transitory memory, such as at least one magnetic disk storage device, a flash memory device, or other non-transitory solid-state storage devices. In some embodiments, the memory may optionally include a memory remotely disposed relative to the processor, and these remote memories may be connected to the processor through a network. Examples of the above networks include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0130] The embodiments described in the embodiments of the present application are for more clearly illustrating the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided by the embodiments of the present application. Those skilled in the art will know that with the evolution of technology and the emergence of new application scenarios, the technical solutions provided by the embodiments of the present application are equally applicable to similar technical problems.
[0131] Those skilled in the art can understand that the technical solutions shown in the figures do not constitute a limitation on the embodiments of the present application, and may include more or fewer steps than those shown, or combine some steps, or different steps.
[0132] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separated, that is, they may be located in one place, or may be distributed to multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0133] Those of ordinary skill in the art can understand that all or some of the steps in the methods disclosed above, and the functional modules / units in the systems and devices, can be implemented as software, firmware, hardware, and appropriate combinations thereof.
[0134] In the description of the present application and the above-mentioned drawings, the terms "first", "second", "third", "fourth", etc. (if any) are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged under appropriate circumstances so that the embodiments of the present application described herein can be implemented in an order different from those illustrated or described herein. In addition, the terms "comprising" and "having" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units not clearly listed or inherent to these processes, methods, products or devices.
[0135] It should be understood that in the present application, "at least one (item)" means one or more, and "a plurality" means two or more. "And / or" is used to describe the association relationship of associated objects and indicates that there can be three relationships. For example, "A and / or B" can mean: only A exists, only B exists, and both A and B exist at the same time. Among them, A and B can be singular or plural. The character " / " generally means that the associated objects before and after are in an "or" relationship. "At least one (one) of the following" or its similar expression means any combination of these items, including any combination of single items (ones) or plural items (ones). For example, at least one (one) of a, b, or c can mean: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, c can be single or plural.
[0136] In several embodiments provided by the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the above-mentioned division of units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed coupling or direct coupling or communication connection to each other can be through some interfaces, and the indirect coupling or communication connection of devices or units can be in electrical, mechanical or other forms.
[0137] The units described above as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they can be located in one place or distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0138] In addition, in each embodiment of the present application, the functional units may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit. The above integrated unit may be implemented in the form of hardware or in the form of a software functional unit.
[0139] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it may be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, may be embodied in the form of a software product. The computer software product is stored in a storage medium and includes multiple instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods in each embodiment of the present application. The foregoing storage medium includes: various media such as USB flash drives, mobile hard disks, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical discs that can store programs.
[0140] The preferred embodiments of the embodiments of the present application have been described above with reference to the accompanying drawings, and thus do not limit the scope of rights of the embodiments of the present application. Any modification, equivalent replacement, and improvement made by those skilled in the art without departing from the scope and essence of the embodiments of the present application shall be within the scope of rights of the embodiments of the present application.
Claims
1. A Network-on-Chip system, characterized in that, Including: A plurality of sub-networks, each sub-network includes a plurality of nodes, each node is communicatively connected to a corresponding routing device, and the routing devices within the same sub-network are communicatively connected to each other in sequence. At least one of the routing devices in each sub-network is a composite routing device, and different sub-networks are communicatively connected through the composite routing device; Wherein, for the current routing device, obtain the target data to be transmitted and the target node to which the target data is to be transmitted from the corresponding nodes; based on the positions of the current routing device and the target node, determine the transmission path between the current routing device and the target node, and refer to a preset time-division multiplexing scheduling table based on the transmission path; If the current routing device and the target routing device belong to the same sub-network, according to the scheduling indication of the time-division multiplexing scheduling table, when the corresponding time slot arrives, transmit the target data along the transmission path to the target node in the corresponding time slot; If the current routing device and the target routing device do not belong to the same sub-network, according to the scheduling indication of the time-division multiplexing scheduling table, when the corresponding time slot arrives, first transmit the target data along the transmission path to the composite routing device within the same sub-network in the corresponding time slot, and then continue to transmit the target data along the transmission path to the target node under the other sub-network through the composite routing device in the corresponding time slot.
2. The network-on-chip system according to claim 1, characterized in that, The routing devices are communicatively connected to each other in sequence from head to tail to form the sub-network under the ring topology structure.
3. The network-on-chip system according to claim 2, wherein The node includes a computing node, and the basic routing devices of each sub-network include a first basic routing device, a second basic routing device, and a third basic routing device; The routing devices are communicatively connected to each other in sequence from head to tail to form the sub-network under the ring topology structure, including: The first basic routing device, the second basic routing device, the third basic routing device, and the composite routing device are connected end to end in sequence, so that the first basic routing device and the third basic routing device are arranged diagonally; Wherein, the first basic routing device and the third basic routing device are connected to the computing node through network interfaces, and the computing node is used for data processing of the target data.
4. The network-on-chip system according to claim 1, characterized in that The time-division multiplexing scheduling table is established through the following steps, and the steps include: Respectively determine a plurality of first scheduling actions of the basic routing device and a plurality of second scheduling actions of the composite routing device; Taking the basic routing device as the summary field, arrange a plurality of the first scheduling actions in sequence according to the occurrence order of time slots; Taking the composite routing device as the summary field, arrange a plurality of the second scheduling actions in sequence according to the occurrence order of time slots; Parallelly integrate the arranged plurality of the first scheduling actions and the plurality of the second scheduling actions to obtain the time-division multiplexing scheduling table.
5. The network-on-chip system according to claim 4, wherein The arranged multiple first scheduling actions are cyclically executed with a first scheduling period, and the arranged multiple second scheduling actions are cyclically executed with a second scheduling period, where the second scheduling period is a positive integer multiple of the first scheduling period.
6. The network-on-chip system according to claim 1, wherein The node further includes an acceleration node and a storage node. The second basic routing device is connected to the acceleration node through a network interface, and the composite routing device is connected to the storage node through a network interface. The acceleration node is used to perform acceleration processing on the target data, and the storage node is used to store the processing result of the target data in the long term.
7. The network-on-chip system according to claim 1, wherein A cross-domain communication buffer is provided in the composite routing device, and the cross-domain communication buffer is used to temporarily store the target data.
8. A data transmission method, characterized in that, Applied to the on-chip network system according to claims 1 to 7, the data transmission method includes: For the current routing device, obtain the target data to be transmitted and the target node to which the target data is to be transmitted from the corresponding node; Based on the positions of the current routing device and the target node, determine the transmission path between the current routing device and the target node, and determine a preset time-division multiplexing scheduling table based on the transmission path; If the current routing device and the target routing device belong to the same sub-network, after the corresponding time slot arrives according to the scheduling indication of the time-division multiplexing scheduling table, transmit the target data to the target node along the transmission path in the corresponding time slot; If the current routing device and the target routing device do not belong to the same sub-network, after the corresponding time slot arrives according to the scheduling indication of the time-division multiplexing scheduling table, first transmit the target data to the composite routing device within the same sub-network along the transmission path in the corresponding time slot, and then continue to transmit the target data to the target node under the other sub-network along the transmission path through the composite routing device in the corresponding time slot.
9. An electronic device, characterized in that, The electronic device includes a memory and a processor. The memory stores a computer program, and when the processor executes the computer program, the data transmission method according to claim 8 is implemented.
10. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by the processor, the data transmission method according to claim 8 is implemented.