CN115996199A - Network-on-chip and multicast message transmission method - Google Patents
Network-on-chip and multicast message transmission method Download PDFInfo
- Publication number
- CN115996199A CN115996199A CN202111205341.9A CN202111205341A CN115996199A CN 115996199 A CN115996199 A CN 115996199A CN 202111205341 A CN202111205341 A CN 202111205341A CN 115996199 A CN115996199 A CN 115996199A
- Authority
- CN
- China
- Prior art keywords
- multicast
- node
- router
- message
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 230000005540 biological transmission Effects 0.000 title abstract description 15
- 238000012545 processing Methods 0.000 claims abstract description 41
- 239000000872 buffer Substances 0.000 claims description 43
- 230000003139 buffering effect Effects 0.000 claims description 2
- 238000013473 artificial intelligence Methods 0.000 abstract description 12
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000005538 encapsulation Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The application discloses a network-on-chip and a multicast message transmission method, which belong to the technical field of chips. The network on chip includes: at least one first processing unit and at least one multicast group; the first processing unit comprises a first node, an adapter and a first router which are sequentially connected; the multicast group comprises a multicast network, a second processing unit and at least one third processing unit, wherein the second processing unit comprises a second node, an adapter and a second router which are sequentially connected, the third processing unit comprises a second node, an adapter and a first router which are sequentially connected, and the second node and the second router are respectively connected with the multicast network; the first router and the second router are connected through a link; the second router is used for forwarding the multicast message forwarded by the first router to the multicast network. According to the method and the system, the network on chip can be designed based on the artificial intelligence algorithm, the purpose that the source node multicasts the message to the target node in the multicast group is achieved, the algorithm can be simplified, and the cost is reduced.
Description
Technical Field
The embodiment of the application relates to the technical field of chips, in particular to a network-on-chip and multicast message transmission method.
Background
Network on Chip (NoC) is a fundamental module inside a processor. As shown in fig. 1, the network on chip includes a node, an Adapter (Adapter), a Router (Router) and a Link (Link), where the node is connected to the Adapter, the Adapter is connected to the Router, and the routers are connected by the Link. The adapter completes the encapsulation and decapsulation of data between the node and the router, the router completes the forwarding of the data according to a certain strategy, and the link is a data channel of the bottom layer.
With the development of the "molar law" and integrated circuit industry, processor architectures continue to evolve from traditional single core to multi-core, and the increase in various computing cores continues to present new challenges to the performance of the network on chip. Under the circumstance that the computing resources are greatly improved, the efficiency of the network on chip becomes a bottleneck of the whole system. The service types of the network-on-chip mainly comprise unicast, multicast and broadcast, and in the traditional general processor, the unicast traffic is larger, and the multicast and broadcast services are fewer, so that the network-on-chip is designed to support the unicast traffic as a main part, and the multicast and broadcast traffic is converted into the unicast traffic for processing. However, with the development of artificial intelligence (Artificial Intelligence, AI) applications in recent years, the duty ratio of various artificial intelligence operations in services is continuously increased, and a large amount of multicast traffic is in the artificial intelligence operations, so that performance is affected by continuing to use unicast processing of multicast messages.
The related art may process multicast traffic through some algorithms, for example, assume that there is multicast traffic between each node and any other node for a general scenario. However, the algorithm does not consider the characteristics of artificial intelligence operation, so that the algorithm is complicated and has high cost.
Disclosure of Invention
The embodiment of the application provides a network-on-chip and a multicast message transmission method, which are used for solving the problems that the algorithm is complicated and the cost is high because the network-on-chip is designed without considering the characteristics of artificial intelligent operation. The technical scheme is as follows:
in one aspect, a network on chip is provided, the network on chip comprising: at least one first processing unit and at least one multicast group;
the first processing unit comprises a first node, an adapter and a first router which are sequentially connected;
the multicast group comprises a multicast network, a second processing unit and at least one third processing unit, wherein the second processing unit comprises a second node, an adapter and a second router which are sequentially connected, the third processing unit comprises a second node, an adapter and a first router which are sequentially connected, and the second node and the second router are respectively connected with the multicast network;
the first router and the second router are connected through a link;
the second router is used for receiving the multicast message forwarded by the first router and forwarding the multicast message to the multicast network.
In a possible implementation manner, the multicast network includes a multicast buffer, a multicast controller and a link path, wherein the multicast buffer is connected with the multicast controller, and the multicast controller is connected with the second node through the link path;
the multicast controller is configured to receive a multicast packet sent by the second router, and send a data payload in the multicast packet to the multicast buffer;
the multicast buffer is used for buffering the data payload;
the multicast controller is further configured to send the data payload buffered in the multicast buffer to the second node through the link path.
In a possible implementation manner, the multicast controller includes a message transceiver controller and a distributor, and the message transceiver controller is connected with the distributor;
the link path comprises a data bus, a first control bus and a second control bus, the message receiving and transmitting controller is connected with the second node through the data bus and the first control bus, and the distributor is connected with the second node through the second control bus;
the message transceiver controller is configured to send the data payload to the second node through the data bus;
the message transceiver controller is configured to send a first control signal to the second node through the first control bus, where the first control signal is used to instruct the second node to receive the data payload;
the second node is configured to send a second control signal to the allocator via the second control bus, the second control signal being configured to indicate that the second node is in a ready-to-receive data state.
In one possible implementation, the network on chip further includes a shift register, the shift register being connected to the first router;
the shift register is used for storing right shift bits;
when the identification information of the multicast group comprises a group identification and a node bitmap, and each bit in the node bitmap is used for indicating whether the second node participates in the current multicast, the first router is used for shifting the identification information to the right by the right shift number, determining a second router in the multicast group according to the group identification obtained after the right shift, and sending the multicast message to the second router.
In one aspect, a method for transmitting multicast messages is provided, which is used in the network on chip as described above, and the method includes:
the first node sends a multicast message to the first router through the adapter, wherein the multicast message comprises a data payload and identification information of the multicast group;
the first router determines a second router in the multicast group according to the identification information, and sends the multicast message to the second router;
the second router sends the multicast message to the multicast network;
and the multicast network sends the data payload in the multicast message to the second node.
In one possible implementation manner, when the multicast buffer, the multicast controller and the link path are included in the multicast network, the multicast network sends the data payload in the multicast packet to the second node, including:
the multicast controller receives the multicast message sent by the second router and sends the data payload of the multicast message to the multicast buffer;
the multicast buffer buffers the data payload;
and the multicast controller transmits the data payload cached in the multicast buffer to the second node through the link path.
In one possible implementation, when the messaging controller and the allocator are included in the multicast controller,
the multicast controller receives the multicast message sent by the second router, and sends a data payload in the multicast message to the multicast buffer, including: the message receiving and transmitting controller receives the multicast message sent by the second router, splits the multicast message into the data payload and control information, sends the data payload to the multicast buffer, and sends the control information to the distributor;
the method further comprises the steps of: when the control information comprises the identification information, the distributor determines a second node which needs to receive the data payload according to the identification information and sends a third control signal to the message receiving and transmitting controller;
the multicast controller sends the data payload buffered in the multicast buffer to the second node through the link path, including: and the message receiving and transmitting controller acquires the data payload from the message buffer according to the third control signal, and sends the data payload to the determined second node through the link path.
In one possible implementation manner, when the identification information of the multicast group includes the group identification and the node bitmap, the allocator determines, according to the identification information, a second node that needs to receive the data payload, including:
the distributor obtains a node bitmap in the identification information, and determines the second node according to the numerical value of each bit in the node bitmap.
In one possible implementation, when the link path includes the data bus, the first control bus and the second control bus,
the sending a third control signal to the messaging controller includes: after the distributor receives a second control signal sent by each second node through the second control bus, the distributor sends the third control signal to the message transceiver controller, wherein the second control signal is used for indicating that the second node is in a state of being ready to receive data;
said sending said data payload to said determined second node via said link path comprising: the message transceiver controller sends the data payload to each determined second node through the data bus, and sends the first control signal to each determined second node through the first control bus, wherein the first control signal is used for indicating the second node to receive the data payload.
In one possible implementation manner, when the network on chip further includes the shift register and the identification information of the multicast group includes the group identification and the node bitmap, the determining, by the first router, a second router in the multicast group according to the identification information includes:
the first router acquires the right shift number from the shift register;
the first router right shifts the identification information by the right shift number to obtain the group identification;
the first router searches a second router corresponding to the group identifier from a prestored multicast forwarding table.
In one possible implementation manner, the sending, by the first node, a multicast packet to the first router through the adapter includes:
the first node sends a message and a message type identifier to the first router through the adapter, wherein the message type identifier is used for indicating that the message is a multicast message or a unicast message;
the first router receives the message and the message type identifier, and determines to receive the multicast message when determining that the message is the multicast message according to the message type identifier.
The beneficial effects of the technical scheme provided by the embodiment of the application at least comprise:
in artificial intelligence operations, it is common for a fixed source node to send input data, weights, intermediate results to a plurality of fixed target nodes, and for the target nodes to send intermediate results to the source node or other target nodes. It can be seen that the source node needs to send data to the target node in a multicast manner, and the target node needs to send data to the source node or other target nodes in a unicast manner. Based on the above-described features of the artificial intelligence algorithm, the network-on-chip may be designed to include at least one first processing unit and at least one multicast group; the first processing unit comprises a first node, an adapter and a first router which are sequentially connected; the multicast group comprises a multicast network, a second processing unit and at least one third processing unit, wherein the second processing unit comprises a second node, an adapter and a second router which are sequentially connected, the third processing unit comprises a second node, an adapter and a first router which are sequentially connected, and the second node and the second router are respectively connected with the multicast network; the first router and the second router are connected through a link. In this way, the first node is used as a source node, the second nodes in the multicast group are used as target nodes, the source node can send multicast messages to the second routers through the first router, the second routers send the multicast messages to the multicast network, and the multicast network sends the multicast messages to each second node, so that the purpose that the source node multicasts the messages to the target nodes in the multicast group is realized, the algorithm can be simplified, and the cost is reduced.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are needed in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 is a schematic diagram of a network on chip structure shown in the related art;
FIG. 2 is a schematic diagram of a network on chip according to one embodiment of the present application;
fig. 3 is a schematic structural diagram of a multicast network according to an embodiment of the present application;
fig. 4 is a schematic diagram of connection between a multicast controller and a second node according to an embodiment of the present application;
fig. 5 is a method flowchart of a multicast message transmission method according to an embodiment of the present application;
fig. 6 is a method flowchart of a multicast message transmission method according to an embodiment of the present application.
Detailed Description
For the purposes of making the objects, technical solutions and advantages of the embodiments of the present application more apparent, the embodiments of the present application will be described in further detail below with reference to the accompanying drawings.
Referring to fig. 2, a schematic diagram of a network on chip provided in an embodiment of the present application is shown, where the network on chip may be applied to a chip. The network on chip may include: at least one first processing unit 210 and at least one multicast group 220.
The first processing unit 210 includes a first node, an adapter, and a first router connected in sequence. The first node is a computing node, the adapter completes data encapsulation and decapsulation between the first node and the first router, the router completes data forwarding according to a certain strategy, and the link is a data channel of the bottom layer. At least one first node in the network-on-chip is a source node, namely a node which sends multicast messages to other nodes in a multicast mode.
The multicast group 220 includes a multicast network 221, a second processing unit 222 and at least one third processing unit 223, the second processing unit 222 includes a second node, an adapter and a second router which are sequentially connected, and the third processing unit 223 includes a second node, an adapter and a first router which are sequentially connected, and the second node and the second router are respectively connected with the multicast network 221; the first router and the second router are connected through a link; the second router is configured to receive the multicast message forwarded by the first router and forward the multicast message to the multicast network 221. The second node is a computing node, the adapter completes data encapsulation and decapsulation between the second node and the second router and between the second node and the first router, the second router and the first router complete data forwarding according to a certain strategy, and the link is a data channel of the bottom layer. The second node is a target node, namely a node for receiving the multicast message.
The first router may include a plurality of ports, and is connected to the first node or the second node through one of the ports, and is connected to the adjacent first router or second router through the remaining ports, respectively. Taking the example that the first router comprises five ports, the first router is connected with the first node or the second node through one port, and is respectively connected with the adjacent first router or the second router in the four directions of southeast, northwest and northwest through the remaining four ports.
The second router is added with a multicast port compared with the first router, and is connected with the multicast network 221 through the multicast port, so that when the second router receives the multicast message forwarded by the first router, the multicast message is sent to the multicast network 221 through the multicast port.
In fig. 2, taking the network on chip as a two-dimensional mesh network and including 64 processing units, where the processing units 1-4 and the multicast network 1 form a multicast group 1, and the processing units 5-8 and the multicast network 2 form the multicast group 2 for illustration, a second router1 in the processing unit 1 is connected to the multicast network 221 through a multicast port to send a multicast packet to the multicast network 1 through the multicast port, and the node 1-4 is a second node connected to the multicast network 1 to receive the multicast packet sent by the multicast network 1. The second router5 in the processing unit 5 is connected to the multicast network 221 through a multicast port, so as to send a multicast message to the multicast network 2 through the multicast port, and the nodes 5-8 are second nodes connected to the multicast network 2, so as to receive the multicast message sent by the multicast network 2.
The first point is that, in fig. 2, the multicast network 221 is connected to the second processing unit 222 and the third processing unit 223 that are continuous, and in actual implementation, the multicast network 221 may be connected to the second processing unit 222 and the third processing unit 223 that are discontinuous.
The second point to be noted is that the multicast network 221 in fig. 2 is connected to a plurality of second nodes, and the first node may initiate multicast to some or all of the second nodes according to the requirement. For example, if the source node is node 64, then node 64 may initiate multicast to any combination of nodes 1-4 or nodes within it, and node 64 may also initiate multicast to any combination of nodes 5-8 or nodes within it.
In this embodiment, the characteristics of unidirectional multicast of artificial intelligence operation may be combined, and multiple operation cores of the processor may divide the multicast group according to the service model, so as to design the multicast group in a targeted manner. In addition, a special multicast algorithm and a multicast port are designed in the second router, multicast traffic is forwarded only to specific nodes, forwarding efficiency is higher, and the multicast design of the router is simplified. Therefore, the efficient receiving and transmitting of the multicast message can be realized through a specially designed multicast group, and the advantage of bus topology is fully utilized.
In summary, the network on chip provided in the embodiments of the present application may be designed based on the characteristics of the artificial intelligence algorithm, so that the first node is used as a source node, the second node in the multicast group is used as a target node, the source node may send a multicast packet to the second router through the first router, the second router sends the multicast packet to the multicast network, and the multicast network sends the multicast packet to each second node, thereby achieving the purpose that the source node multicasts the packet to the target node in the multicast group, so as to simplify the algorithm and reduce the cost.
Referring to fig. 3, in an alternative embodiment, the multicast network 221 includes a multicast buffer 310, a multicast controller 320, and a link path (link path) 330, where the multicast buffer 310 is connected to the multicast controller 320, and the multicast controller 320 is connected to the second node through the link path 330. Wherein the multicast buffer 310 is configured to buffer data payloads in the multicast packet, and the link path 330 is a data link between the multicast controller 320 and each second node.
Specifically, the multicast controller 320 is configured to receive the multicast packet sent by the second router, and send a data payload in the multicast packet to the multicast buffer 310; multicast buffer 310 is used to buffer the data payloads; the multicast controller 320 is further configured to send the data payload buffered in the multicast buffer 310 to the second node via the link path 330.
Referring to fig. 4, in an alternative embodiment, the multicast controller 320 includes a messaging controller 321 and a distributor 322, where the messaging controller 321 is connected to the distributor 322. Correspondingly, the link path 330 includes a Data bus (Data) 331, a first control bus (Valid) 332, and a second control bus (Ready) 333, where the messaging controller 321 is connected to the second node through the Data bus 331 and the first control bus 332, and the dispatcher 322 is connected to the second node through the second control bus 333.
Specifically, the message transceiver controller 321 is configured to send a data payload to the second node through the data bus 331, and send a first control signal to the second node through the first control bus 332, where the first control signal is configured to instruct the second node to receive the data payload; the second node is configured to send a second control signal to the dispatcher 322 via the second control bus 333, the second control signal being configured to indicate that the second node is in a ready to receive data state.
As shown in fig. 4, each second node corresponds to a pair of ready-valid signals, wherein the ready signal (i.e., the second control signal) is the output signal of the second node, and is sent to the dispatcher 322, which indicates that the second node can receive new data; the valid signal (i.e., the first control signal) is an input signal to the second node, and is generated by the messaging controller 321, indicating that new data needs to be received by the corresponding second node on the data bus 331.
When the message transceiver controller 321 receives the multicast message through the multicast port of the second node, the multicast message is split into control information and a data payload, where the control information at least includes the identification information of the multicast group 220. The messaging controller 321 sends control information to the allocator 322 and data payloads to the multicast buffer 310. After receiving the control information, the dispatcher 322 calculates a second node that needs to receive the multicast message according to the control information, when receiving the calculated second control signals sent by all the second nodes through the second control bus 333, determines that all the second nodes are in ready state, and sends a third control signal to the messaging controller 321 to inform the messaging controller 321 that the corresponding data payload is ready to be sent. When the messaging controller 321 receives the third control signal sent by the dispatcher 322, it obtains the data payload from the multicast buffer 310, sends the data payload to the corresponding second node on the data bus 331, and simultaneously sends the first control signal to the corresponding second node on the first control bus 332, and when the second node discovers the first control signal, it starts to receive the data payload on the data bus 331.
To facilitate the differentiation of multicast groups 220, each multicast group 220 may also be assigned an identification information. In one possible implementation, the identification information is made up of two fields, the first field representing the group identification of the multicast group 220 in the network on chip and the second field representing the bitmap of nodes within the multicast group 220 that need to participate in the current multicast.
The group identity may be represented by at least one bit of data, and the number of bits of data is related to the number of multicast groups 220. For example, when the on-chip network includes 2 multicast groups 220, one bit of data may be used to distinguish between, for example, 0 identifies multicast group 1 and 1 identifies multicast group 2; when 4 multicast groups 220 are included in the network on chip, two bits of data may be used to distinguish between, for example, 00 for multicast group 1, 01 for multicast group 2, 10 for multicast group 3, and 11 for multicast group 4.
Each bit in the node bitmap corresponds to one second node in the multicast group 220, and the value of each bit may indicate whether the corresponding second node is participating in the current multicast. Taking the values 0 and 1 as examples, when a certain bit in the node bitmap is 0, the corresponding second node is not involved in the current multicast; when a certain bit in the node bitmap is 1, the corresponding second node participates in the current multicast.
Taking multicast group 1 and multicast group 2 in fig. 2 as an example, the identification information of multicast group 1 is 0xxxx, the identification information of multicast group 2 is 1xxxx, and the value of xxxx is 0000-1111.
After the identification information is determined, a multicast routing table is also required to be set in the first router, and the multicast routing table contains a mapping relationship between the group identification and the second router. Because the first router can only acquire the identification information from the multicast message, the first router also needs to process the identification information so as to obtain the group identification therein.
In one implementation, a shift register may be provided in the network on chip, the shift register being coupled to the first router and the shift register being configured to store the right shift number. Thus, when the identification information of the multicast group includes a group identification and a node bitmap, and each bit in the node bitmap is used for indicating whether the second node participates in the current multicast, the first router is used for shifting the identification information to the right by the right shift number, determining the second router in the multicast group according to the group identification obtained after the right shift, and sending the multicast message to the second router. The right shifting bit is used for shielding a node bitmap in the identification information, so that the first router can determine the group identification according to the identification information, and then a corresponding second router is found in the multicast routing table.
Taking the multicast group 1 in fig. 2 as an example, assume that the identification information of the multicast group 1 is 01111, which indicates that the group identification is 0, the nodes 1-4 participate in the current multicast, and the right shift number is 4, the first router may shift 01111 by four bits to the right to obtain the group identification 0, and then find that the corresponding second router is router1 in the multicast routing table.
Referring to fig. 5, a method flowchart of a multicast message transmission method according to an embodiment of the present application is shown, where the multicast message transmission method may be applied to a network on chip. The multicast message transmission method may include:
in step 501, a first node sends a multicast message to a first router through an adapter, where the multicast message includes a data payload and identification information of a multicast group.
In step 503, the second router sends the multicast message to the multicast network.
In step 504, the multicast network sends the data payload in the multicast packet to the second node.
In summary, the multicast message transmission method provided in the embodiment of the present application may be designed based on the characteristics of an artificial intelligence algorithm, that is, a first node is used as a source node, a second node in a multicast group is used as a target node, and the source node may send a multicast message to the second router through the first router, the second router sends the multicast message to a multicast network, and the multicast network sends the multicast message to each second node, so that the purpose that the source node multicasts the message to the target node in the multicast group is achieved, thereby simplifying the algorithm and reducing the cost.
Referring to fig. 6, a method flowchart of a multicast message transmission method according to an embodiment of the present application is shown, where the multicast message transmission method may be applied to a server. The multicast message transmission method may include:
in step 601, a first node sends a multicast message to a first router through an adapter, where the multicast message includes a data payload and identification information of a multicast group.
The first node may generate a unicast message or a multicast message, and for convenience of distinguishing, the first node may also send a message type identifier when sending the message, so as to indicate whether the message is a unicast message or a multicast message through the message type identifier.
Specifically, the sending, by the first node, the multicast packet to the first router through the adapter may include: the first node sends a message and a message type identifier to the first router through the adapter, wherein the message type identifier is used for indicating that the message is a multicast message or a unicast message; the first router receives the message and the message type identifier, and determines to receive the multicast message when determining that the message is the multicast message according to the message type identifier.
It should be noted that, if the first router determines that the message is a multicast message, step 602 is continuously executed; if the first router determines that the message is a unicast message, calculating a next hop forwarding port according to the destination node following a default forwarding rule, and the following process may refer to an implementation process in the prior art, which is not described herein.
The multicast message needs to include the identification information of the multicast group in addition to the data payload. In actual implementation, the first node may add the identification information of the multicast group to the header of the multicast packet, or the adapter may add the identification information of the multicast group to the header of the multicast packet, which is not limited in this embodiment.
In step 602, the first router determines a second router in the multicast group according to the identification information, and sends the multicast message to the second router.
Specifically, the determining, by the first router, the second router in the multicast group according to the identification information may include: the first router acquires the right shift number from the shift register; the first router right shifts the identification information by the right shift number to obtain a group identification; the first router searches a second router corresponding to the group identifier from a pre-stored multicast forwarding table.
Taking the multicast group 1 in fig. 2 as an example, assume that the identification information of the multicast group 1 is 01111, which indicates that the group identification is 0, the nodes 1-4 participate in the current multicast, and the right shift number is 4, the first router may shift 01111 by four bits to the right to obtain the group identification 0, and then find that the corresponding second router is router1 in the multicast routing table.
After determining the second router, the first router may calculate a next forwarding port according to the destination address of the second router, so as to send the multicast packet to the next router. After receiving the multicast message, the next router determines whether the next router is the second router according to the destination address, and if the next router is the second router, step 603 is executed; if the router is not the second router, the next forwarding port is continuously calculated.
In step 603, the second router sends the multicast message to the multicast network.
The second router may send the multicast message to the multicast network through the multicast port.
In step 605, the multicast buffer buffers the data payload.
Specifically, the determining, by the allocator, the second node that needs to receive the data payload according to the identification information may include: the distributor obtains a node bitmap in the identification information, and determines a second node according to the numerical value of each bit in the node bitmap.
For example, if the identification information is 01111, the allocator determines that the nodes 1-4 all participate in the current multicast, and determines the node 1-4 as the second node.
Specifically, the sending the third control signal to the messaging controller may include: after the distributor receives the second control signal sent by each second node through the second control bus, the distributor sends a third control signal to the message transceiver controller, and the second control signal is used for indicating that the second node is in a state of being ready to receive data.
Taking fig. 4 as an example, after the distributor receives the ready signal sent by each second node, a third control signal is sent to the messaging controller.
In step 607, the messaging controller obtains the data payload from the message buffer according to the third control signal, and sends the data payload to the determined second node through the link path.
Specifically, sending the data payload to the determined second node through the link path may include: the message transceiver controller sends data payloads to each determined second node through the data bus, and sends first control signals to each determined second node through the first control bus, wherein the first control signals are used for indicating the second nodes to receive the data payloads.
And after the message receiving and transmitting controller receives the third control signal sent by the distributor, acquiring the data payload from the multicast buffer, sending the data payload to the corresponding second node on the data bus, simultaneously sending the first control signal to the corresponding second node on the first control bus, and starting to receive the data payload on the data bus when the second node finds the first control signal.
In summary, the multicast message transmission method provided in the embodiment of the present application may be designed based on the characteristics of an artificial intelligence algorithm, that is, a first node is used as a source node, a second node in a multicast group is used as a target node, and the source node may send a multicast message to the second router through the first router, the second router sends the multicast message to a multicast network, and the multicast network sends the multicast message to each second node, so that the purpose that the source node multicasts the message to the target node in the multicast group is achieved, thereby simplifying the algorithm and reducing the cost.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program for instructing relevant hardware, where the program may be stored in a computer readable storage medium, and the storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
The foregoing description is not intended to limit the embodiments of the present application, and any modifications, equivalents, improvements, etc. that fall within the spirit and principles of the embodiments of the present application are intended to be included within the scope of the embodiments of the present application.
Claims (11)
1. A network on chip, the network on chip comprising: at least one first processing unit and at least one multicast group;
the first processing unit comprises a first node, an adapter and a first router which are sequentially connected;
the multicast group comprises a multicast network, a second processing unit and at least one third processing unit, wherein the second processing unit comprises a second node, an adapter and a second router which are sequentially connected, the third processing unit comprises a second node, an adapter and a first router which are sequentially connected, and the second node and the second router are respectively connected with the multicast network;
the first router and the second router are connected through a link;
the second router is used for receiving the multicast message forwarded by the first router and forwarding the multicast message to the multicast network.
2. The network on chip of claim 1, wherein the multicast network includes a multicast buffer, a multicast controller, and a link path, the multicast buffer being connected to the multicast controller, the multicast controller being connected to the second node through the link path;
the multicast controller is configured to receive a multicast packet sent by the second router, and send a data payload in the multicast packet to the multicast buffer;
the multicast buffer is used for buffering the data payload;
the multicast controller is further configured to send the data payload buffered in the multicast buffer to the second node through the link path.
3. The network on chip of claim 2, wherein the multicast controller comprises a messaging controller and a distributor, the messaging controller being connected to the distributor;
the link path comprises a data bus, a first control bus and a second control bus, the message receiving and transmitting controller is connected with the second node through the data bus and the first control bus, and the distributor is connected with the second node through the second control bus;
the message transceiver controller is configured to send the data payload to the second node through the data bus;
the message transceiver controller is configured to send a first control signal to the second node through the first control bus, where the first control signal is used to instruct the second node to receive the data payload;
the second node is configured to send a second control signal to the allocator via the second control bus, the second control signal being configured to indicate that the second node is in a ready-to-receive data state.
4. The network on chip of claim 1, wherein the network on chip further comprises a shift register, the shift register coupled to the first router;
the shift register is used for storing right shift bits;
when the identification information of the multicast group comprises a group identification and a node bitmap, and each bit in the node bitmap is used for indicating whether the second node participates in the current multicast, the first router is used for shifting the identification information to the right by the right shift number, determining a second router in the multicast group according to the group identification obtained after the right shift, and sending the multicast message to the second router.
5. A method for transmitting multicast messages, which is used in the network on chip according to any one of claims 1 to 4, and comprises:
the first node sends a multicast message to the first router through the adapter, wherein the multicast message comprises a data payload and identification information of the multicast group;
the first router determines a second router in the multicast group according to the identification information, and sends the multicast message to the second router;
the second router sends the multicast message to the multicast network;
and the multicast network sends the data payload in the multicast message to the second node.
6. The method of claim 5, wherein when the multicast buffer, the multicast controller, and the link path are included in the multicast network, the multicast network sends the data payload in the multicast packet to the second node, comprising:
the multicast controller receives the multicast message sent by the second router and sends the data payload of the multicast message to the multicast buffer;
the multicast buffer buffers the data payload;
and the multicast controller transmits the data payload cached in the multicast buffer to the second node through the link path.
7. The method of claim 6, wherein, when the messaging controller and the distributor are included in the multicast controller,
the multicast controller receives the multicast message sent by the second router, and sends a data payload in the multicast message to the multicast buffer, including: the message receiving and transmitting controller receives the multicast message sent by the second router, splits the multicast message into the data payload and control information, sends the data payload to the multicast buffer, and sends the control information to the distributor;
the method further comprises the steps of: when the control information comprises the identification information, the distributor determines a second node which needs to receive the data payload according to the identification information and sends a third control signal to the message receiving and transmitting controller;
the multicast controller sends the data payload buffered in the multicast buffer to the second node through the link path, including: and the message receiving and transmitting controller acquires the data payload from the message buffer according to the third control signal, and sends the data payload to the determined second node through the link path.
8. The method of claim 7, wherein when the identification information of the multicast group includes the group identification and the node bitmap, the allocator determines a second node that needs to receive the data payload according to the identification information, comprising:
the distributor obtains a node bitmap in the identification information, and determines the second node according to the numerical value of each bit in the node bitmap.
9. The method of claim 7, wherein when the link path includes the data bus, the first control bus, and the second control bus,
the sending a third control signal to the messaging controller includes: after the distributor receives a second control signal sent by each second node through the second control bus, the distributor sends the third control signal to the message transceiver controller, wherein the second control signal is used for indicating that the second node is in a state of being ready to receive data;
said sending said data payload to said determined second node via said link path comprising: the message transceiver controller sends the data payload to each determined second node through the data bus, and sends the first control signal to each determined second node through the first control bus, wherein the first control signal is used for indicating the second node to receive the data payload.
10. The method of claim 5, wherein when the network-on-chip further comprises the shift register and the identification information of the multicast group comprises the group identification and the node bitmap, the first router determining a second router in the multicast group according to the identification information, comprising:
the first router acquires the right shift number from the shift register;
the first router right shifts the identification information by the right shift number to obtain the group identification;
the first router searches a second router corresponding to the group identifier from a prestored multicast forwarding table.
11. The method of claim 10, wherein the first node sending a multicast message to the first router via the adapter comprises:
the first node sends a message and a message type identifier to the first router through the adapter, wherein the message type identifier is used for indicating that the message is a multicast message or a unicast message;
the first router receives the message and the message type identifier, and determines to receive the multicast message when determining that the message is the multicast message according to the message type identifier.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111205341.9A CN115996199A (en) | 2021-10-15 | 2021-10-15 | Network-on-chip and multicast message transmission method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111205341.9A CN115996199A (en) | 2021-10-15 | 2021-10-15 | Network-on-chip and multicast message transmission method |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115996199A true CN115996199A (en) | 2023-04-21 |
Family
ID=85992589
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111205341.9A Pending CN115996199A (en) | 2021-10-15 | 2021-10-15 | Network-on-chip and multicast message transmission method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115996199A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118585357A (en) * | 2024-08-02 | 2024-09-03 | 北京开源芯片研究院 | Component communication method, device, equipment and storage medium in verification environment |
-
2021
- 2021-10-15 CN CN202111205341.9A patent/CN115996199A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118585357A (en) * | 2024-08-02 | 2024-09-03 | 北京开源芯片研究院 | Component communication method, device, equipment and storage medium in verification environment |
CN118585357B (en) * | 2024-08-02 | 2024-10-15 | 北京开源芯片研究院 | Component communication method, device, equipment and storage medium in verification environment |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6535504B1 (en) | Link aggregation path selection method | |
US6778532B1 (en) | Packet relaying apparatus and high speed multicast system | |
CN109873771B (en) | On-chip network system and communication method thereof | |
JPWO2011148583A1 (en) | Bus control device and control device for outputting instructions to bus control device | |
CN101019385B (en) | Port aggregation across stack of devices | |
US10637739B2 (en) | Network topology system and building method for topologies and routing tables thereof | |
WO2022121707A1 (en) | Packet transmission method, device, and system | |
CN115996199A (en) | Network-on-chip and multicast message transmission method | |
CN103609063A (en) | Protocol independent multicast last hop router discovery | |
WO2022037571A1 (en) | Packet forwarding method and apparatus, and computer-readable storage medium | |
CN116094987A (en) | Method and device for determining forwarding path | |
CN111464443B (en) | Message forwarding method, device, equipment and storage medium based on service function chain | |
CN113285878A (en) | Load sharing method and first network equipment | |
CN110324249B (en) | Dragonfly network architecture and multicast routing method thereof | |
CN110996266A (en) | Multicast group data transmission method of ad hoc network system | |
CN114697300B (en) | Data multicast realization method of high-timeliness communication system | |
CN115225708B (en) | Message forwarding method computer equipment and storage medium | |
WO2022257854A1 (en) | Message publishing method and apparatus, and forwarding path processing method and apparatus | |
WO2022267083A1 (en) | Path determination methods and apparatus | |
CN114697347B (en) | Data transmission system with network memory capacity | |
CN110191069B (en) | Annular network on chip with multiple channels | |
CN116828024A (en) | Service connection identification method, device, system and storage medium | |
CN114363246A (en) | Many-core network-on-chip data transmission method, device, equipment and medium | |
CN104052671B (en) | The processing method and routing bridge of multicast forwarding list item in TRILL network | |
CN115277552A (en) | Method, device and equipment for transmitting message |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |