WO2022148359A1 - Multi-core system-based broadcasting method, electronic device, and computer readable medium - Google Patents

Multi-core system-based broadcasting method, electronic device, and computer readable medium Download PDF

Info

Publication number
WO2022148359A1
WO2022148359A1 PCT/CN2022/070211 CN2022070211W WO2022148359A1 WO 2022148359 A1 WO2022148359 A1 WO 2022148359A1 CN 2022070211 W CN2022070211 W CN 2022070211W WO 2022148359 A1 WO2022148359 A1 WO 2022148359A1
Authority
WO
WIPO (PCT)
Prior art keywords
processing core
processing
core
feedback signal
signal
Prior art date
Application number
PCT/CN2022/070211
Other languages
French (fr)
Chinese (zh)
Inventor
何伟
沈杨书
祝夭龙
Original Assignee
北京灵汐科技有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 北京灵汐科技有限公司 filed Critical 北京灵汐科技有限公司
Publication of WO2022148359A1 publication Critical patent/WO2022148359A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/122Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/36Backward learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/109Integrated on microchip, e.g. switch-on-chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present disclosure relates to the field of computer technology, and in particular, to a broadcasting method, electronic device, computer-readable medium and computer program product based on a many-core system.
  • a Network On Chip (NOC) is used to implement communication between processing cores.
  • NOC Network On Chip
  • the present disclosure provides a broadcasting method, an electronic device, a computer-readable medium, and a computer program product based on a many-core system.
  • the present disclosure provides a broadcasting method based on a many-core system
  • the many-core system includes a plurality of processing cores, and the plurality of processing cores are communicated and connected through an on-chip network
  • the method includes: when a preset is satisfied In the case of the broadcast condition of , the first broadcast signal is sent to the processing core of the many-core system for the first time, wherein the first broadcast signal includes the maximum transmission step; In the first time after the signal, if the first feedback signal for the first broadcast signal is not received, send the first broadcast signal to the processing core of the many-core system for the i+1th time, i is an integer greater than or equal to 1.
  • the present disclosure provides an electronic device comprising: a plurality of processing cores; and an on-chip network configured to exchange data among the plurality of processing cores and external data; wherein the processing Instructions are stored in the core, and the instructions are executed by the processing core to enable the processing core to execute the above-mentioned broadcast method.
  • the present disclosure provides a computer-readable medium on which a computer program is stored, wherein the computer program implements the above-mentioned broadcasting method when executed by a processor.
  • the present disclosure provides a computer program product comprising computer-readable codes, or a non-volatile computer-readable storage medium carrying computer-readable codes, wherein, when the computer-readable codes are stored in an electronic device When running in the processor of the electronic device, the processor in the electronic device executes the method for implementing the above-mentioned broadcasting.
  • a broadcast signal can be sent to the processing core when the broadcast conditions are satisfied, and the broadcast signal can be sent again when no feedback signal is received within the first time after sending.
  • FIG. 1 is a schematic diagram of a many-core system according to an embodiment of the present disclosure.
  • FIG. 2 is a flowchart of a broadcasting method based on a many-core system according to an embodiment of the present disclosure.
  • FIG. 3 is a block diagram of a broadcast apparatus based on a many-core system according to an embodiment of the present disclosure.
  • FIG. 4 is a block diagram of an electronic device according to an embodiment of the present disclosure.
  • Many Core system refers to a processing core collection system composed of a large number of processing cores connected together in a preset manner.
  • each processing core (core, Core) is the smallest unit that can be independently scheduled and has independent computing capabilities, that is, each processing core has its own independent storage resources and computing resources, so that it can independently perform required operations (for example, neural network operations).
  • the many-core system may be a multi-core chip, a combination of multiple single-core chips, or a combination of multiple multi-core chips, which is not limited in the present disclosure.
  • Different processing cores of the many-core system can be connected to each other through routing (the routing can be, for example, in the form of a bus, an on-chip network, etc.), thereby realizing information exchange between any two processing cores.
  • the routing can be, for example, in the form of a bus, an on-chip network, etc.
  • multiple processing cores in the many-core system can cooperate with each other to perform certain operations.
  • the many-core system may also include some other units, such as a scheduler that controls each processing core, an on-chip storage space accessible to each processing core, etc., which is not limited in the present disclosure.
  • multiple processing cores in the many-core system are connected through a Network On Chip (NOC) communication to implement communication between the processing cores and electronic devices outside the many-core system.
  • NOC Network On Chip
  • FIG. 1 is a schematic diagram of a many-core system according to an embodiment of the present disclosure.
  • the multiple processing cores in the many-core system that is, the dots in Figure 1, each dot in Figure 1 represents a processing core of the many-core system
  • the processing cores including adjacent in the column direction and adjacent in the row direction can directly communicate signals to each other.
  • the processing core N0 and the processing core N1 are adjacent processing cores in the row direction.
  • the processing core N0 can send a signal to the processing core N1, and the processing core N1 can also send a signal to the processing core N0.
  • signals can reach other processing cores in the many-core system from one processing core in the many-core system that are not adjacent to it.
  • the processing core N0 sends the signal to the processing core N1
  • the processing core N1 sends the signal to the processing core N2, so that the signal reaches the processing core N2 from the processing core N0.
  • the processing core can send the data to be sent to the destination processing core to adjacent processing cores in the form of signals, and forward it step by step through the on-chip network, and finally reach the destination processing core, thereby realizing any processing core and processing Communication between cores.
  • the processing core may add flag bit information to the data (eg, in the data header), where the flag bit information is used to indicate the location of the destination processing core to which the data needs to be sent, and send the data in the form of a signal to the destination processing core.
  • the processing cores can also broadcast data. Since broadcasting is to send data to all possible receiving processing cores as much as possible, it does not have a destination. Therefore, when broadcasting data, it is not necessary to add flag information to the data.
  • a processing core that needs to broadcast data directly sends the data to all adjacent processing cores in the form of signals, and these adjacent processing cores then send the received signals to other adjacent processing cores except the processing core.
  • the processing core N0 is a processing core that needs to broadcast data, and it sends the data to all its adjacent processing cores, such as the processing core N1 , in the form of a signal. After the processing core N1 receives the signal, it sends it to all other adjacent processing cores except the processing core N0, such as the processing core N2. Similarly, after the processing core N2 receives the signal, it also sends the signal to all other adjacent processing cores except the processing core N1.
  • the signal can traverse the processing cores of the entire many-core system "from near to far” from the processing core N0 (ie, the processing cores that are close to the processing core N0 are received before the processing cores that are farther away from the processing core N0). Signal).
  • the processing core when the processing core sends a signal, it does not "turn back", that is, after the processing core receives the signal, it does not send a signal to the processing core that sends the signal to itself. For example, after the processing core N1 receives the signal sent by the processing core N0, The signal will not be sent to the processing core N0 again, so the signal will "go farther and farther", and the processing core that has already received the signal will not receive the signal again.
  • the data packets of the signal may be propagated unrestrictedly, wasting transmission resources. Moreover, the processing core that has received the signal will not receive the signal again, which may cause the processing core to fail to respond to the signal, reducing the processing efficiency of the system.
  • a possible situation is, for example, that the processing core is in a busy state when it receives a signal for issuing a task, but enters an idle state after the signal has passed, resulting in failure to respond to the signal.
  • a broadcasting method based on a many-core system which can limit the range of signal transmission and introduce a replay mechanism, which can improve the utilization rate of transmission resources and improve the overall processing efficiency of the system.
  • the broadcasting method based on the many-core system according to the embodiment of the present disclosure can be applied to any processing core of the many-core system, or an electronic device outside the many-core system, which is not limited in the present disclosure.
  • FIG. 2 is a flowchart of a broadcasting method based on a many-core system according to an embodiment of the present disclosure. As shown in Figure 2, the method includes:
  • step S21 when a preset broadcast condition is satisfied, a first broadcast signal is sent to the processing core of the many-core system for the first time, wherein the first broadcast signal includes a maximum transmission step size;
  • step S22 if the first feedback signal for the first broadcast signal is not received within the first time after the i-th transmission of the first broadcast signal, the processing core of the many-core system is sent to the The first broadcast signal is sent i+1 times, where i is an integer greater than or equal to 1.
  • broadcast conditions may be preset.
  • the broadcast condition may include: there is a task to be allocated; for a processing core, the broadcast condition may include: there is a task to be allocated in the processing core, the processing core cannot process the current Task (for example, an operation error occurs in the processing core, the temperature of the processing core exceeds a temperature threshold, etc.), the processing of the current task of the processing core has been completed, and the like. It should be understood that those skilled in the art can set the broadcast condition according to the actual situation, which is not limited in the present disclosure.
  • a broadcast signal (referred to as a first broadcast signal) may be generated in step S21, and the first broadcast signal is sent to the processing core of the many-core system for the first time Signal.
  • the first broadcast signal may be sent in the above-mentioned broadcast manner. That is, for an external electronic device, the first broadcast signal can be sent to the first processing core directly connected to the external electronic device in the many-core system, and then sent by the first processing core to its adjacent processing cores.
  • the first broadcast signal for any processing core (which can be referred to as the first processing core), the first broadcast signal can be directly sent to its adjacent processing cores, and these processing cores adjacent to the first processing core will then receive the first broadcast signal.
  • the broadcast signal is sent to other processing cores adjacent to it except the first processing core.
  • the first broadcast signal refers to a signal that needs to be fed back, that is, after other processing cores receive the signal, if the processing core satisfies the condition for feeding back the first broadcast signal, it can send the signal to the external electronic device through the on-chip network.
  • the device or the first processing core sends a feedback signal. Since the communication between the processing cores is through the processing core of the many-core system, it can also be said that the processing core sends the feedback signal to the external electronic device or the first processing core.
  • a certain processing core when a certain processing core receives a broadcast signal, it does not meet the feedback condition, for example, it is in a "busy" state, then the feedback signal will not be sent.
  • the broadcast signal of the network on chip "doesn't look back"
  • a processing core receives the first broadcast signal, it cannot receive the first broadcast signal again, so even after the processing core has been satisfied to feed back the first broadcast signal condition, the feedback signal can no longer be sent according to the first broadcast signal.
  • the feedback signal can be sent to the external electronic device or the first processing core.
  • the process of sending the feedback signal may specifically be as follows: the processing core sends a feedback signal to the adjacent processing core that is closest to the external electronic device or the first processing core among its adjacent processing cores according to the position of the external electronic device or the first processing core, the Neighboring processing cores continue to send feedback signals to their neighboring processing cores that are closer to the external electronic device or the first processing core until the feedback signal reaches the external electronic device or the first processing core.
  • the processing core that sends the feedback signal also takes time for the processing core that sends the feedback signal to send the feedback signal until the external electronic device or the first processing core receives the feedback signal, and the processing core that sends the feedback signal is farther away from the external electronic device or the first processing core.
  • the shorter the time from sending the feedback signal to the external electronic device or the first processing core receiving the feedback signal the farther the processing core sending the feedback signal is from the external electronic device or the first processing core, the longer the time from sending the feedback signal to the external electronic device The longer the device or the first processing core receives the feedback signal.
  • a first time may be preset to indicate a time interval for replay. If the feedback signal (referred to as the first feedback signal) sent by other processing cores is received within the first time, the broadcasting process can be ended and the first feedback signal can be processed. For example, according to the received first feedback signal, a connection signal is sent to the processing core that sent the first feedback signal, where the connection signal is used to indicate that the first feedback signal has been received.
  • the feedback signal referred to as the first feedback signal
  • the next first broadcast signal is sent to the processing cores of the many-core system. That is, in step S22, for any i-th (i is an integer greater than or equal to 1) transmission, if the first broadcast signal is not received within the first time after the i-th transmission of the first broadcast signal.
  • the first broadcast signal is sent to the processing core of the many-core system for the i+1th time. Until a feedback signal is received, or a condition for stopping replay is reached (for example, a preset threshold of replay times is reached), the broadcasting process can be ended.
  • the first feedback signal for the first broadcast signal is not received, which may be the processing core that receives the first broadcast signal,
  • the feedback condition is not met when the broadcast signal is broadcast; it may also be that the processing core that receives the first broadcast signal and meets the feedback condition is far away, although it has already sent the feedback signal, but the feedback signal is still in the process of being transmitted, and it fails to reach the first broadcast signal. reach the external electronic device or the first processing core within a time.
  • the broadcast signal is sent again, so that the processing core that does not meet the feedback condition when receiving the last first broadcast signal can receive the The first broadcast signal, and the feedback signal is sent if the feedback condition is satisfied.
  • the feedback signal sent by the processing core may reach the external electronic device or the first processing core faster than the feedback signal sent by the processing core at a farther distance in response to the last first broadcast signal. nuclear.
  • the received feedback signal is more likely to be sent by the processing core closer to itself, so that the external electronic device or the first processing core is processing the feedback signal.
  • the communicated data can reach the processing core faster, which is convenient for processing feedback signals, and the number of processing cores occupied in the communication process (also It can be said that resources) are also less.
  • the processing core N0 is, for example, the first processing core, and sends the first broadcast signal to the adjacent processing core; when the processing core N1 receives the processing When the first broadcast signal sent by the core N0, if the processing core corresponding to the processing core N1 does not satisfy the feedback condition, the processing core N1 sends the broadcast signal to the processing core adjacent to it except the processing core N0, such as the processing core N2; The processing core corresponding to the core N2 also does not meet the conditions for feeding back broadcast signals, and the processing core N2 continues to send the broadcast signal to the processing cores adjacent to it except the processing core N1, and so on, the broadcast signal may reach the processing core N3.
  • the processing core N3 if the processing core N3 satisfies the feedback condition, the processing core N3 sends a feedback signal to the processing core N0 according to the position of the processing core N0, and the process of sending the feedback signal is the same as the first broadcast signal from the processing core N0 to the processing core N3.
  • the process is similar, that is, the feedback signal needs to pass through multiple processing cores such as the processing core N3, the processing core N2, and the processing core N1 to reach the processing core N0.
  • the feedback signal may not reach the processing core N0 in the first time.
  • the first broadcast signal is sent again.
  • the processing core N1 sends a feedback signal to the processing core N0.
  • the processing core N1 is relatively close to the processing core N0. It may be that the feedback signal sent by the processing core N3 to the processing core N0 in the last broadcast process has not reached the processing core N0.
  • the feedback signal sent by the processing core N1 to the processing core N0 during the broadcast process has reached the processing core N0, so that the processing core N0 preferentially receives the feedback signal sent by the processing core N1.
  • the distance between the processing core N1 and the processing core N0 is obviously shorter than the distance between the processing core N3 and the processing core N1
  • the communication speed between the processing core N1 and the processing core N0 is obviously higher than the communication speed between the processing core N3 and the processing core N0.
  • the many-core system has many processing cores.
  • the external electronic device or the first processing core may have received the feedback signal sent by the processing cores that are closer. At this time, it is meaningless to continue to transmit the broadcast signal, but it will occupy the transmission resources of the processing core and affect the transmission of other signals in the on-chip network.
  • the broadcast signal is sent to the processing core with a long distance. Even if the processing core can process the broadcast signal, the feedback signal sent by the processing core is also received. Signal transmission between multiple processing cores may also cause signal loss, affect communication quality, and reduce the processing efficiency of processing signals by the processing cores.
  • the communication between the processing cores that send the feedback signal only passes through the number of processing cores within a predetermined number, so as to ensure the quality of communication with the processing cores that send the feedback signal, and improve the efficiency of processing the feedback signal.
  • a maximum transmission step size is included in the first broadcast signal. That is to say, by adding a predetermined step size limit to the first broadcast signal, the propagation range of the first broadcast signal is limited, so as to ensure that the first broadcast signal is only sent to the processing core whose distance from the first processing core is within the predetermined range. nuclear. In this way, the utilization rate of transmission resources in the many-core system can be improved.
  • the value of counting the number of processed cores in the first broadcast signal is incremented by 1, and when this value is consistent with the predetermined maximum transmission step size, the Delete the broadcast signal.
  • each time the first broadcast signal is transferred between processing cores the maximum transmission step size of the first broadcast signal is decreased by 1, and when the maximum transmission step size becomes 0, the maximum transmission step size of the first broadcast signal is reduced by 1.
  • the first broadcast signal is forwarded and the first broadcast signal is deleted.
  • the processing core that receives the first broadcast signal may determine the distance to the external electronic device or the first processing core, and compare it with the maximum transmission step size. If the distance does not reach the maximum transmission step size, it will be forwarded; if the distance reaches the maximum transmission step size, it will not be forwarded and deleted.
  • the present disclosure does not limit the specific implementation.
  • a broadcasting signal can be sent to the processing core under the condition that broadcasting conditions are satisfied, and the broadcasting signal can be sent again under the condition that no feedback signal is received within the first time after sending, by introducing a replay mechanism And limiting the range of broadcast signal transmission can improve the overall processing efficiency in the many-core system and improve the utilization rate of transmission resources in the system.
  • the broadcasting method according to the embodiment of the present disclosure may further include:
  • a first feedback signal for the first broadcast signal is received within a first time after the i-th transmission of the first broadcast signal, use the first feedback signal as a target feedback signal;
  • Corresponding processing is performed according to the target feedback signal.
  • the first feedback signal can be directly used as the target feedback signal, and the broadcasting process is ended.
  • corresponding processing is performed on the target feedback signal, such as shaking hands with the processing core corresponding to the first feedback signal, sending task data to the processing core, or receiving task data from the processing core, etc.
  • the present disclosure does not limit the specific processing method. .
  • the broadcasting method according to the embodiment of the present disclosure may further include:
  • the first feedback signal is used as the target feedback signal
  • Corresponding processing is performed according to the target feedback signal.
  • the first feedback signal can be buffered and waited for a certain period of time (that is, the second time).
  • the second time is smaller than the first time, that is, the time interval from receiving the feedback signal for the first time to stopping receiving the feedback signal is smaller than the time interval between repeatedly sending the broadcast signal.
  • the first feedback signal may be used as the target feedback signal, and the broadcasting process is ended. Further, corresponding processing is performed on the target feedback signal, such as shaking hands with the processing core corresponding to the first feedback signal, sending task data to the processing core, or receiving task data from the processing core, etc.
  • the present disclosure does not limit the specific processing method. .
  • the broadcasting method according to the embodiment of the present disclosure may further include:
  • the target processing core that sends the target feedback signal is the processing core with the smallest signal transmission step
  • Corresponding processing is performed according to the target feedback signal.
  • the first feedback signal sent by other processing cores can be buffered and waited for a certain period of time (that is, the second time).
  • all feedback signals may be The target feedback signal is determined in the second feedback signal), and then the corresponding processing is performed on the target feedback signal,
  • the positions of the processing cores that send the feedback signals may be determined from the feedback signals received, the distances of the processing cores may be calculated, and the processing core with the shortest distance may be selected from all the processing cores corresponding to the feedback signals received.
  • the processing core is the target processing core, and the feedback signal sent by the processing core is the target feedback signal.
  • the distance of a certain processing core specifically refers to the signal transmission step size between the processing core and the external electronic device or the first processing core, that is, the signal is transmitted from the processing core to the external electronic device or the first processing core
  • the length of the shortest path traversed. Determine the processing core with the shortest distance as the target processing core. That is to say, determine the processing core from which all received feedback signals come from, and determine the processing core with the smallest signal transmission step among these processing cores (or at the same transmission speed, send The signal can reach the external electronic device or the processing core of the first processing core as soon as possible as the target processing core, and the feedback signal sent by the processing core is the target feedback signal.
  • the target feedback signal may be determined, other feedback signals may be received, and if other feedback signals are received, the feedback signal may be ignored.
  • the target processing core with the smallest signal transmission step size can be selected according to the multiple received feedback signals, and the feedback signal of the target processing core can be processed, so that it can be paired with a processing core with a closer distance and improve communication. Efficiency and efficiency of task handling.
  • the broadcasting method according to the embodiment of the present disclosure can be used for task scheduling, for example, issuing a new task from an external electronic device or the first processing core to other processing cores; or when the first processing core is in an idle state, actively Other processing cores ask if there are new tasks to be processed.
  • the broadcasting method according to the embodiment of the present disclosure may be applied to a first processing core of the many-core system, or an electronic device outside the many-core system, where the first processing core is a plurality of the process one of the cores,
  • the broadcast condition includes: there is a first target task to be assigned; the first broadcast signal includes a handshake signal for assigning a task;
  • the performing corresponding processing according to the target feedback signal includes:
  • the external electronic device or the first processing core may issue a new task to other processing cores by way of broadcasting.
  • the preset broadcast condition may include: there is a first target task to be allocated. That is, when there is a first target task to be allocated, it is determined that the broadcast conditions are met, and the first broadcast signal can be sent to the processing core of the many-core system in steps S21-S22, and the feedback signal is not received within the first time. replay.
  • the first broadcast signal includes a handshake signal for assigning tasks, that is, handshakes can be performed with other processing cores to assign tasks to other processing cores.
  • the processing core that satisfies the feedback condition may send a feedback signal to the external electronic device or the first processing core; after receiving the feedback signal, the external electronic device or the first processing core may determine whether to The feedback signal is determined as the target feedback signal, and the description will not be repeated here.
  • corresponding processing is performed according to the target feedback signal. That is, communicate with the target processing core that sends the target feedback signal through the on-chip network to complete the handshake; and after completing the handshake, send the task data corresponding to the first target task to the target processing core, so that the target processing core executes the first target processing core. a target task.
  • decentralized task scheduling can be achieved, and through dynamic task distribution, the balance between the processing cores in the many-core system can be achieved, and the overall processing efficiency of the system can be improved.
  • the broadcasting method according to the embodiment of the present disclosure may be applied to a first processing core of the many-core system, where the first processing core is one of a plurality of the processing cores,
  • the broadcast condition includes any one of the following: there is a second target task to be allocated in the first processing core, an operation error occurs during the processing of the second target task by the first processing core, the first processing the temperature of the core during processing of the second target task exceeds a temperature threshold; the first broadcast signal includes a handshake signal for assigning tasks;
  • the performing corresponding processing according to the target feedback signal includes:
  • the first processing core may issue a corresponding task to other processing cores by broadcasting.
  • the preset broadcast conditions may include any of the following: there is a second target task to be allocated in the first processing core, an operation error occurs during the processing of the second target task by the first processing core, the first processing core The temperature during processing of the second target task exceeds the temperature threshold.
  • the first processing core if an operation error occurs during the processing of the second target task by the first processing core, the first processing core cannot obtain the correct processing result of the second target task, and other processing cores need to execute the second target task; If the temperature of the first processing core exceeds the temperature threshold during processing of the second target task, the first processing core cannot continue to process the second target task, and other processing cores need to execute the second target task. It should be understood that there may be other situations where the first processing core itself cannot process the current second target task, which is not limited in the present disclosure.
  • the first processing core may send the first broadcast signal to the processing cores of the many-core system in steps S21-S22, and does not receive the feedback signal within the first time replay.
  • the first broadcast signal includes a handshake signal for assigning tasks, that is, handshakes can be performed with other processing cores to assign tasks to other processing cores.
  • the processing core that satisfies the feedback condition may send a feedback signal to the first processing core; after receiving the feedback signal, the first processing core may determine whether to determine the feedback signal as the target feedback signal according to the aforementioned processing procedure , the description will not be repeated here.
  • the on-chip network communicates with the target processing core that sends the target feedback signal to complete the handshake; and after the handshake is completed, the task data corresponding to the second target task is sent to the target processing core, so that the target processing core executes the first task.
  • Two objective tasks are performed according to the target feedback signal.
  • decentralized task scheduling can be achieved, and through dynamic task distribution, the balance between the processing cores in the many-core system can be achieved, and the overall processing efficiency of the system can be improved.
  • it can automatically broadcast when the first processing core has an operation error, the temperature is too high, etc., so that other processing cores can be used to perform corresponding tasks, which reduces the probability of task errors and improves the temperature uniformity of the many-core system.
  • the broadcasting method according to the embodiment of the present disclosure may be applied to a first processing core of the many-core system, where the first processing core is one of a plurality of the processing cores,
  • the broadcast condition includes: the first processing core is in an idle state; the first broadcast signal includes a handshake signal for requesting a task;
  • the performing corresponding processing according to the target feedback signal includes:
  • the third target task is executed when task data corresponding to the third target task is received.
  • processing the task to be processed may include, for example, storing data, performing calculation processing according to the data, etc., which is not limited in the present disclosure.
  • the preset broadcast condition may include: the first processing core is in an idle state. That is, when the first processing core is in an idle state, it is determined that the broadcast conditions are met, and the first broadcast signal can be sent to the processing core of the many-core system in steps S21-S22, and replayed when the feedback signal is not received within the first time. .
  • the first broadcast signal includes a handshake signal for requesting a task, that is, a handshake can be performed with other processing cores, so as to "help" other processing cores to process tasks to be processed.
  • the first broadcast signal may further include state information of the first processing core.
  • the state information includes the occupancy state of the first processing core, that is, whether the first processing core has been "occupied” and is in an idle state that can "help" to process tasks to be processed.
  • the occupancy state of the first processing core is unoccupied.
  • the occupied state of the first processing core is occupied.
  • the first processing core receives feedback signals from other processing cores and decides to "help" process the pending tasks of this processing core, although the first processing core has not yet started to process the pending tasks of this processing core, That is, when the first processing core already has a task to be processed, but has not yet started to process the task, the occupied state of the first processing core is still occupied.
  • the first broadcast signal sent by the first processing core is to notify other processing cores that the first processing core is in an idle state, that is, the first processing core sends When the first broadcast signal is used, it should be in an idle state, and the occupied state of the first broadcast signal should be "unoccupied".
  • the state information of the first processing core may further include a computing power state and/or a storage state of the first processing core.
  • the computing power status of the first processing core refers to computing power status information of the first processing core, that is, the computing power available to the first processing core.
  • the storage state of the first processing core refers to storage state information of the first processing core, that is, the storage capacity (or storage space) usable by the first processing core.
  • the computing power state and storage state of the first processing core can be used as a basis for other processing cores to judge whether they meet the conditions for feeding back the first broadcast signal.
  • the processing core may directly forward the first broadcast signal to its adjacent processing core. If the processing core has tasks to be processed that need to be assigned to other processing cores for "help" processing, the processing core can determine whether the first processing core Satisfy the requirements for processing pending tasks.
  • the computing power and storage space required for processing the task to be processed may be compared with the computing power and storage space available for the first processing core. If the computing power available to the first processing core is greater than the computing power required to process the tasks to be processed, and the storage space available to the first processing core is greater than the storage space required to process the tasks to be processed, it means that the first processing core satisfies the processing requirements.
  • the requirement of the task to be processed means that the processing core satisfies the feedback condition, and the processing core sends a feedback signal to the first processing core.
  • the feedback signal sent by the processing core that satisfies the feedback condition to the first processing core may include: the address of the processing core and the address of the first processing core, wherein the address of the processing core serves as the source of the feedback signal.
  • the address is convenient for the first processing core to quickly know the location of the processing core that sent the feedback signal after receiving the feedback signal.
  • the address of the first processing core is used as the destination address of the feedback signal. After receiving the feedback signal, other processing cores can forward the feedback signal to the processing core closer to the first processing core according to the address of the first processing core, so that the feedback signal can be Faster to the first processing core.
  • the first processing core may determine whether to determine the feedback signal as the target feedback signal according to the foregoing processing procedure, and the description will not be repeated here.
  • the feedback signal when the feedback signal is determined to be the target feedback signal, corresponding processing is performed according to the target feedback signal. That is, it handshakes with the processing core that sends the feedback signal, communicates with the processing core that sends the feedback signal through the on-chip network, and receives and processes the pending tasks.
  • the feedback signal received by the first processing core is more likely to be sent by a processing core that is closer to itself.
  • the first processing core selects and processes the pending task more likely to be the pending task of the processing core that is closer to itself. In this way, the first processing core is receiving pending tasks.
  • the pending tasks can reach the first processing core faster, which is convenient for the first processing core to process the pending tasks faster.
  • the pending tasks occupy the process of reaching the first processing core from the processing core sending the feedback signal.
  • the number of processing cores is also small, and the transmission resources occupied are relatively small.
  • the broadcasting method of the embodiment of the present disclosure is used for the first processing core of the many-core system, which can be realized by directly modifying the control program of the first processing core of the many-core system, that is, the first processing core of the many-core system can Generate broadcast data, broadcast the broadcast data in the form of broadcast signals, the first processing core does not delete the broadcast signal after the broadcast, if it does not receive the feedback signal sent by other processing cores within the preset first time, then again Send a broadcast signal.
  • the first processing core of the many-core system may serve as the transmitting side of the broadcast signal, transmit the broadcast signal in steps S21-S22, and replay the broadcast signal when no feedback signal is received within the first time.
  • the first processing core can also serve as the receiving side of the broadcast signal, receive the broadcast signal, give a corresponding feedback signal, and/or forward the broadcast signal.
  • the broadcasting method according to the embodiment of the present disclosure may further include:
  • k is an integer greater than or equal to 1;
  • a third feedback signal is sent to the second processing core, so that the first processing core is paired with the second processing core and performs corresponding processing
  • the performing corresponding processing includes:
  • the first processing core receives the task data corresponding to the fourth target task sent by the second processing core, and executes the fourth target task;
  • the first processing core sends task data corresponding to the fifth target task to the second processing core, so that the second processing core executes the fifth target task.
  • the first processing core receives the second broadcast signal sent by the second processing core for the kth time (k is an integer greater than or equal to 1), the content of the second broadcast signal and the Processing status, to determine whether the first processing core satisfies the feedback condition.
  • the second broadcast signal includes a handshake signal for assigning tasks. If the current processing state or the predicted processing state of the first processing core is idle, it can be determined that the feedback condition is satisfied; otherwise, it can be determined that the feedback condition is not satisfied.
  • a third feedback signal may be sent to the second processing core, so that the second processing core determines whether to use the third feedback signal as the target feedback signal. If the second processing core takes the third feedback signal as the target feedback signal, the first processing core shakes hands with the second processing core to realize pairing, and performs corresponding processing.
  • performing corresponding processing may include: the first processing core receiving task data corresponding to the fourth target task sent by the second processing core, and Execute the fourth target task; if the second broadcast signal includes a handshake signal for requesting a task, executing the corresponding processing may include: the first processing core sends the task data corresponding to the fifth target task to the second processing core, so that the The second processing core executes the fifth target task.
  • the second broadcast signal includes a maximum transmission step size
  • the broadcast method according to an embodiment of the present disclosure may further include:
  • the second broadcast signal If the second broadcast signal satisfies the forwarding condition, the second broadcast signal is forwarded to a third processing core far away from the second processing core.
  • the first processing core when the first processing core receives the second broadcast signal sent by the second processing core for the kth time, it can determine whether the second broadcast signal needs to be forwarded according to the maximum transmission step size in the second broadcast signal.
  • the forwarding condition forwards the second broadcast signal to the third processing core far away from the second processing core; otherwise, when the value reaches the maximum transmission step size, it is judged that the forwarding condition is not satisfied, and the second broadcast signal is deleted.
  • the maximum transmission step size is reduced by 1 after each transfer between the processing cores, when the maximum transmission step size is greater than 0, it is judged that the forwarding condition is satisfied, and the transfer to the third processing core far away from the second processing core is adopted.
  • the core forwards the second broadcast signal; otherwise, when the maximum transmission step size is 0, it is determined that the forwarding condition is not satisfied, and the second broadcast signal is deleted.
  • the distance between the second processing core and the first processing core may be determined if a comparison is used.
  • the maximum transmission step size is greater than the distance, it is judged that the forwarding condition is satisfied, and the second broadcast signal is forwarded to the third processing core far away from the second processing core; on the contrary, when the maximum transmission step size is equal to the distance, it is judged that the forwarding condition is not satisfied, and the first broadcast signal is deleted. 2. Broadcast signal.
  • the transmission range of the broadcast signal can be limited, thereby improving the utilization rate of transmission resources in the system.
  • the first processing core when the first processing core sends the broadcast signal to other processing cores in the many-core system, the first processing core may not send the broadcast signal to all other processing cores in the many-core system, but to the many-core system Multiple alternative processing cores of the system transmit broadcast signals.
  • the candidate processing core refers to the processing core whose number of processing cores passed by the first processing core when sending the broadcast signal to it is less than the predetermined number of processing cores, that is, the processing core whose distance from the first processing core is within the predetermined range is reserved for Select the processing core.
  • the processing core N0 is the first processing core, and if the predetermined number of processing cores is 1, the alternative processing core refers to the processing core adjacent to the processing core N0; if the predetermined number of processing cores is 2, the alternative processing core
  • the processing cores refer to the processing cores adjacent to the processing core N0 and the processing cores adjacent to the adjacent processing cores of the processing core N0.
  • the broadcast Since the broadcast is to send data to all possible receiving processing cores as much as possible, it has no destination. In the process of the first processing core sending the broadcast signal to other processing cores of the on-chip network, if there is no restriction, let the signal have no destination. If the broadcast is stopped, the broadcast process will only stop when the broadcast signal has traversed all the processing cores of the on-chip network.
  • the first processing core receives the feedback signal sent by the alternative processing core within the preset first time, it can end the broadcasting process and process the feedback signal (for example, the first processing core sends the feedback signal to the processing of the feedback signal according to the received feedback signal)
  • the core sends a connect signal, which is used to indicate that the first processing core has received the sent feedback signal).
  • the first processing core If the first processing core does not receive the feedback signal sent by the alternative processing core within the preset first time, the first processing core sends a broadcast signal to the alternative processing core of the many-core system again.
  • the first processing core sends a broadcast signal to other processing cores of the many-core system.
  • the broadcast signal may specifically be a handshake signal.
  • Handshake signals are signals for communication between different devices (or devices).
  • the handshake signal in this embodiment of the present disclosure may be a handshake signal used for task scheduling.
  • the first processing core when the first processing core is in an idle state, the first processing core sends a handshake signal to other processing cores of the on-chip network to notify Other processing cores, the first processing core is in an idle state and can "help" to process signals to be processed.
  • the processing core sends a feedback signal to the first processing core, so that the processing core Handshake with the first processing core, so that the first processing core can "help" process the pending task.
  • the first processing core if the first processing core does not receive feedback signals sent by other processing cores within a preset first time, the first processing core sends a broadcast signal to other processing cores in the many-core system again.
  • the first processing core may end the broadcasting process when receiving the first feedback signal , take the feedback signal as the target feedback signal, and process the target feedback signal.
  • the first processing core may send the broadcast signal to other processing cores again. Different from the previous broadcast signal, after the target feedback signal is determined, the first processing core sends the broadcast signal. The occupancy status of the first processing core in the broadcast signal is "occupied". By sending a broadcast signal whose occupancy status is "occupied”, other processing cores can be notified that the first processing core has been occupied, and there is no need to report to the first processing core. Send feedback.
  • the first processing core may also send a connection signal to the processing core that sent the target feedback signal, where the connection signal is used to indicate that the first processing core has received the feedback signal sent by the first processing core.
  • the first processing core may also receive other feedback signals, and in the case of receiving other feedback signals, the first processing core ignores the feedback signal.
  • the processing core N0 is the first processing core, and both the processing core N1 and the processing core N3 send feedback signals to the processing core N0, but since the processing core N1 is closer to the processing core N0, the feedback signal sent by the processing core N1 The signal arrives at the processing core N0 preferentially. After receiving the feedback signal from the processing core N1 for a period of time, the processing core N0 will also receive the feedback signal sent by the processing core N3. After receiving the feedback signal from the processing core N1, the processing core N0 automatically The feedback signal sent by the processing core N3 is ignored or deleted.
  • the broadcast signal is a handshake signal.
  • the first processing core shakes hands with the processing core corresponding to the processing core (ie, the processing core that sends the feedback signal).
  • the first processing core cannot process the feedback signal. That is to say, it is meaningless for the first processing core to receive the feedback signal after the handshake is successful. It will only result in a waste of resources.
  • the broadcasting method of the embodiments of the present disclosure can also be used in the case where the first processing core has a new task or a task that cannot be completed by itself needs to be processed by other processing cores: the first processing core has a new task or cannot complete it by itself
  • the first processing core broadcasts the handshake signal to other processing cores, and when the processing core that receives the handshake signal has the ability to process the task, the processing core sends feedback to the first processing core. signal, the processing core shakes hands with the first processing core, receives and processes the task issued by the first processing core.
  • the first processing core handshakes with the processing core that sent the target feedback signal, and then receives feedback signals sent by other processing cores, it may cause tasks to be repeatedly issued to multiple processing cores, resulting in a waste of computing power and storage resources of waste.
  • the first processing core while the first processing core is in an idle state, other processing cores may be actively inquired whether there are new tasks to be processed.
  • the first processing core sends a broadcast signal to other processing cores in the many-core system to notify other processing cores that the first processing core is in an idle state and can "help" to process tasks to be processed.
  • the broadcast signal may include the occupancy state of the first processing core, that is, whether the first processing core has been "occupied”, and whether it is in an idle state that can "help" to process tasks to be processed.
  • the first processing core sends a broadcast signal to notify other processing cores that the first processing core is in an idle state, that is, when the first processing core broadcasts a broadcast signal, its corresponding processing core should be in an idle state, and the broadcast signal is occupied. Should be "unoccupied".
  • the state information of the first processing core may further include a computing power state and/or a storage state of the first processing core.
  • the computing power status of the first processing core refers to computing power status information of the first processing core, that is, the computing power available to the first processing core.
  • the storage state of the first processing core refers to storage state information of the first processing core, that is, the storage capacity (or storage space) usable by the first processing core.
  • the first processing core if the first processing core receives the feedback signal for the first time within a preset first time, the first processing If no other feedback signal is received by the core, the first processing core takes the received feedback signal as the target feedback signal, and processes the target feedback signal.
  • the second time is less than the first time, that is, the time between when the first processing core receives the feedback signal for the first time and when the first processing core stops receiving the feedback signal is less than when the first processing core sends the broadcast signal to the first processing core again.
  • the first processing core if the first processing core receives the feedback signal for the first time within the preset first time, if the first processing core receives the feedback signal for the first time within the second time If the processing core receives other feedback signals, the first processing core starts from all the feedback signals received (including the feedback signal received for the first time and from the feedback signal received for the first time to the end of the second time). feedback signal), determine a feedback signal as the target feedback signal, and process the target feedback signal.
  • determining a feedback signal as the target feedback signal from all the received feedback signals may specifically be: determining the position of the processing core that sends the feedback signal from the received feedback signals, and calculating the difference between the processing core and the first processing core The processing core with the shortest distance from the first processing core is selected from all the processing cores corresponding to the received feedback signals as the target processing core, and the feedback signal sent by the processing core is the target feedback signal.
  • the distance between a certain processing core and the first processing core specifically refers to the step size between the processing core and the first processing core, that is, the length of the shortest path that the signal passes through from the processing core to the first processing core.
  • the processing core with the shortest processing core distance is the target processing core. That is to say, determine the processing core from which all received feedback signals come from, and determine the processing core that is closest to the first processing core among these processing cores (or at the same transmission speed, the sent signal can reach the first processing core the fastest
  • the processing core of the core is the target processing core, and the feedback signal sent by the processing core is the target feedback signal.
  • the target feedback signal may be determined, other feedback signals may be received, and if other feedback signals are received, the feedback signal may be ignored.
  • the first processing core when the first processing core does not determine the target feedback signal within the preset first time, the first processing core still needs to send the broadcast signal (the occupancy state of the broadcast signal is still unoccupied).
  • the first processing core does not determine the target feedback signal within the preset first time, it may be that the first processing core does not receive the feedback signal within the preset first time; it may also be that the first processing core is within the preset first time. Multiple feedback signals are received within the first time, but the time when the first processing core receives the feedback signal for the first time is too close to the preset first time, so that the first time is located since the first time the first processing core received the feedback signal During the second time since the feedback signal, the first processing core cannot determine whether other feedback signals will be received between the first time and the second time since the first processing core first received the feedback signal, so The first processing core cannot determine the target feedback signal.
  • the first processing core After the first processing core receives the feedback signal for the first time, it does not immediately use the feedback signal as the target feedback signal, but continues to wait for a period of time, and continues to receive the feedback signal during this period, so that the broadcast signal is sent last time.
  • the corresponding processing core When a broadcast signal is received during the process, the corresponding processing core does not meet the conditions for feeding back the broadcast signal, and when a broadcast signal is received during the process of sending the broadcast signal, the corresponding processing core meets the conditions for feeding back the broadcast signal. There may be more time to send the feedback signal to the first processing core. Meanwhile, after receiving multiple feedback signals, the first processing core selects the feedback signal sent by the processing core closest to the first processing core as the target feedback signal. The two-pronged approach improves the probability that a processing core closer to the first processing core will be the target processing core.
  • the processing core N0 is the first processing core
  • the processing core N3 sends a feedback signal to the processing core N0 according to the broadcast signal transmitted at the Lth time
  • the processing core N1 sends a feedback signal to the processing core according to the broadcast signal broadcast at the L+1th time.
  • N0 sends a feedback signal.
  • the processing core N3 sends the feedback signal earlier than the processing core N1 sends the feedback signal, although the processing core N1 is closer to the processing core N0, the feedback signal sent by the processing core N3 may still arrive at the processing core N0 before the feedback signal sent by the processing core N1.
  • the processing core N0 directly uses the processing core N3 as the target processing core after receiving the feedback signal from the processing core N3, the feedback signal sent by the processing core N1 will also be ignored by the processing core N0 after reaching the processing core N0, which will cause Although the processing core N1 is closer to the processing core N0 and satisfies the conditions for feeding back the broadcast signal, the processing core N0 cannot select the processing core N1 as the target processing core.
  • the processing core N0 waits for a period of time after receiving the feedback signal from the processing core N3, within the waiting time, the processing core N0 may receive the feedback signal sent by the processing core N1, and the distance between the processing core N1 and the processing core N0 is obviously The distance between the processing core N3 and the processing core N0 is closer, and the processing core N0 selects the processing core N1 as the target processing core.
  • the processing core N1 and the processing core N0 Since the distance between the processing core N1 and the processing core N0 is obviously closer than the distance between the processing core N3 and the processing core N1, the communication speed between the processing core corresponding to the processing core N1 and the processing core N0 is obviously higher than that of the processing core N3 Regarding the communication speed between the corresponding processing core and the processing core corresponding to the processing core N0, selecting the processing core N1 as the target processing core is obviously a better choice than selecting the processing core N3 as the target processing core.
  • a broadcasting apparatus based on a many-core system, wherein the many-core system includes a plurality of processing cores, and the plurality of processing cores are connected through an on-chip network communication.
  • FIG. 3 is a block diagram of a broadcast apparatus based on a many-core system according to an embodiment of the present disclosure. As shown in Figure 3, the device includes:
  • a broadcast module 31 configured to send a first broadcast signal to the processing core of the many-core system for the first time when a preset broadcast condition is met, wherein the first broadcast signal includes a maximum transmission step size;
  • the replay module 32 is configured to, within the first time after the i-th transmission of the first broadcast signal, in the case of not receiving the first feedback signal for the first broadcast signal, to the The processing core sends the first broadcast signal for the i+1th time, where i is an integer greater than or equal to 1.
  • the broadcasting apparatus is applied to the processing core of the many-core system or the external electronic equipment of the many-core system.
  • a signal transmission method for a many-core system is also provided.
  • the method is used in the many-core system provided by the embodiment of the present disclosure, that is, one or more processing cores in the processing core of the many-core system are the first one. Processing cores that broadcast signals using the broadcast method provided by the embodiments of the present disclosure.
  • the first processing core sends a broadcast signal to other processing cores.
  • a certain first processing core of the many-core system sends a broadcast signal to other processing cores of the many-core system.
  • the broadcasting method of the embodiment of the present disclosure may be used for the first processing core to send the broadcast signal to other processing cores, that is, the first processing core sends the broadcast signal again if it does not receive the feedback signal within the preset first time.
  • the other processing cores of the many-core system refer to other processing cores other than the first processing core that sends the broadcast signal, that is, during the execution of the signal transmission method of the many-core system according to the embodiment of the present disclosure, only one processing core is the first processing core. , even if other processing cores of the many-core system have the capability of executing the broadcasting method of the embodiment of the present disclosure, they are still other processing cores during the execution of the signal transmission method of the many-core system.
  • At least one second processing core receives a broadcast signal, and the second processing core that satisfies the condition for feeding back the broadcast signal sends a feedback signal to the first processing core.
  • the other processing cores ie the second processing core of the many-core system judge whether the processing core or the processing core satisfies the feedback broadcast signal according to the actual state of the processing core or the processing core and the broadcast signal. condition, and send a feedback signal to the first processing core when the processing core or the actual state of the processing core satisfies the feedback broadcast signal condition.
  • the second processing core refers to the processing core that receives the broadcast signal, that is, the second processing core does not specifically refer to a certain processing core, and all the processing cores that receive the broadcast signal can be called the second processing core. Also, not all the second processing cores send feedback signals to the first processing cores after receiving the broadcast signals, and only the second processing cores that satisfy the conditions for feeding back the broadcast signals send the feedback signals to the first processing cores.
  • the many-core system signal transmission method according to the embodiment of the present disclosure can be used for resource scheduling.
  • the first processing core when the first processing core has free resources (such as computing resources, storage resources, etc.) that can "help" other processing cores to process tasks to be processed, the first processing core provides other processing cores (ie, the second processing core) to the many-core system.
  • the processing core sends a broadcast signal, and the broadcast signal is used to notify other processing cores in the many-core system that the first processing core has idle resources and can "help" to process tasks to be processed.
  • the broadcast signal sent by the first processing core may include state information of the first processing core.
  • the state information of the first processing core is essentially the state information of the first processing core.
  • the state information of the first processing core includes the occupancy state of the first processing core, that is, whether the first processing core has been "occupied” and whether it is in an idle state that can "help" to process tasks to be processed.
  • the occupancy state of the first processing core When the first processing core is not "occupied” by a task and is in an idle state, and can help the second processing core to process tasks to be processed, the occupied state of the first processing core is unoccupied.
  • the occupied state of the first processing core is occupied.
  • the first processing core decides to "help" process the pending tasks of a certain second processing core, although the first processing core has not yet started to process the pending tasks of the processing core, the occupation of the first processing core The status is still occupied.
  • the first processing core sends a broadcast signal to notify other processing cores that the first processing core is in an idle state, that is, at this time, the broadcast signal of the first processing core is in an idle state.
  • the occupancy status of the broadcast signal shall be "unoccupied”.
  • the state information of the first processing core may further include a computing power state and/or a storage state of the first processing core.
  • the computing power status of the first processing core refers to computing power status information of the first processing core, that is, the computing power available to the first processing core.
  • the storage state of the first processing core refers to storage state information of the first processing core, that is, the storage capacity (or storage space) usable by the first processing core.
  • One or more second processing cores of the many-core system receive the broadcast signal sent by the first processing core, and the second processing cores satisfying the condition for feeding back the broadcast signal send the feedback signal to the first processing core.
  • the broadcast signal broadcast by the first processing core includes state information of the first processing core, and after receiving the broadcast signal broadcast by the first processing core, the second processing core can judge whether it satisfies the feedback condition according to the state information of the first processing core .
  • the second processing core after the second processing core receives the broadcast signal sent by the first processing core, the second processing core first determines whether it has tasks to be processed that need the assistance of the first processing core. If a task is to be processed, the second processing core can directly forward the broadcast signal to the adjacent second processing core, so that the broadcast signal can continue to be "broadcast".
  • the second processing core determines whether the first processing core can process the pending task according to the state information of the first processing core.
  • the second processing core determines whether the first processing core can process the first processing core according to the status information of the first processing core
  • the to-be-processed task may include: the second processing core judging whether the computing power state of the first processing core satisfies the condition for processing the to-be-processed task. And/or, the second processing core determines whether the storage state of the first processing core satisfies the condition for processing the to-be-processed task.
  • the second processing core judges whether the first processing core meets the requirements for processing tasks to be processed according to the computing power status and storage status of the first processing core in the state information of the first processing core. Specifically, the second processing core can process The computing power and storage space required by the task to be processed are compared with the computing power and storage space that can be used by the first processing core.
  • the computing power available to the first processing core is less than the computing power required to process the tasks to be processed, or the storage space available to the first processing core is less than the storage space required to process the tasks to be processed, it means that the first processing core does not satisfy the If the request for processing the pending task cannot be processed, it means that the second processing core does not meet the condition for feeding back the broadcast signal. Then, the second processing core can continue to forward the broadcast signal to the adjacent second processing core, so that the broadcast signal can continue to be "broadcast".
  • the computing power available to the first processing core is greater than the computing power required to process the tasks to be processed, and the storage space available to the first processing core is greater than the storage space required to process the tasks to be processed, it means that the first processing core satisfies the processing requirements.
  • the requirement of the to-be-processed task and the ability to process the to-be-processed task means that the second processing core satisfies the feedback broadcast signal condition, and the second processing core that satisfies the feedback broadcast signal condition sends a feedback signal to the first processing core.
  • the feedback signal is sent to the first processing core, the feedback signal is purposeful, so the feedback signal can be sent from the second processing core that satisfies the feedback broadcast signal condition to the first processing core in a unicast manner.
  • the processing process specifically includes: the second processing core satisfying the feedback broadcast signal condition sends the The address of the first processing core is used as the destination address to write the feedback signal.
  • the second processing core that satisfies the condition for feeding back the broadcast signal writes the address of the second processing core into the feedback signal as a source address.
  • the address of the first processing core is written into the feedback signal as the destination address of the feedback signal.
  • the processing core that receives the feedback signal may The feedback signal is forwarded to the processing core closer to the first processing core according to the destination address in the feedback signal. Compared with broadcasting without a destination address, this forwarding method not only saves transmission resources, but also allows the feedback signal to pass through the shortest path quickly. to the first processing core.
  • the address of the second processing core that sends the feedback signal is written into the feedback signal as the source address of the feedback signal. After the feedback signal reaches the first processing core, the first processing core can obtain the first processing core sent to the feedback signal through the source address of the feedback signal. The address of the second processing core.
  • the multiple second processing cores that satisfy the feedback condition there may be multiple second processing cores that satisfy the feedback condition, and the multiple second processing cores that satisfy the feedback condition all send feedback signals to the first processing core.
  • the distances between the multiple second processing cores that satisfy the feedback condition and the first processing core may be different, which results in that the feedback signals sent by the multiple second processing cores that satisfy the feedback condition do not reach the first processing core at the same time.
  • the first processing core does not receive the feedback signal within the preset first time, and the first processing core sends the broadcast signal again.
  • the processing core that feeds back the broadcast signal also sends feedback signals to the first processing core, so that the first processing core may receive more feedback signals.
  • the first processing core may, based on the priority principle, only receive the first feedback signal that reaches the first processing core, take the first feedback signal that reaches the first processing core as the target feedback signal, and will send the second processing core of the feedback signal. as the target second processing core.
  • the first processing core may also wait for a period of time after receiving the first feedback signal that arrives, that is, within the second time since the first processing core receives the feedback signal for the first time, the first processing core continues to receive and send the The feedback signal of the first processing core, and all the feedback signals received during this period (including the feedback signal received for the first time and the feedback signal received within the second time since the feedback signal was first received ), determine a feedback signal as the target feedback signal.
  • determining one feedback signal as the target feedback signal from all the received feedback signals may specifically be: determining the position of the second processing core that sends the feedback signal according to the source address of the feedback signal from the received feedback signals, and calculating the The distance between the second processing core and the first processing core, select the processing core with the shortest distance from the first processing core from all the second processing cores corresponding to the received feedback signals as the target processing core, and the feedback signal sent by the processing core It is the target feedback signal.
  • the distance between the second processing core and the first processing core specifically refers to the step size between the second processing core and the first processing core, that is, the length of the shortest path that the signal travels from the second processing core to the first processing core, Determine the second processing core with the shortest distance from the first processing core as the target processing core. That is, determine the second processing core from which all received feedback signals come, and determine the processing core that is closest to the first processing core among these second processing cores.
  • the core (or in other words, at the same transmission speed, the processing core of which the transmitted signal can reach the first processing core the fastest) is the target second processing core, and the feedback signal sent by the second processing core is the target feedback signal.
  • the second time is shorter than the first time, that is, the time between when the first processing core receives the feedback signal for the first time and when the first processing core stops receiving the feedback signal is shorter than the time between when the first processing core sends the broadcast signal to the first processing core.
  • the first processing core may send the broadcast signal again, and the occupied state of the broadcast signal is occupied.
  • the first processing core determines the target feedback signal, which is equivalent to the first processing core deciding to “help” the second processing core sending the target feedback signal to process the pending task.
  • the first processing core has no extra resources to “help” other processing cores, so After the first processing core determines the target feedback signal, the occupied state of the broadcast signal broadcast by the first processing core should be occupied.
  • the broadcast signal is used to notify other processing cores of the network-on-chip that the first processing core is already occupied, so there is no need to send a feedback signal to the first processing core to avoid waste of transmission resources. After receiving the broadcast signal, other processing cores can know that The first processing core is already occupied, and no feedback signal will be sent to the first processing core.
  • the first processing core may also send a connection signal to the target second processing core, where the connection signal is used to indicate that the first processing core has received the feedback signal sent by the target second processing core.
  • the target second processing core After receiving the connection signal, the target second processing core can send the task to be processed to the first processing core, and the first processing core receives the task to be processed and processes it.
  • the first processing core determines the target feedback signal
  • other feedback signals may also be received. If other feedback signals are received after the target feedback signal is determined, the received feedback signal may be ignored.
  • the first processing core resends the broadcast signal if the feedback signal is not received within the preset first time, and at the same time, the first processing core receives the feedback signal for the first time. After the feedback signal is received, the feedback signal is not used as the target feedback signal immediately, but it continues to wait for a period of time, and continues to receive feedback signals during this period. If multiple feedback signals are received, select the one closest to the first processing core.
  • the feedback signal sent by the second processing core is used as the target feedback signal, which increases the probability of the second processing core closer to the first processing core as the target second processing core, so that the first processing core is processing the target second processing core.
  • the communicated data can reach the target second processing core faster, which improves the efficiency of the first processing core and reduces the occupation of the communication process. transmission resources.
  • FIG. 4 is a block diagram of an electronic device according to an embodiment of the present disclosure.
  • an embodiment of the present disclosure provides an electronic device, the electronic device includes multiple processing cores 901 and an on-chip network 902, wherein the multiple processing cores 901 are all connected to the on-chip network 902, and the on-chip network 902 is used for interacting multiple data between cores and external data.
  • the on-chip network 902 is an on-chip network in the above-mentioned many-core system, and each processing core 901 corresponds to one processing core of the many-core system.
  • At least a portion of the first processing core of the many-core system corresponds to processing core 901 .
  • an embodiment of the present disclosure also provides a computer-readable medium on which a computer program is stored, wherein the computer program implements the above-mentioned broadcasting method when executed by a processing core of a many-core system.
  • embodiments of the present disclosure also provide a computer program product, comprising computer-readable codes, or a non-volatile computer-readable storage medium carrying computer-readable codes, wherein, when the computer-readable codes are stored in an electronic When running in the processor of the device, the processor in the electronic device executes the above-mentioned broadcasting method.
  • Such software may be distributed on computer-readable media, which may include computer storage media (or non-transitory media) and communication media (or transitory media).
  • computer storage media includes both volatile and nonvolatile implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data flexible, removable and non-removable media.
  • Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical disk storage, magnetic cartridges, magnetic tape, magnetic disk storage or other magnetic storage devices, or may Any other medium used to store desired information and which can be accessed by a computer.
  • communication media typically embodies computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism, and can include any information delivery media, as is well known to those of ordinary skill in the art .

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

The present disclosure provides a multi-core system-based broadcasting method, an electronic device, and a computer readable medium. The multi-core system comprises a plurality of processing cores, and the plurality of processing cores are communicatively connected to each other by means of a network on chip. The method comprises: when a preset broadcast condition is satisfied, sending a first broadcast signal to each processing core of the multi-core system for the first time, the first broadcast signal comprising the maximum transmission step size; and when a first feedback signal for the first broadcast signal is not received within a first time after the first broadcast signal is sent for the i-th time, sending the first broadcast signal to the processing core of the multi-core system for the (i+1)-th time, i being an integer greater than or equal to 1.

Description

基于众核系统的广播方法、电子设备、计算机可读介质Broadcasting method, electronic device, and computer-readable medium based on many-core system 技术领域technical field
本公开涉及计算机技术领域,特别涉及一种基于众核系统的广播方法、电子设备、计算机可读介质以及计算机程序产品。The present disclosure relates to the field of computer technology, and in particular, to a broadcasting method, electronic device, computer-readable medium and computer program product based on a many-core system.
背景技术Background technique
随着技术(尤其是人工智能技术)的发展,相比于计算能力有限的单核芯片,如CPU(Central Processing Unit,中央处理器)、ALU(Arithmetic and Logic Unit,算术逻辑单元)等,众核(包括多核)芯片越来越多被使用。With the development of technology (especially artificial intelligence technology), compared with single-core chips with limited computing power, such as CPU (Central Processing Unit, central processing unit), ALU (Arithmetic and Logic Unit, arithmetic logic unit), etc. Core (including multi-core) chips are increasingly being used.
在一些众核芯片中,使用片上网络(Network On Chip,NOC)实现处理核与处理核之间的通信。In some many-core chips, a Network On Chip (NOC) is used to implement communication between processing cores.
发明内容SUMMARY OF THE INVENTION
本公开提供一种基于众核系统的广播方法、电子设备、计算机可读介质以及计算机程序产品。The present disclosure provides a broadcasting method, an electronic device, a computer-readable medium, and a computer program product based on a many-core system.
第一方面,本公开提供了一种基于众核系统的广播方法,众核系统包括多个处理核,多个所述处理核之间通过片上网络通信连接,所述方法包括:在满足预设的广播条件的情况下,向所述众核系统的处理核第1次发送第一广播信号,其中,所述第一广播信号中包括最大传输步长;在第i次发送所述第一广播信号之后的第一时间内,未接收到针对所述第一广播信号的第一反馈信号的情况下,向所述众核系统的处理核第i+1次发送所述第一广播信号,i为大于或等于1的整数。In a first aspect, the present disclosure provides a broadcasting method based on a many-core system, the many-core system includes a plurality of processing cores, and the plurality of processing cores are communicated and connected through an on-chip network, and the method includes: when a preset is satisfied In the case of the broadcast condition of , the first broadcast signal is sent to the processing core of the many-core system for the first time, wherein the first broadcast signal includes the maximum transmission step; In the first time after the signal, if the first feedback signal for the first broadcast signal is not received, send the first broadcast signal to the processing core of the many-core system for the i+1th time, i is an integer greater than or equal to 1.
第二方面,本公开提供了一种电子设备,该电子设备包括:多个处理核;以及,片上网络,被配置为交互所述多个处理核间的数据和外部数据;其中,所述处理核中存储有指令,所述指令被所述处理核执行,以使所述处理核能够执行上述的广播方法。In a second aspect, the present disclosure provides an electronic device comprising: a plurality of processing cores; and an on-chip network configured to exchange data among the plurality of processing cores and external data; wherein the processing Instructions are stored in the core, and the instructions are executed by the processing core to enable the processing core to execute the above-mentioned broadcast method.
第三方面,本公开提供了一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序在被处理器执行时实现上述的广播方法。In a third aspect, the present disclosure provides a computer-readable medium on which a computer program is stored, wherein the computer program implements the above-mentioned broadcasting method when executed by a processor.
第四方面,本公开提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,其中,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行用于实现上述的广播方法。In a fourth aspect, the present disclosure provides a computer program product comprising computer-readable codes, or a non-volatile computer-readable storage medium carrying computer-readable codes, wherein, when the computer-readable codes are stored in an electronic device When running in the processor of the electronic device, the processor in the electronic device executes the method for implementing the above-mentioned broadcasting.
根据本公开的实施例,能够在满足广播条件的情况下向处理核发送广播信号,并在发送后的第一时间内未接收到反馈信号的情况下再次发送广播信号,通过引入重播机制并限定广播信号传输的范围,能够提高众核系统中的整体处理效率,并提高系统中传输资源的利用率。According to the embodiments of the present disclosure, a broadcast signal can be sent to the processing core when the broadcast conditions are satisfied, and the broadcast signal can be sent again when no feedback signal is received within the first time after sending. By introducing a replay mechanism and limiting The range of broadcast signal transmission can improve the overall processing efficiency in the many-core system and improve the utilization rate of transmission resources in the system.
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。It should be understood that what is described in this section is not intended to identify key or critical features of embodiments of the disclosure, nor is it intended to limit the scope of the disclosure. Other features of the present disclosure will become readily understood from the following description.
附图说明Description of drawings
附图用来提供对本公开的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开,并不构成对本公开的限制。通过参考附图对详细示例实施例进行描述,以上和其它特征和优点对本领域技术人员将变得更加显而易见,在附图中:The accompanying drawings are used to provide a further understanding of the present disclosure and constitute a part of the specification, and together with the embodiments of the present disclosure, they are used to explain the present disclosure, and are not intended to limit the present disclosure. The above and other features and advantages will become more apparent to those skilled in the art by describing detailed example embodiments with reference to the accompanying drawings, in which:
图1为本公开实施例提供的一种众核系统的示意图。FIG. 1 is a schematic diagram of a many-core system according to an embodiment of the present disclosure.
图2为本公开实施例提供的一种基于众核系统的广播方法的流程图。FIG. 2 is a flowchart of a broadcasting method based on a many-core system according to an embodiment of the present disclosure.
图3为本公开实施例提供的一种基于众核系统的广播装置的组成框图。FIG. 3 is a block diagram of a broadcast apparatus based on a many-core system according to an embodiment of the present disclosure.
图4为本公开实施例提供的一种电子设备的组成框图。FIG. 4 is a block diagram of an electronic device according to an embodiment of the present disclosure.
具体实施方式Detailed ways
为使本领域的技术人员更好地理解本公开的技术方案,以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。In order for those skilled in the art to better understand the technical solutions of the present disclosure, the exemplary embodiments of the present disclosure are described below with reference to the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding, and they should be considered to be exemplary only. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the present disclosure. Also, descriptions of well-known functions and constructions are omitted from the following description for clarity and conciseness.
在不冲突的情况下,本公开各实施例及实施例中的各特征可相互组合。Various embodiments of the present disclosure and various features of the embodiments may be combined with each other without conflict.
如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。As used herein, the term "and/or" includes any and all combinations of one or more of the associated listed items.
本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。The terminology used herein is used to describe particular embodiments only and is not intended to limit the present disclosure. As used herein, the singular forms "a" and "the" are intended to include the plural forms as well, unless the context clearly dictates otherwise. It will also be understood that when the terms "comprising" and/or "made of" are used in this specification, the stated features, integers, steps, operations, elements and/or components are specified to be present, but not precluded or Add one or more other features, integers, steps, operations, elements, components, and/or groups thereof. Words like "connected" or "connected" are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect.
除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art. It will also be understood that terms such as those defined in common dictionaries should be construed as having meanings consistent with their meanings in the context of the related art and the present disclosure, and will not be construed as having idealized or over-formal meanings, unless expressly so limited herein.
众核(Many Core)系统是指由大量处理核以预设方式连接在一起构成的处理核集合系统。其中,每个处理核(核心,Core)为可独立调度并拥有独立计算能力的最小单元,即每个处理核都具有自己独立的存储资源和计算资源,从而可独立地进行所需运算(例如神经网络运算)。其中,众核系统的具体形式是多样的,如众核系统可为一个多核芯片,或为多个单核芯片的组合,或为多个多核芯片的组合等,本公开对此不作限制。Many Core system refers to a processing core collection system composed of a large number of processing cores connected together in a preset manner. Among them, each processing core (core, Core) is the smallest unit that can be independently scheduled and has independent computing capabilities, that is, each processing core has its own independent storage resources and computing resources, so that it can independently perform required operations (for example, neural network operations). There are various specific forms of the many-core system. For example, the many-core system may be a multi-core chip, a combination of multiple single-core chips, or a combination of multiple multi-core chips, which is not limited in the present disclosure.
众核系统的不同处理核间可通过路由(路由可例如为总线、片上网络等形式)相互连接,从而实现任意两个处理核间的信息交互。由此,众核系统中的多个处理核,可相互协同进行一定的运算。除处理核和路由外,众核系统中还可包括一些其它的单元,如控制各处理核的调度器,可供各处理核访问的片上存储空间等,本公开对此不作限制。Different processing cores of the many-core system can be connected to each other through routing (the routing can be, for example, in the form of a bus, an on-chip network, etc.), thereby realizing information exchange between any two processing cores. Thus, multiple processing cores in the many-core system can cooperate with each other to perform certain operations. In addition to processing cores and routing, the many-core system may also include some other units, such as a scheduler that controls each processing core, an on-chip storage space accessible to each processing core, etc., which is not limited in the present disclosure.
根据本公开的实施例,众核系统中的多个处理核之间通过片上网络(Network On Chip,NOC)通信连接,实现处理核与处理核之间的通信,以及众核系统外部的电子设备(例如编译器)与处理核之间的通信。According to the embodiments of the present disclosure, multiple processing cores in the many-core system are connected through a Network On Chip (NOC) communication to implement communication between the processing cores and electronic devices outside the many-core system. Communication between (eg a compiler) and a processing core.
图1为本公开实施例提供的一种众核系统的示意图。如图1所示,众核系统中的多个处理核(即图1中的圆点,图1中每一个圆点都代表众核系统的一个处理核)按照阵列的方式排列,相邻(包括在列方向上相邻和在行方向上相邻)的处理核之间可直接相互传递信号。如图1中处理核N0和处理核N1为在行方向上相邻的处理核,处理核N0可以向处理核N1发送信号,处理核N1也可以向处理核N0发送信号。FIG. 1 is a schematic diagram of a many-core system according to an embodiment of the present disclosure. As shown in Figure 1, the multiple processing cores in the many-core system (that is, the dots in Figure 1, each dot in Figure 1 represents a processing core of the many-core system) are arranged in an array, adjacent ( The processing cores including adjacent in the column direction and adjacent in the row direction can directly communicate signals to each other. As shown in FIG. 1, the processing core N0 and the processing core N1 are adjacent processing cores in the row direction. The processing core N0 can send a signal to the processing core N1, and the processing core N1 can also send a signal to the processing core N0.
通过相邻处理核之间的信号传递,信号可以从众核系统的一个处理核到达众核系统中与其不相邻的其它处理核,如图1中处理核N0与处理核N2并不相邻,处理核N0将信号发送至处理核N1,处理核N1再将信号发送至处理核N2,实现信号从处理核N0到达处理核N2。Through signal transmission between adjacent processing cores, signals can reach other processing cores in the many-core system from one processing core in the many-core system that are not adjacent to it. The processing core N0 sends the signal to the processing core N1, and the processing core N1 sends the signal to the processing core N2, so that the signal reaches the processing core N2 from the processing core N0.
在一些实施例中,处理核可将需要发送至目的处理核的数据以信号的形式发送至相邻的处理核,通过片上网络逐级转发,最终到达目的处理核,从而实现任意处理核与处理核之间的通信。In some embodiments, the processing core can send the data to be sent to the destination processing core to adjacent processing cores in the form of signals, and forward it step by step through the on-chip network, and finally reach the destination processing core, thereby realizing any processing core and processing Communication between cores.
在一些实施例中,处理核可以在数据中(如数据头中)添加标志位信息,该标志位信息用于表明该数据需要发送至的目的处理核的位置,并将数据以信号的形式发送至目的处理核。In some embodiments, the processing core may add flag bit information to the data (eg, in the data header), where the flag bit information is used to indicate the location of the destination processing core to which the data needs to be sent, and send the data in the form of a signal to the destination processing core.
在一些实施例中,处理核也可以广播数据,由于广播是尽可能将数据发送至所有可能接收的处理核,其不具有目的地,因此广播数据时,不需要在数据中添加标志位信息,需要广播数据的处理核直接将数据以信号的形式发送至与其相邻的所有处理核,这些相邻处理核再将接收到的信号发送 至除该处理核外其它相邻处理核。In some embodiments, the processing cores can also broadcast data. Since broadcasting is to send data to all possible receiving processing cores as much as possible, it does not have a destination. Therefore, when broadcasting data, it is not necessary to add flag information to the data. A processing core that needs to broadcast data directly sends the data to all adjacent processing cores in the form of signals, and these adjacent processing cores then send the received signals to other adjacent processing cores except the processing core.
参照图1,假设处理核N0为需要广播数据的处理核,其将数据以信号形式发送至所有与其相邻的处理核,如处理核N1。处理核N1在接收到信号以后,将其发送至除处理核N0外其它所有与其相邻的处理核,如处理核N2。同样的,处理核N2在接收到信号以后,也将信号发送至除处理核N1外其它所有与其相邻的处理核。Referring to FIG. 1 , it is assumed that the processing core N0 is a processing core that needs to broadcast data, and it sends the data to all its adjacent processing cores, such as the processing core N1 , in the form of a signal. After the processing core N1 receives the signal, it sends it to all other adjacent processing cores except the processing core N0, such as the processing core N2. Similarly, after the processing core N2 receives the signal, it also sends the signal to all other adjacent processing cores except the processing core N1.
通过这样的方式,信号可以从处理核N0“由近及远”遍历整个众核系统的处理核(即与处理核N0距离近的处理核先于与处理核N0距离较远的处理核接收到信号)。In this way, the signal can traverse the processing cores of the entire many-core system "from near to far" from the processing core N0 (ie, the processing cores that are close to the processing core N0 are received before the processing cores that are farther away from the processing core N0). Signal).
同时,处理核在发送信号时,不“回头”,即处理核在接收到信号以后,不给向自己发送信号的处理核发送信号,如处理核N1在接收到处理核N0发送的信号以后,不会再向处理核N0发送该信号,因此信号会“越传越远”,已经接收到该信号的处理核不会再次接收到该信号。At the same time, when the processing core sends a signal, it does not "turn back", that is, after the processing core receives the signal, it does not send a signal to the processing core that sends the signal to itself. For example, after the processing core N1 receives the signal sent by the processing core N0, The signal will not be sent to the processing core N0 again, so the signal will "go farther and farther", and the processing core that has already received the signal will not receive the signal again.
在采用无地址的广播方式传输信号时,信号的数据包可能会无限制地传播,浪费传输资源。并且,已经接收到该信号的处理核不会再次接收到该信号,可能导致处理核未能对该信号进行响应,降低系统的处理效率。可能的情况例如为:处理核接收到用于发放任务的信号时处于忙碌状态,而在该信号经过之后进入空闲状态,导致未能响应该信号。When a signal is transmitted in an unaddressed broadcast mode, the data packets of the signal may be propagated unrestrictedly, wasting transmission resources. Moreover, the processing core that has received the signal will not receive the signal again, which may cause the processing core to fail to respond to the signal, reducing the processing efficiency of the system. A possible situation is, for example, that the processing core is in a busy state when it receives a signal for issuing a task, but enters an idle state after the signal has passed, resulting in failure to respond to the signal.
根据本公开的实施例,提供了一种基于众核系统的广播方法,能够限定信号传输的范围,并引入重播机制,能够提高传输资源的利用率,并提高系统的整体处理效率。According to the embodiments of the present disclosure, a broadcasting method based on a many-core system is provided, which can limit the range of signal transmission and introduce a replay mechanism, which can improve the utilization rate of transmission resources and improve the overall processing efficiency of the system.
根据本公开实施例的基于众核系统的广播方法可应用于众核系统的任一处理核,或者众核系统外部的电子设备中,本公开对此不作限制。The broadcasting method based on the many-core system according to the embodiment of the present disclosure can be applied to any processing core of the many-core system, or an electronic device outside the many-core system, which is not limited in the present disclosure.
图2为本公开实施例提供的一种基于众核系统的广播方法的流程图。如图2所示,该方法包括:FIG. 2 is a flowchart of a broadcasting method based on a many-core system according to an embodiment of the present disclosure. As shown in Figure 2, the method includes:
在步骤S21中,在满足预设的广播条件的情况下,向所述众核系统的处理核第1次发送第一广播信号,其中,第一广播信号中包括最大传输步长;In step S21, when a preset broadcast condition is satisfied, a first broadcast signal is sent to the processing core of the many-core system for the first time, wherein the first broadcast signal includes a maximum transmission step size;
在步骤S22中,在第i次发送第一广播信号之后的第一时间内,未接收到针对所述第一广播信号的第一反馈信号的情况下,向所述众核系统的处理核第i+1次发送第一广播信号,i为大于或等于1的整数。In step S22, if the first feedback signal for the first broadcast signal is not received within the first time after the i-th transmission of the first broadcast signal, the processing core of the many-core system is sent to the The first broadcast signal is sent i+1 times, where i is an integer greater than or equal to 1.
举例来说,可预先设置有广播条件。对于众核系统的处理核或外部电子设备,该广播条件可包括:存在待分配的任务;对于处理核,该广播条件可包括:该处理核中存在待分配的任务、该处理核无法处理当前任务(例如该处理核发生运算错误、该处理核的温度超出温度阈值等)、该处理核的当前任务处理已完成等。应当理解,本领域技术人员可根据实际情况设定该广播条件,本公开对此不作限制。For example, broadcast conditions may be preset. For a processing core or an external electronic device of a many-core system, the broadcast condition may include: there is a task to be allocated; for a processing core, the broadcast condition may include: there is a task to be allocated in the processing core, the processing core cannot process the current Task (for example, an operation error occurs in the processing core, the temperature of the processing core exceeds a temperature threshold, etc.), the processing of the current task of the processing core has been completed, and the like. It should be understood that those skilled in the art can set the broadcast condition according to the actual situation, which is not limited in the present disclosure.
在一些实施例中,在满足预设的广播条件的情况下,可在步骤S21中生成广播信号(称为第一广播信号),并向众核系统的处理核第1次发送该第一广播信号。其中,可按上述的广播方式发送第一广播信号。也即,对于外部电子设备,可先向众核系统中与所述外部电子设备直接连接的第一个处理核发送第一广播信号,再由第一个处理核向其相邻的处理核发送第一广播信号;对于任一处理核(可称为第一处理核),可直接向其相邻的处理核发送第一广播信号,这些与第一处理核相邻的处理核再将接收到的广播信号发送至除第一处理核外其它与其相邻的处理核。以此类推,即可实现第一广播信号的逐级传递。In some embodiments, if the preset broadcast conditions are met, a broadcast signal (referred to as a first broadcast signal) may be generated in step S21, and the first broadcast signal is sent to the processing core of the many-core system for the first time Signal. Wherein, the first broadcast signal may be sent in the above-mentioned broadcast manner. That is, for an external electronic device, the first broadcast signal can be sent to the first processing core directly connected to the external electronic device in the many-core system, and then sent by the first processing core to its adjacent processing cores. The first broadcast signal; for any processing core (which can be referred to as the first processing core), the first broadcast signal can be directly sent to its adjacent processing cores, and these processing cores adjacent to the first processing core will then receive the first broadcast signal. The broadcast signal is sent to other processing cores adjacent to it except the first processing core. By analogy, the step-by-step transmission of the first broadcast signal can be realized.
在一些实施例中,第一广播信号是指需要反馈的信号,即其它处理核在接收到该信号以后,若该处理核满足反馈该第一广播信号的条件,则可通过片上网络向外部电子设备或第一处理核发送反馈信号,由于处理核之间的通信要通过众核系统的处理核,因此也可以说是该处理核向外部电子设备或第一处理核发送反馈信号。In some embodiments, the first broadcast signal refers to a signal that needs to be fed back, that is, after other processing cores receive the signal, if the processing core satisfies the condition for feeding back the first broadcast signal, it can send the signal to the external electronic device through the on-chip network. The device or the first processing core sends a feedback signal. Since the communication between the processing cores is through the processing core of the many-core system, it can also be said that the processing core sends the feedback signal to the external electronic device or the first processing core.
在一些实施例中,当某处理核接收到广播信号时,其不满足反馈条件,例如处于“忙碌”状态,则不会发送反馈信号。In some embodiments, when a certain processing core receives a broadcast signal, it does not meet the feedback condition, for example, it is in a "busy" state, then the feedback signal will not be sent.
由于片上网络的广播信号“不回头”,一旦一个处理核接收到该第一广播信号,其就不能再次 接收到该第一广播信号,因此即使在之后该处理核已经满足反馈该第一广播信号的条件,也无法再根据该第一广播信号发送反馈信号。Since the broadcast signal of the network on chip "doesn't look back", once a processing core receives the first broadcast signal, it cannot receive the first broadcast signal again, so even after the processing core has been satisfied to feed back the first broadcast signal condition, the feedback signal can no longer be sent according to the first broadcast signal.
当某处理核接收到第一广播信号时,其满足反馈该第一广播信号的条件,则可向外部电子设备或第一处理核发送反馈信号。发送反馈信号的过程具体可以是:该处理核根据外部电子设备或第一处理核的位置向其相邻处理核中距离外部电子设备或第一处理核最近的相邻处理核发送反馈信号,该相邻处理核继续向其距离外部电子设备或第一处理核更近的相邻处理核发送反馈信号,直至反馈信号到达外部电子设备或第一处理核。When a processing core receives the first broadcast signal, and it satisfies the condition for feeding back the first broadcast signal, the feedback signal can be sent to the external electronic device or the first processing core. The process of sending the feedback signal may specifically be as follows: the processing core sends a feedback signal to the adjacent processing core that is closest to the external electronic device or the first processing core among its adjacent processing cores according to the position of the external electronic device or the first processing core, the Neighboring processing cores continue to send feedback signals to their neighboring processing cores that are closer to the external electronic device or the first processing core until the feedback signal reaches the external electronic device or the first processing core.
也就是说,从发送反馈信号的处理核发送反馈信号,到外部电子设备或第一处理核接收到反馈信号也是需要时间的,且发送反馈信号的处理核距离外部电子设备或第一处理核越近,从发送反馈信号到外部电子设备或第一处理核接收到反馈信号的时间就越短,发送反馈信号的处理核距离外部电子设备或第一处理核越远,从发送反馈信号到外部电子设备或第一处理核接收到反馈信号的时间就越长。That is to say, it also takes time for the processing core that sends the feedback signal to send the feedback signal until the external electronic device or the first processing core receives the feedback signal, and the processing core that sends the feedback signal is farther away from the external electronic device or the first processing core. The shorter the time from sending the feedback signal to the external electronic device or the first processing core receiving the feedback signal, the farther the processing core sending the feedback signal is from the external electronic device or the first processing core, the longer the time from sending the feedback signal to the external electronic device The longer the device or the first processing core receives the feedback signal.
在一些实施例中,可预设有第一时间,用于指示重播的时间间隔。若在第一时间内接收到其它处理核发送的反馈信号(称为第一反馈信号),则可结束广播过程,处理第一反馈信号。例如,根据接收到的第一反馈信号,向发送第一反馈信号的处理核发送连接信号,该连接信号用于表示已经接收到第一反馈信号。In some embodiments, a first time may be preset to indicate a time interval for replay. If the feedback signal (referred to as the first feedback signal) sent by other processing cores is received within the first time, the broadcasting process can be ended and the first feedback signal can be processed. For example, according to the received first feedback signal, a connection signal is sent to the processing core that sent the first feedback signal, where the connection signal is used to indicate that the first feedback signal has been received.
在一些实施例中,若在第一时间内未接收到其它处理核发送的反馈信号,则向众核系统的处理核发送下一次第一广播信号。也即,在步骤S22中,针对任意的第i次(i为大于或等于1的整数)发送,如果在第i次发送第一广播信号之后的第一时间内,未接收到针对所述第一广播信号的第一反馈信号,则向众核系统的处理核第i+1次发送第一广播信号。直到接收到反馈信号,或者达到停止重播的条件(例如达到预设的重播次数阈值),可结束广播过程。In some embodiments, if no feedback signals sent by other processing cores are received within the first time, the next first broadcast signal is sent to the processing cores of the many-core system. That is, in step S22, for any i-th (i is an integer greater than or equal to 1) transmission, if the first broadcast signal is not received within the first time after the i-th transmission of the first broadcast signal When a first feedback signal of the broadcast signal is sent, the first broadcast signal is sent to the processing core of the many-core system for the i+1th time. Until a feedback signal is received, or a condition for stopping replay is reached (for example, a preset threshold of replay times is reached), the broadcasting process can be ended.
在一些实施例中,在发送第一广播信号之后的第一时间内,未接收到针对第一广播信号的第一反馈信号,可能是接收到第一广播信号的处理核,在接收到第一广播信号时不满足反馈条件;也可能是在接收到第一广播信号且满足反馈条件的处理核距离较远,尽管其已经发送了反馈信号,但是反馈信号还在传递过程中,未能在第一时间内到达外部电子设备或第一处理核。In some embodiments, within the first time after sending the first broadcast signal, the first feedback signal for the first broadcast signal is not received, which may be the processing core that receives the first broadcast signal, The feedback condition is not met when the broadcast signal is broadcast; it may also be that the processing core that receives the first broadcast signal and meets the feedback condition is far away, although it has already sent the feedback signal, but the feedback signal is still in the process of being transmitted, and it fails to reach the first broadcast signal. reach the external electronic device or the first processing core within a time.
在一些实施例中,通过在第一时间内未接收到反馈信号的情况下,再次发送广播信号,能够使得在接收到上一次的第一广播信号时不满足反馈条件的处理核,再次接收到第一广播信号,并在满足反馈条件的情况下发送反馈信号。在该处理核距离较近的情况下,其发送的反馈信号可能比响应于上一次的第一广播信号的、距离较远的处理核发送的反馈信号,更快到达外部电子设备或第一处理核。In some embodiments, if the feedback signal is not received within the first time, the broadcast signal is sent again, so that the processing core that does not meet the feedback condition when receiving the last first broadcast signal can receive the The first broadcast signal, and the feedback signal is sent if the feedback condition is satisfied. In the case where the processing core is relatively close, the feedback signal sent by the processing core may reach the external electronic device or the first processing core faster than the feedback signal sent by the processing core at a farther distance in response to the last first broadcast signal. nuclear.
也就是说,相比之下,在进行重播的情况下,接收到的反馈信号有更大可能是距离自己更近的处理核发出的,这样,外部电子设备或第一处理核在处理反馈信号的过程中以及后续处理过程中,需要与该处理核通信时,由于距离较近,通信的数据可以更快的到达该处理核,方便处理反馈信号,并且通信过程中占用的处理核数量(也可以说资源)也少。That is to say, in contrast, in the case of replay, the received feedback signal is more likely to be sent by the processing core closer to itself, so that the external electronic device or the first processing core is processing the feedback signal. In the process and subsequent processing, when it is necessary to communicate with the processing core, due to the short distance, the communicated data can reach the processing core faster, which is convenient for processing feedback signals, and the number of processing cores occupied in the communication process (also It can be said that resources) are also less.
在一些实施例中,在该方法应用于第一处理核时,参照图1,处理核N0例如为第一处理核,向相邻的处理核发送第一广播信号;当处理核N1接收到处理核N0发送的第一广播信号时,若处理核N1对应的处理核不满足反馈条件,处理核N1就将广播信号发送至除处理核N0外与其相邻的处理核,如处理核N2;处理核N2对应的处理核也不满足反馈广播信号的条件,处理核N2继续将广播信号发送至除处理核N1外与其相邻的处理核,以此类推,广播信号可能会到达处理核N3。In some embodiments, when the method is applied to the first processing core, referring to FIG. 1 , the processing core N0 is, for example, the first processing core, and sends the first broadcast signal to the adjacent processing core; when the processing core N1 receives the processing When the first broadcast signal sent by the core N0, if the processing core corresponding to the processing core N1 does not satisfy the feedback condition, the processing core N1 sends the broadcast signal to the processing core adjacent to it except the processing core N0, such as the processing core N2; The processing core corresponding to the core N2 also does not meet the conditions for feeding back broadcast signals, and the processing core N2 continues to send the broadcast signal to the processing cores adjacent to it except the processing core N1, and so on, the broadcast signal may reach the processing core N3.
在一些实施例中,如果处理核N3满足反馈条件,处理核N3根据处理核N0的位置向处理核N0发送反馈信号,发送反馈信号的过程与第一广播信号从处理核N0达到处理核N3的过程相似,即反馈信号需要经过处理核N3、处理核N2、处理核N1等多个处理核才能达到处理核N0。在反馈信号达到处理核N0的过程中,由于处理核N0与处理核N3之间距离较远,在第一时间内,反馈信号可 能并未达到处理核N0。In some embodiments, if the processing core N3 satisfies the feedback condition, the processing core N3 sends a feedback signal to the processing core N0 according to the position of the processing core N0, and the process of sending the feedback signal is the same as the first broadcast signal from the processing core N0 to the processing core N3. The process is similar, that is, the feedback signal needs to pass through multiple processing cores such as the processing core N3, the processing core N2, and the processing core N1 to reach the processing core N0. In the process of the feedback signal reaching the processing core N0, since the distance between the processing core N0 and the processing core N3 is relatively long, the feedback signal may not reach the processing core N0 in the first time.
在一些实施例中,处理核N0在第一时间内没有接收到反馈信号,则再次发送第一广播信号,若处理核N1接收到再次发送的第一广播信号时,其已经满足反馈条件,则处理核N1向处理核N0发送反馈信号,处理核N1距离处理核N0的距离较近,可能在处理核N3在上一次广播过程中向处理核N0发送的反馈信号还没有达到处理核N0时,处理核N1在该次广播过程中向处理核N0发送的反馈信号已经到达处理核N0,这样处理核N0就优先接收到了处理核N1发送的反馈信号。其中,处理核N1和处理核N0的距离显然要比处理核N3和处理核N1的距离要近,处理核N1与处理核N0通信的速度显然要高于处理核N3与处理核N0通信的速度。In some embodiments, if the processing core N0 does not receive the feedback signal within the first time, the first broadcast signal is sent again. The processing core N1 sends a feedback signal to the processing core N0. The processing core N1 is relatively close to the processing core N0. It may be that the feedback signal sent by the processing core N3 to the processing core N0 in the last broadcast process has not reached the processing core N0. The feedback signal sent by the processing core N1 to the processing core N0 during the broadcast process has reached the processing core N0, so that the processing core N0 preferentially receives the feedback signal sent by the processing core N1. Among them, the distance between the processing core N1 and the processing core N0 is obviously shorter than the distance between the processing core N3 and the processing core N1, and the communication speed between the processing core N1 and the processing core N0 is obviously higher than the communication speed between the processing core N3 and the processing core N0. .
通过这种方式,有利于近距离的处理核对广播信号进行反馈,从而能够优先与近距离的处理核握手并执行相应的处理,能够提高众核系统整体的处理效率。In this way, it is beneficial for the close-range processing to check the broadcast signal for feedback, so that it can give priority to handshake with the close-range processing core and perform corresponding processing, which can improve the overall processing efficiency of the many-core system.
此外,众核系统的处理核众多,在广播信号在向距离较远的处理核传递的过程中,外部电子设备或第一处理核可能已经收到了距离较近的处理核发送的反馈信号,此时,广播信号的继续传递是没有意义的,反而会占用处理核的传输资源,影响片上网络中其它信号的传递。In addition, the many-core system has many processing cores. During the process of transmitting the broadcast signal to the processing cores farther away, the external electronic device or the first processing core may have received the feedback signal sent by the processing cores that are closer. At this time, it is meaningless to continue to transmit the broadcast signal, but it will occupy the transmission resources of the processing core and affect the transmission of other signals in the on-chip network.
同时,将广播信号向距离较远的处理核发送,即使该处理核可以处理广播信号,其发送反馈信号也被接收到,当需要与该处理核通信时,由于距离较远,通信不便,在多个处理核之间的信号传递还可能造成信号损失,影响通信质量,降低处理核处理信号的处理效率。At the same time, the broadcast signal is sent to the processing core with a long distance. Even if the processing core can process the broadcast signal, the feedback signal sent by the processing core is also received. Signal transmission between multiple processing cores may also cause signal loss, affect communication quality, and reduce the processing efficiency of processing signals by the processing cores.
而只向距离在预定范围内的处理核发送广播信号,一方面可以避免由于无限制广播造成的传输资源的浪费,另一方面,也可以保证接收的反馈信号来自距其预定范围以内,保证与发送反馈信号的处理核之间的通信只经过预定数量以内的处理核数,以保证与发送反馈信号的处理核之间的通信质量,提升处理反馈信号的效率。By sending broadcast signals only to the processing cores within a predetermined range, on the one hand, it can avoid the waste of transmission resources caused by unrestricted broadcasting; The communication between the processing cores that send the feedback signal only passes through the number of processing cores within a predetermined number, so as to ensure the quality of communication with the processing cores that send the feedback signal, and improve the efficiency of processing the feedback signal.
根据本公开的实施例,第一广播信号中包括最大传输步长。也就是说,通过在第一广播信号中加入预定的步长限制,对第一广播信号的传播范围进行限制,保证第一广播信号只发送至与第一处理核的距离在预定范围内的处理核。通过这种方式,能够提高众核系统中传输资源的利用率。According to an embodiment of the present disclosure, a maximum transmission step size is included in the first broadcast signal. That is to say, by adding a predetermined step size limit to the first broadcast signal, the propagation range of the first broadcast signal is limited, so as to ensure that the first broadcast signal is only sent to the processing core whose distance from the first processing core is within the predetermined range. nuclear. In this way, the utilization rate of transmission resources in the many-core system can be improved.
在一些实施例中,第一广播信号每经过一次处理核间的传递,第一广播信号中统计其经过处理核数量的值就加1,当这个值与预定的最大传输步长一致时,就对该广播信号进行删除。In some embodiments, every time the first broadcast signal passes through a transfer between processing cores, the value of counting the number of processed cores in the first broadcast signal is incremented by 1, and when this value is consistent with the predetermined maximum transmission step size, the Delete the broadcast signal.
在一些实施例中,也可以是,第一广播信号每经过一次处理核间的传递,第一广播信号的最大传输步长就减1,当最大传输步长变为0的时候,就不再转发该第一广播信号并对第一广播信号进行删除。In some embodiments, each time the first broadcast signal is transferred between processing cores, the maximum transmission step size of the first broadcast signal is decreased by 1, and when the maximum transmission step size becomes 0, the maximum transmission step size of the first broadcast signal is reduced by 1. The first broadcast signal is forwarded and the first broadcast signal is deleted.
在一些实施例中,还可以是,接收到第一广播信号的处理核确定与外部电子设备或第一处理核之间的距离,并与最大传输步长进行比较。如果距离未达到最大传输步长,则进行转发;如果距离达到最大传输步长,则不再转发并删除。本公开对具体的实现方式不作限制。In some embodiments, the processing core that receives the first broadcast signal may determine the distance to the external electronic device or the first processing core, and compare it with the maximum transmission step size. If the distance does not reach the maximum transmission step size, it will be forwarded; if the distance reaches the maximum transmission step size, it will not be forwarded and deleted. The present disclosure does not limit the specific implementation.
根据本公开实施例的广播方法,能够在满足广播条件的情况下向处理核发送广播信号,并在发送后的第一时间内未接收到反馈信号的情况下再次发送广播信号,通过引入重播机制并限定广播信号传输的范围,能够提高众核系统中的整体处理效率,并提高系统中传输资源的利用率。According to the broadcasting method of the embodiment of the present disclosure, a broadcasting signal can be sent to the processing core under the condition that broadcasting conditions are satisfied, and the broadcasting signal can be sent again under the condition that no feedback signal is received within the first time after sending, by introducing a replay mechanism And limiting the range of broadcast signal transmission can improve the overall processing efficiency in the many-core system and improve the utilization rate of transmission resources in the system.
在一些实施例中,根据本公开实施例的广播方法还可包括:In some embodiments, the broadcasting method according to the embodiment of the present disclosure may further include:
在第i次发送所述第一广播信号之后的第一时间内,接收到针对所述第一广播信号的第一反馈信号的情况下,将所述第一反馈信号作为目标反馈信号;If a first feedback signal for the first broadcast signal is received within a first time after the i-th transmission of the first broadcast signal, use the first feedback signal as a target feedback signal;
根据所述目标反馈信号执行相应的处理。Corresponding processing is performed according to the target feedback signal.
也就是说,在第i次发送第一广播信号之后的第一时间内,如果接收到其它处理核发送的第一反馈信号,则可将该第一反馈信号直接作为目标反馈信号,结束广播过程。进而对目标反馈信号执行相应的处理,例如与该第一反馈信号对应的处理核握手,向该处理核发送任务数据,或者从该处理核接收任务数据等,本公开对具体的处理方式不作限制。That is to say, within the first time after sending the first broadcast signal for the i-th time, if the first feedback signal sent by other processing cores is received, the first feedback signal can be directly used as the target feedback signal, and the broadcasting process is ended. . Further, corresponding processing is performed on the target feedback signal, such as shaking hands with the processing core corresponding to the first feedback signal, sending task data to the processing core, or receiving task data from the processing core, etc. The present disclosure does not limit the specific processing method. .
通过这种方式,可以简化判断过程,提高对反馈信号的处理效率。In this way, the judgment process can be simplified, and the processing efficiency of the feedback signal can be improved.
在一些实施例中,根据本公开实施例的广播方法还可包括:In some embodiments, the broadcasting method according to the embodiment of the present disclosure may further include:
在第i次发送所述第一广播信号之后的第一时间内,接收到针对所述第一广播信号的第一反馈信号的情况下,缓存所述第一反馈信号;In the case of receiving a first feedback signal for the first broadcast signal within a first time after sending the first broadcast signal for the i-th time, buffering the first feedback signal;
在接收到所述第一反馈信号之后的第二时间内,未接收到针对第一广播信号的第二反馈信号的情况下,将所述第一反馈信号作为目标反馈信号;If the second feedback signal for the first broadcast signal is not received within a second time after the first feedback signal is received, the first feedback signal is used as the target feedback signal;
根据所述目标反馈信号执行相应的处理。Corresponding processing is performed according to the target feedback signal.
也就是说,在第i次发送第一广播信号之后的第一时间内,如果接收到其它处理核发送的第一反馈信号,则可以缓存第一反馈信号,并等待一定的时间(即第二时间)。其中,第二时间要小于第一时间,即从第一次接收到反馈信号到停止接收反馈信号间隔的时间,要小于重复发送广播信号所间隔的时间。That is to say, within the first time after the i-th first broadcast signal is sent, if the first feedback signal sent by other processing cores is received, the first feedback signal can be buffered and waited for a certain period of time (that is, the second time). Wherein, the second time is smaller than the first time, that is, the time interval from receiving the feedback signal for the first time to stopping receiving the feedback signal is smaller than the time interval between repeatedly sending the broadcast signal.
在一些实施例中,如果第二时间内未接收到其它的反馈信号(称为第二反馈信号),则可将该第一反馈信号作为目标反馈信号,结束广播过程。进而对目标反馈信号执行相应的处理,例如与该第一反馈信号对应的处理核握手,向该处理核发送任务数据,或者从该处理核接收任务数据等,本公开对具体的处理方式不作限制。In some embodiments, if no other feedback signal (referred to as a second feedback signal) is received within the second time, the first feedback signal may be used as the target feedback signal, and the broadcasting process is ended. Further, corresponding processing is performed on the target feedback signal, such as shaking hands with the processing core corresponding to the first feedback signal, sending task data to the processing core, or receiving task data from the processing core, etc. The present disclosure does not limit the specific processing method. .
通过这种方式,在接收到第一反馈信号等待一定时间,可以给予其它处理核更多的反馈机会,以便找到距离更近的处理核,从而提高任务处理的效率。In this way, after receiving the first feedback signal and waiting for a certain period of time, other processing cores can be given more feedback opportunities, so as to find a processing core with a closer distance, thereby improving the efficiency of task processing.
在一些实施例中,根据本公开实施例的广播方法还可包括:In some embodiments, the broadcasting method according to the embodiment of the present disclosure may further include:
在接收到所述第一反馈信号之后的第二时间内,接收到针对所述第一广播信号的第二反馈信号的情况下,从至所述第二时间结束时接收到的所有反馈信号中确定出目标反馈信号;其中,发送所述目标反馈信号的目标处理核为信号传输步长最小的处理核;In the case where a second feedback signal for the first broadcast signal is received within a second time after the first feedback signal is received, from all feedback signals received up to the end of the second time Determine the target feedback signal; wherein, the target processing core that sends the target feedback signal is the processing core with the smallest signal transmission step;
根据所述目标反馈信号执行相应的处理。Corresponding processing is performed according to the target feedback signal.
也就是说,在第i次发送第一广播信号之后的第一时间内,如果接收到其它处理核发送的第一反馈信号,则可以缓存第一反馈信号,并等待一定的时间(即第二时间)。That is to say, within the first time after the i-th first broadcast signal is sent, if the first feedback signal sent by other processing cores is received, the first feedback signal can be buffered and waited for a certain period of time (that is, the second time).
在一些实施例中,如果第二时间内接收到其它的反馈信号(称为第二反馈信号),则可从至第二时间结束时接收到的所有反馈信号(包括第一反馈信号和至少一个第二反馈信号)中确定出目标反馈信号,进而对目标反馈信号执行相应的处理,In some embodiments, if other feedback signals (referred to as second feedback signals) are received within the second time, all feedback signals (including the first feedback signal and at least one of the feedback signals received by the end of the second time) may be The target feedback signal is determined in the second feedback signal), and then the corresponding processing is performed on the target feedback signal,
在一些实施例中,可从接收到的各个反馈信号中,确定发送各个反馈信号的处理核的位置,并计算各个处理核的距离,从所有接收到反馈信号对应的处理核中选择距离最短的处理核为目标处理核,该处理核发送的反馈信号就是目标反馈信号。In some embodiments, the positions of the processing cores that send the feedback signals may be determined from the feedback signals received, the distances of the processing cores may be calculated, and the processing core with the shortest distance may be selected from all the processing cores corresponding to the feedback signals received. The processing core is the target processing core, and the feedback signal sent by the processing core is the target feedback signal.
在一些实施例中,某个处理核的距离具体是指该处理核与外部电子设备或第一处理核之间的信号传输步长,即信号从该处理核到外部电子设备或第一处理核经过的最短路径的长度。确定距离最短的处理核为目标处理核也就是说,确定所有接收到的反馈信号来自的处理核,确定这些处理核中信号传输步长最小的处理核(或者说在相同的传输速度下,发送的信号可以最快到达外部电子设备或第一处理核的处理核)为目标处理核,该处理核发送的反馈信号就是目标反馈信号。In some embodiments, the distance of a certain processing core specifically refers to the signal transmission step size between the processing core and the external electronic device or the first processing core, that is, the signal is transmitted from the processing core to the external electronic device or the first processing core The length of the shortest path traversed. Determine the processing core with the shortest distance as the target processing core. That is to say, determine the processing core from which all received feedback signals come from, and determine the processing core with the smallest signal transmission step among these processing cores (or at the same transmission speed, send The signal can reach the external electronic device or the processing core of the first processing core as soon as possible as the target processing core, and the feedback signal sent by the processing core is the target feedback signal.
在一些实施例中,在已经确定目标反馈信号之后,可能还会接收到其它反馈信号,若接收到其它反馈信号,则可忽略该反馈信号。In some embodiments, after the target feedback signal has been determined, other feedback signals may be received, and if other feedback signals are received, the feedback signal may be ignored.
通过这种方式,能够根据接收到的多个反馈信号选择出信号传输步长最小的目标处理核,并对目标处理核的反馈信号进行处理,从而能够与距离更近的处理核配对,提高通信效率和任务处理的效率。In this way, the target processing core with the smallest signal transmission step size can be selected according to the multiple received feedback signals, and the feedback signal of the target processing core can be processed, so that it can be paired with a processing core with a closer distance and improve communication. Efficiency and efficiency of task handling.
根据本公开实施例的广播方法可以用于任务调度,例如,从外部电子设备或第一处理核向其它处理核下发新的任务;或者在第一处理核处于空闲状态的情况下,主动向其它处理核询问是否有待处理的新任务。The broadcasting method according to the embodiment of the present disclosure can be used for task scheduling, for example, issuing a new task from an external electronic device or the first processing core to other processing cores; or when the first processing core is in an idle state, actively Other processing cores ask if there are new tasks to be processed.
在一些实施例中,根据本公开实施例的广播方法可应用于所述众核系统的第一处理核,或者所 述众核系统外部的电子设备,所述第一处理核为多个所述处理核中的一个,In some embodiments, the broadcasting method according to the embodiment of the present disclosure may be applied to a first processing core of the many-core system, or an electronic device outside the many-core system, where the first processing core is a plurality of the process one of the cores,
其中,所述广播条件包括:存在待分配的第一目标任务;所述第一广播信号包括用于分配任务的握手信号;Wherein, the broadcast condition includes: there is a first target task to be assigned; the first broadcast signal includes a handshake signal for assigning a task;
所述根据所述目标反馈信号执行相应的处理,包括:The performing corresponding processing according to the target feedback signal includes:
向与所述目标反馈信号对应的目标处理核,发送与所述第一目标任务对应的任务数据,以使所述目标处理核执行所述第一目标任务。Sending task data corresponding to the first target task to the target processing core corresponding to the target feedback signal, so that the target processing core executes the first target task.
举例来说,在进行任务调度时,外部电子设备或第一处理核可通过广播的方式向其它处理核下发新的任务。For example, when performing task scheduling, the external electronic device or the first processing core may issue a new task to other processing cores by way of broadcasting.
在该情况下,预设的广播条件可包括:存在待分配的第一目标任务。也即在存在待分配的第一目标任务时,确定满足广播条件,可在步骤S21-S22中向众核系统的处理核发送第一广播信号,并在第一时间内未接收到反馈信号时重播。In this case, the preset broadcast condition may include: there is a first target task to be allocated. That is, when there is a first target task to be allocated, it is determined that the broadcast conditions are met, and the first broadcast signal can be sent to the processing core of the many-core system in steps S21-S22, and the feedback signal is not received within the first time. replay.
在该情况下,第一广播信号包括用于分配任务的握手信号,也即可以与其它处理核进行握手,从而向其它处理核分配任务。In this case, the first broadcast signal includes a handshake signal for assigning tasks, that is, handshakes can be performed with other processing cores to assign tasks to other processing cores.
在一些实施例中,满足反馈条件的处理核可向外部电子设备或第一处理核发送反馈信号;在接收到反馈信号之后,外部电子设备或第一处理核可根据前述的处理过程确定是否将该反馈信号确定为目标反馈信号,此处不再重复描述。In some embodiments, the processing core that satisfies the feedback condition may send a feedback signal to the external electronic device or the first processing core; after receiving the feedback signal, the external electronic device or the first processing core may determine whether to The feedback signal is determined as the target feedback signal, and the description will not be repeated here.
在一些实施例中,在将该反馈信号确定为目标反馈信号的情况下,根据所述目标反馈信号执行相应的处理。也即,通过片上网络与发送目标反馈信号的目标处理核进行通信,以完成握手;并在完成握手后,向目标处理核发送与第一目标任务对应的任务数据,以使目标处理核执行第一目标任务。In some embodiments, when the feedback signal is determined to be the target feedback signal, corresponding processing is performed according to the target feedback signal. That is, communicate with the target processing core that sends the target feedback signal through the on-chip network to complete the handshake; and after completing the handshake, send the task data corresponding to the first target task to the target processing core, so that the target processing core executes the first target processing core. a target task.
通过这种方式,能够实现去中心化的任务调度,通过动态的任务发放,实现众核系统内部的各个处理核之间的均衡,提高系统的整体处理效率。In this way, decentralized task scheduling can be achieved, and through dynamic task distribution, the balance between the processing cores in the many-core system can be achieved, and the overall processing efficiency of the system can be improved.
在一些实施例中,根据本公开实施例的广播方法可应用于所述众核系统的第一处理核,所述第一处理核为多个所述处理核中的一个,In some embodiments, the broadcasting method according to the embodiment of the present disclosure may be applied to a first processing core of the many-core system, where the first processing core is one of a plurality of the processing cores,
其中,所述广播条件包括以下任一种:所述第一处理核中存在待分配的第二目标任务、所述第一处理核在处理第二目标任务期间发生运算错误、所述第一处理核在处理第二目标任务期间的温度超出温度阈值;所述第一广播信号包括用于分配任务的握手信号;Wherein, the broadcast condition includes any one of the following: there is a second target task to be allocated in the first processing core, an operation error occurs during the processing of the second target task by the first processing core, the first processing the temperature of the core during processing of the second target task exceeds a temperature threshold; the first broadcast signal includes a handshake signal for assigning tasks;
所述根据所述目标反馈信号执行相应的处理,包括:The performing corresponding processing according to the target feedback signal includes:
向与所述目标反馈信号对应的目标处理核,发送与所述第二目标任务对应的任务数据,以使所述目标处理核执行所述第二目标任务。Sending task data corresponding to the second target task to the target processing core corresponding to the target feedback signal, so that the target processing core executes the second target task.
举例来说,第一处理核在需要下发新的任务,或者第一处理核自身无法处理当前任务的情况下,第一处理核可通过广播的方式向其它处理核下发相应的任务。For example, when the first processing core needs to issue a new task, or the first processing core itself cannot process the current task, the first processing core may issue a corresponding task to other processing cores by broadcasting.
在该情况下,预设的广播条件可包括以下任一种:第一处理核中存在待分配的第二目标任务、第一处理核在处理第二目标任务期间发生运算错误、第一处理核在处理第二目标任务期间的温度超出温度阈值。In this case, the preset broadcast conditions may include any of the following: there is a second target task to be allocated in the first processing core, an operation error occurs during the processing of the second target task by the first processing core, the first processing core The temperature during processing of the second target task exceeds the temperature threshold.
在一些实施例中,如果第一处理核在处理第二目标任务期间发生运算错误,则第一处理核无法得到第二目标任务正确的处理结果,需要由其它处理核来执行第二目标任务;如果第一处理核在处理第二目标任务期间温度超出温度阈值,则第一处理核无法继续处理该第二目标任务,需要由其它处理核来执行第二目标任务。应当理解,第一处理核自身无法处理当前的第二目标任务还可能存在其它情况,本公开对此不作限制。In some embodiments, if an operation error occurs during the processing of the second target task by the first processing core, the first processing core cannot obtain the correct processing result of the second target task, and other processing cores need to execute the second target task; If the temperature of the first processing core exceeds the temperature threshold during processing of the second target task, the first processing core cannot continue to process the second target task, and other processing cores need to execute the second target task. It should be understood that there may be other situations where the first processing core itself cannot process the current second target task, which is not limited in the present disclosure.
在第一处理核出现上述情况时,确定满足广播条件,第一处理核可在步骤S21-S22中向众核系统的处理核发送第一广播信号,并在第一时间内未接收到反馈信号时重播。When the above situation occurs in the first processing core, it is determined that the broadcast conditions are met, and the first processing core may send the first broadcast signal to the processing cores of the many-core system in steps S21-S22, and does not receive the feedback signal within the first time replay.
在该情况下,第一广播信号包括用于分配任务的握手信号,也即可以与其它处理核进行握手, 从而向其它处理核分配任务。In this case, the first broadcast signal includes a handshake signal for assigning tasks, that is, handshakes can be performed with other processing cores to assign tasks to other processing cores.
在一些实施例中,满足反馈条件的处理核可向第一处理核发送反馈信号;在接收到反馈信号之后,第一处理核可根据前述的处理过程确定是否将该反馈信号确定为目标反馈信号,此处不再重复描述。In some embodiments, the processing core that satisfies the feedback condition may send a feedback signal to the first processing core; after receiving the feedback signal, the first processing core may determine whether to determine the feedback signal as the target feedback signal according to the aforementioned processing procedure , the description will not be repeated here.
在一些实施例中,在将该反馈信号确定为目标反馈信号的情况下,根据所述目标反馈信号执行相应的处理。也即,通过片上网络与发送目标反馈信号的目标处理核进行通信,以完成握手;并在完成握手后,向目标处理核发送与第二目标任务对应的任务数据,以使目标处理核执行第二目标任务。In some embodiments, when the feedback signal is determined to be the target feedback signal, corresponding processing is performed according to the target feedback signal. That is, the on-chip network communicates with the target processing core that sends the target feedback signal to complete the handshake; and after the handshake is completed, the task data corresponding to the second target task is sent to the target processing core, so that the target processing core executes the first task. Two objective tasks.
通过这种方式,能够实现去中心化的任务调度,通过动态的任务发放,实现众核系统内部的各个处理核之间的均衡,提高系统的整体处理效率。并且,能够在第一处理核发生运算错误、温度过高等情况下自动广播,以便采用其它处理核执行相应的任务,减少了任务出错的概率,并提高了众核系统的温度均匀性。In this way, decentralized task scheduling can be achieved, and through dynamic task distribution, the balance between the processing cores in the many-core system can be achieved, and the overall processing efficiency of the system can be improved. In addition, it can automatically broadcast when the first processing core has an operation error, the temperature is too high, etc., so that other processing cores can be used to perform corresponding tasks, which reduces the probability of task errors and improves the temperature uniformity of the many-core system.
在一些实施例中,根据本公开实施例的广播方法可应用于所述众核系统的第一处理核,所述第一处理核为多个所述处理核中的一个,In some embodiments, the broadcasting method according to the embodiment of the present disclosure may be applied to a first processing core of the many-core system, where the first processing core is one of a plurality of the processing cores,
其中,所述广播条件包括:所述第一处理核处于空闲状态;所述第一广播信号包括用于请求任务的握手信号;Wherein, the broadcast condition includes: the first processing core is in an idle state; the first broadcast signal includes a handshake signal for requesting a task;
所述根据所述目标反馈信号执行相应的处理,包括:The performing corresponding processing according to the target feedback signal includes:
与所述目标反馈信号对应的目标处理核进行配对,以认领所述目标处理核中待分配的第三目标任务,pairing with the target processing core corresponding to the target feedback signal to claim the third target task to be allocated in the target processing core,
在接收到与所述第三目标任务对应的任务数据的情况下,执行所述第三目标任务。The third target task is executed when task data corresponding to the third target task is received.
举例来说,在第一处理核处于空闲状态的情况下,可主动向其它处理核询问是否有待处理的新任务。也即,第一处理核可向众核系统的其它处理核发送广播信号,以通知其它处理核,该第一处理核处于空闲状态,可以“帮助”处理待处理的任务。其中,处理待处理的任务可例如包括存储数据、依据数据进行计算处理等,本公开对此不作限制。For example, when the first processing core is in an idle state, other processing cores may be actively inquired about whether there are new tasks to be processed. That is, the first processing core can send a broadcast signal to other processing cores in the many-core system to notify other processing cores that the first processing core is in an idle state and can "help" to process tasks to be processed. Wherein, processing the task to be processed may include, for example, storing data, performing calculation processing according to the data, etc., which is not limited in the present disclosure.
在该情况下,预设的广播条件可包括:第一处理核处于空闲状态。也即在第一处理核处于空闲状态时,确定满足广播条件,可在步骤S21-S22中向众核系统的处理核发送第一广播信号,并在第一时间内未接收到反馈信号时重播。In this case, the preset broadcast condition may include: the first processing core is in an idle state. That is, when the first processing core is in an idle state, it is determined that the broadcast conditions are met, and the first broadcast signal can be sent to the processing core of the many-core system in steps S21-S22, and replayed when the feedback signal is not received within the first time. .
在该情况下,第一广播信号包括用于请求任务的握手信号,也即可以与其它处理核进行握手,从而“帮助”其它处理核处理待处理的任务。In this case, the first broadcast signal includes a handshake signal for requesting a task, that is, a handshake can be performed with other processing cores, so as to "help" other processing cores to process tasks to be processed.
在一些实施例中,第一广播信号中还可以包括第一处理核的状态信息。In some embodiments, the first broadcast signal may further include state information of the first processing core.
在一些实施例中,该状态信息包括第一处理核的占用状态,即第一处理核是否已经被“占用”,是否处于可以“帮助”处理待处理任务的空闲状态。当第一处理核没有被任务“占用”,处于空闲状态,可以帮助其它处理核处理待处理任务时,第一处理核的占用状态为未占用。当第一处理核处于工作状态,正在处理任务,没有多余的算力以及存储空间帮助其它处理核处理待处理任务,第一处理核的占用状态为已占用。In some embodiments, the state information includes the occupancy state of the first processing core, that is, whether the first processing core has been "occupied" and is in an idle state that can "help" to process tasks to be processed. When the first processing core is not "occupied" by a task and is in an idle state and can help other processing cores to process tasks to be processed, the occupied state of the first processing core is unoccupied. When the first processing core is in a working state and is processing tasks, and there is no extra computing power and storage space to help other processing cores process tasks to be processed, the occupied state of the first processing core is occupied.
需要说明的是,当第一处理核接收了其它处理核的反馈信号,决定“帮助”处理该处理核的待处理任务时,尽管第一处理核还没有开始处理该处理核的待处理任务,即第一处理核已经有待处理任务,但是还没有开始处理任务时,第一处理核的占用状态依然为已占用。It should be noted that when the first processing core receives feedback signals from other processing cores and decides to "help" process the pending tasks of this processing core, although the first processing core has not yet started to process the pending tasks of this processing core, That is, when the first processing core already has a task to be processed, but has not yet started to process the task, the occupied state of the first processing core is still occupied.
本公开实施例的广播方法用于上述任务调度过程时,第一处理核发送的第一广播信号是为了通知其它处理核,该第一处理核处于空闲状态,也就是说,第一处理核发送第一广播信号时,应该处于空闲状态,第一广播信号的占用状态应该为“未占用”。When the broadcast method of the embodiment of the present disclosure is used in the above task scheduling process, the first broadcast signal sent by the first processing core is to notify other processing cores that the first processing core is in an idle state, that is, the first processing core sends When the first broadcast signal is used, it should be in an idle state, and the occupied state of the first broadcast signal should be "unoccupied".
在一些实施例中,第一处理核的状态信息还可以包括第一处理核的算力状态和/或存储状态。其中,第一处理核的算力状态是指第一处理核的算力状态信息,即第一处理核可使用的计算能力。第 一处理核的存储状态是指第一处理核的存储状态信息,即第一处理核可使用的存储能力(或者说存储空间)。第一处理核的算力状态和存储状态可以作为其它处理核判断自己是否满足反馈第一广播信号的条件的依据。In some embodiments, the state information of the first processing core may further include a computing power state and/or a storage state of the first processing core. The computing power status of the first processing core refers to computing power status information of the first processing core, that is, the computing power available to the first processing core. The storage state of the first processing core refers to storage state information of the first processing core, that is, the storage capacity (or storage space) usable by the first processing core. The computing power state and storage state of the first processing core can be used as a basis for other processing cores to judge whether they meet the conditions for feeding back the first broadcast signal.
例如,其它处理核在接收到第一处理核发送的第一广播信号后,若其没有待处理任务,则该处理核可以直接将第一广播信号转发至与其相邻的处理核。若该处理核有待处理任务需要分配给其它处理核“帮忙”处理,则该处理核可根据第一处理核的状态信息中第一处理核的算力状态和存储状态,判断第一处理核是否满足处理待处理任务的要求。For example, after receiving the first broadcast signal sent by the first processing core, if other processing cores have no tasks to be processed, the processing core may directly forward the first broadcast signal to its adjacent processing core. If the processing core has tasks to be processed that need to be assigned to other processing cores for "help" processing, the processing core can determine whether the first processing core Satisfy the requirements for processing pending tasks.
在一些实施例中,可以是将处理待处理任务所需要的算力和存储空间与第一处理核可使用的计算能力和存储空间进行对比。若第一处理核可使用的计算能力大于处理待处理任务所需要的算力,且第一处理核可使用的存储空间大于处理待处理任务所需要的存储空间,则说明第一处理核满足处理待处理任务的要求,也就说明该处理核满足反馈条件,该处理核向第一处理核发送反馈信号。In some embodiments, the computing power and storage space required for processing the task to be processed may be compared with the computing power and storage space available for the first processing core. If the computing power available to the first processing core is greater than the computing power required to process the tasks to be processed, and the storage space available to the first processing core is greater than the storage space required to process the tasks to be processed, it means that the first processing core satisfies the processing requirements. The requirement of the task to be processed means that the processing core satisfies the feedback condition, and the processing core sends a feedback signal to the first processing core.
在一些实施例中,满足反馈条件的处理核向第一处理核发送的反馈信号中可以包括:该处理核的地址以及第一处理核的地址,其中,该处理核的地址作为反馈信号的源地址,便于第一处理核在接收到反馈信号之后快速知道发送该反馈信号的处理核的位置。第一处理核的地址作为反馈信号的目的地址,其它处理核在接收到反馈信号以后可以根据第一处理核的地址将反馈信号转发至距离第一处理核更近的处理核,可以让反馈信号更快发送至第一处理核。In some embodiments, the feedback signal sent by the processing core that satisfies the feedback condition to the first processing core may include: the address of the processing core and the address of the first processing core, wherein the address of the processing core serves as the source of the feedback signal The address is convenient for the first processing core to quickly know the location of the processing core that sent the feedback signal after receiving the feedback signal. The address of the first processing core is used as the destination address of the feedback signal. After receiving the feedback signal, other processing cores can forward the feedback signal to the processing core closer to the first processing core according to the address of the first processing core, so that the feedback signal can be Faster to the first processing core.
在一些实施例中,第一处理核在接收到反馈信号之后,可根据前述的处理过程确定是否将该反馈信号确定为目标反馈信号,此处不再重复描述。In some embodiments, after receiving the feedback signal, the first processing core may determine whether to determine the feedback signal as the target feedback signal according to the foregoing processing procedure, and the description will not be repeated here.
在一些实施例中,在将该反馈信号确定为目标反馈信号的情况下,根据所述目标反馈信号执行相应的处理。也即,与发送反馈信号的处理核握手,通过片上网络与发送反馈信号的处理核进行通信,接收并处理待处理任务。In some embodiments, when the feedback signal is determined to be the target feedback signal, corresponding processing is performed according to the target feedback signal. That is, it handshakes with the processing core that sends the feedback signal, communicates with the processing core that sends the feedback signal through the on-chip network, and receives and processes the pending tasks.
使用本公开实施例的广播方法发送广播信号,第一处理核接收到的反馈信号有更大可能是距离自己更近的处理核发出的。当本公开实施例的广播方法用于任务调度时,第一处理核选择处理的待处理任务有更大的可能是距离自己更近的处理核的待处理任务,这样第一处理核在接收待处理任务时,待处理任务可以更快地到达第一处理核,方便第一处理核更快处理待处理任务,同时,待处理任务从发送反馈信号的处理核到达第一处理核的过程中占用的处理核数量也少,占用的传输资源也相对较少。By using the broadcast method of the embodiment of the present disclosure to send a broadcast signal, the feedback signal received by the first processing core is more likely to be sent by a processing core that is closer to itself. When the broadcasting method of the embodiment of the present disclosure is used for task scheduling, the first processing core selects and processes the pending task more likely to be the pending task of the processing core that is closer to itself. In this way, the first processing core is receiving pending tasks. When processing tasks, the pending tasks can reach the first processing core faster, which is convenient for the first processing core to process the pending tasks faster. At the same time, the pending tasks occupy the process of reaching the first processing core from the processing core sending the feedback signal. The number of processing cores is also small, and the transmission resources occupied are relatively small.
需要强调的是,本公开实施例的广播方法用于众核系统的第一处理核,可以通过直接修改众核系统的第一处理核的控制程序实现,即众核系统的第一处理核可生成广播数据,将广播数据以广播信号的形式广播,第一处理核在广播后并不删除广播信号,若在预设的第一时间内其没有接收到其它处理核发送的反馈信号,则再次发送广播信号。It should be emphasized that the broadcasting method of the embodiment of the present disclosure is used for the first processing core of the many-core system, which can be realized by directly modifying the control program of the first processing core of the many-core system, that is, the first processing core of the many-core system can Generate broadcast data, broadcast the broadcast data in the form of broadcast signals, the first processing core does not delete the broadcast signal after the broadcast, if it does not receive the feedback signal sent by other processing cores within the preset first time, then again Send a broadcast signal.
根据本公开的实施例,众核系统的第一处理核可以作为广播信号的发送侧,在步骤S21-S22中发送广播信号,并在第一时间内未接收到反馈信号时重播。此外,第一处理核还可以作为广播信号的接收侧,接收广播信号,给出相应的反馈信号,和/或转发该广播信号。According to an embodiment of the present disclosure, the first processing core of the many-core system may serve as the transmitting side of the broadcast signal, transmit the broadcast signal in steps S21-S22, and replay the broadcast signal when no feedback signal is received within the first time. In addition, the first processing core can also serve as the receiving side of the broadcast signal, receive the broadcast signal, give a corresponding feedback signal, and/or forward the broadcast signal.
在一些实施例中,根据本公开实施例的广播方法还可包括:In some embodiments, the broadcasting method according to the embodiment of the present disclosure may further include:
在接收到所述众核系统的第二处理核第k次发送的第二广播信号的情况下,根据所述第二广播信号,以及所述第一处理核的处理状态,判断所述第一处理核是否满足反馈条件,k为大于或等于1的整数;In the case of receiving the second broadcast signal sent by the second processing core of the many-core system for the kth time, determine the first broadcast signal according to the second broadcast signal and the processing state of the first processing core Whether the processing core satisfies the feedback condition, k is an integer greater than or equal to 1;
在所述第一处理核满足反馈条件的情况下,向所述第二处理核发送第三反馈信号,以使所述第一处理核与所述第二处理核配对并执行相应的处理,In the case that the first processing core satisfies the feedback condition, a third feedback signal is sent to the second processing core, so that the first processing core is paired with the second processing core and performs corresponding processing,
其中,所述执行相应的处理包括:Wherein, the performing corresponding processing includes:
所述第一处理核接收所述第二处理核发送的与第四目标任务对应的任务数据,并执行所述第四目标任务;或者The first processing core receives the task data corresponding to the fourth target task sent by the second processing core, and executes the fourth target task; or
所述第一处理核向所述第二处理核发送与第五目标任务对应的任务数据,以使所述第二处理核执行所述第五目标任务。The first processing core sends task data corresponding to the fifth target task to the second processing core, so that the second processing core executes the fifth target task.
举例来说,如果第一处理核接收到第二处理核第k次(k为大于或等于1的整数)发送的第二广播信号,则可根据第二广播信号的内容和第一处理核的处理状态,判断第一处理核是否满足反馈条件。例如,第二广播信号包括用于分配任务的握手信号,如果第一处理核当前的处理状态或预告的处理状态为空闲,则可确定满足反馈条件;反之,则可确定不满足反馈条件。For example, if the first processing core receives the second broadcast signal sent by the second processing core for the kth time (k is an integer greater than or equal to 1), the content of the second broadcast signal and the Processing status, to determine whether the first processing core satisfies the feedback condition. For example, the second broadcast signal includes a handshake signal for assigning tasks. If the current processing state or the predicted processing state of the first processing core is idle, it can be determined that the feedback condition is satisfied; otherwise, it can be determined that the feedback condition is not satisfied.
在一些实施例中,如果第一处理核满足反馈条件,则可向第二处理核发送第三反馈信号,以便第二处理核判断是否将第三反馈信号作为目标反馈信号。如果第二处理核将第三反馈信号作为目标反馈信号,则第一处理核与第二处理核握手以实现配对,并执行相应的处理。In some embodiments, if the first processing core satisfies the feedback condition, a third feedback signal may be sent to the second processing core, so that the second processing core determines whether to use the third feedback signal as the target feedback signal. If the second processing core takes the third feedback signal as the target feedback signal, the first processing core shakes hands with the second processing core to realize pairing, and performs corresponding processing.
在一些实施例中,如果第二广播信号包括用于分配任务的握手信号,则执行相应的处理可包括:第一处理核接收第二处理核发送的与第四目标任务对应的任务数据,并执行第四目标任务;如果第二广播信号包括用于请求任务的握手信号,则执行相应的处理可包括:第一处理核向第二处理核发送与第五目标任务对应的任务数据,以使第二处理核执行第五目标任务。In some embodiments, if the second broadcast signal includes a handshake signal for assigning tasks, performing corresponding processing may include: the first processing core receiving task data corresponding to the fourth target task sent by the second processing core, and Execute the fourth target task; if the second broadcast signal includes a handshake signal for requesting a task, executing the corresponding processing may include: the first processing core sends the task data corresponding to the fifth target task to the second processing core, so that the The second processing core executes the fifth target task.
通过这种方式,能够实现第一处理核作为广播信号的接收侧时的处理过程,从而提高系统的整体处理效率。In this way, the processing procedure when the first processing core acts as the receiving side of the broadcast signal can be implemented, thereby improving the overall processing efficiency of the system.
在一些实施例中,第二广播信号中包括最大传输步长,根据本公开实施例的广播方法还可包括:In some embodiments, the second broadcast signal includes a maximum transmission step size, and the broadcast method according to an embodiment of the present disclosure may further include:
在接收到所述第二处理核第k次发送的第二广播信号的情况下,根据所述第二广播信号中的最大传输步长,判断所述第二广播信号是否满足转发条件;In the case of receiving the second broadcast signal sent by the second processing core for the kth time, according to the maximum transmission step size in the second broadcast signal, determine whether the second broadcast signal satisfies the forwarding condition;
在所述第二广播信号满足转发条件的情况下,向远离所述第二处理核的第三处理核转发所述第二广播信号。If the second broadcast signal satisfies the forwarding condition, the second broadcast signal is forwarded to a third processing core far away from the second processing core.
也就是说,在第一处理核接收到第二处理核第k次发送的第二广播信号时,可根据第二广播信号中的最大传输步长,判断是否需要转发该第二广播信号。That is, when the first processing core receives the second broadcast signal sent by the second processing core for the kth time, it can determine whether the second broadcast signal needs to be forwarded according to the maximum transmission step size in the second broadcast signal.
在一些实施例中,如果采用每经过一次处理核间的传递,第二广播信号中统计其经过处理核数量的值就加1的方式,则在该值未达到最大传输步长时判断满足转发条件,向远离第二处理核的第三处理核转发第二广播信号;反之,在该值达到最大传输步长时判断不满足转发条件,删除该第二广播信号。In some embodiments, if a method is adopted in which the number of processed cores counted in the second broadcast signal is incremented by 1 each time a transfer between processing cores is passed, it is judged that the forwarding is satisfied when the value does not reach the maximum transmission step size. condition, forward the second broadcast signal to the third processing core far away from the second processing core; otherwise, when the value reaches the maximum transmission step size, it is judged that the forwarding condition is not satisfied, and the second broadcast signal is deleted.
在一些实施例中,如果采用每经过一次处理核间的传递,最大传输步长减1的方式,则在最大传输步长大于0时判断满足转发条件,向远离第二处理核的第三处理核转发第二广播信号;反之,在最大传输步长为0时判断不满足转发条件,删除该第二广播信号。In some embodiments, if the maximum transmission step size is reduced by 1 after each transfer between the processing cores, when the maximum transmission step size is greater than 0, it is judged that the forwarding condition is satisfied, and the transfer to the third processing core far away from the second processing core is adopted. The core forwards the second broadcast signal; otherwise, when the maximum transmission step size is 0, it is determined that the forwarding condition is not satisfied, and the second broadcast signal is deleted.
在一些实施例中,如果采用比较的方式,则可确定第二处理核与第一处理核之间的距离。在最大传输步长大于该距离时判断满足转发条件,向远离第二处理核的第三处理核转发第二广播信号;反之,最大传输步长等于该距离时判断不满足转发条件,删除该第二广播信号。In some embodiments, the distance between the second processing core and the first processing core may be determined if a comparison is used. When the maximum transmission step size is greater than the distance, it is judged that the forwarding condition is satisfied, and the second broadcast signal is forwarded to the third processing core far away from the second processing core; on the contrary, when the maximum transmission step size is equal to the distance, it is judged that the forwarding condition is not satisfied, and the first broadcast signal is deleted. 2. Broadcast signal.
通过这种方式,能够限定广播信号传输的范围,从而提高系统中传输资源的利用率。In this way, the transmission range of the broadcast signal can be limited, thereby improving the utilization rate of transmission resources in the system.
在一些实施例中,第一处理核向众核系统的其它处理核发送广播信号的过程中,第一处理核可以并不是向众核系统的所有其它处理核发送广播信号,而是向众核系统的多个备选处理核发送广播信号。In some embodiments, when the first processing core sends the broadcast signal to other processing cores in the many-core system, the first processing core may not send the broadcast signal to all other processing cores in the many-core system, but to the many-core system Multiple alternative processing cores of the system transmit broadcast signals.
其中,备选处理核是指第一处理核向其发送广播信号时经过的处理核的数量小于预定处理核数的处理核,即与第一处理核的距离在预定范围内的处理核为备选处理核。Wherein, the candidate processing core refers to the processing core whose number of processing cores passed by the first processing core when sending the broadcast signal to it is less than the predetermined number of processing cores, that is, the processing core whose distance from the first processing core is within the predetermined range is reserved for Select the processing core.
如参照图1,处理核N0为第一处理核,若预定处理核数为1,则备选处理核就是指与处理核N0相邻的处理核;若预定处理核数为2,则备选处理核就是指与处理核N0相邻的处理核、以及与处理核N0的相邻处理核相邻的处理核。Referring to FIG. 1 , the processing core N0 is the first processing core, and if the predetermined number of processing cores is 1, the alternative processing core refers to the processing core adjacent to the processing core N0; if the predetermined number of processing cores is 2, the alternative processing core The processing cores refer to the processing cores adjacent to the processing core N0 and the processing cores adjacent to the adjacent processing cores of the processing core N0.
由于广播是尽可能将数据发送至所有可能接收的处理核,其不具有目的地,在第一处理核向片上网络的其它处理核发送广播信号的过程中,若是不加限制,任由信号无休止广播,则只有当广播 信号遍历完片上网络的所有处理核时,广播过程才会停止。Since the broadcast is to send data to all possible receiving processing cores as much as possible, it has no destination. In the process of the first processing core sending the broadcast signal to other processing cores of the on-chip network, if there is no restriction, let the signal have no destination. If the broadcast is stopped, the broadcast process will only stop when the broadcast signal has traversed all the processing cores of the on-chip network.
若第一处理核在预设的第一时间内接收到备选处理核发送的反馈信号,则可结束广播过程,处理反馈信号(如第一处理核根据接收到反馈信号向发送反馈信号的处理核发送连接信号,该连接信号用于表示第一处理核已经接收到发送的反馈信号)。If the first processing core receives the feedback signal sent by the alternative processing core within the preset first time, it can end the broadcasting process and process the feedback signal (for example, the first processing core sends the feedback signal to the processing of the feedback signal according to the received feedback signal) The core sends a connect signal, which is used to indicate that the first processing core has received the sent feedback signal).
若第一处理核在预设的第一时间内未接收到备选处理核发送的反馈信号,则第一处理核再一次向众核系统的备选处理核发送广播信号。If the first processing core does not receive the feedback signal sent by the alternative processing core within the preset first time, the first processing core sends a broadcast signal to the alternative processing core of the many-core system again.
在一些实施例中,第一处理核向众核系统的其它处理核发送广播信号。其中,广播信号具体可以为握手信号。握手信号是不同设备(或者说装置)间联络的信号。In some embodiments, the first processing core sends a broadcast signal to other processing cores of the many-core system. The broadcast signal may specifically be a handshake signal. Handshake signals are signals for communication between different devices (or devices).
举例来说,本公开实施例的握手信号可以是用于任务调度的握手信号,如在第一处理核处于空闲状态的情况下,第一处理核向片上网络的其它处理核发送握手信号以通知其它处理核,该第一处理核处于空闲状态,可以“帮助”处理待处理的信号,当其它处理核有待处理任务时,则该处理核向第一处理核发送反馈信号,以使该处理核和第一处理核握手,使得第一处理核可以“帮助”处理待处理任务。For example, the handshake signal in this embodiment of the present disclosure may be a handshake signal used for task scheduling. For example, when the first processing core is in an idle state, the first processing core sends a handshake signal to other processing cores of the on-chip network to notify Other processing cores, the first processing core is in an idle state and can "help" to process signals to be processed. When other processing cores have tasks to be processed, the processing core sends a feedback signal to the first processing core, so that the processing core Handshake with the first processing core, so that the first processing core can "help" process the pending task.
在一些实施例中,若第一处理核在预设的第一时间内未接收到其它处理核发送的反馈信号,则第一处理核再一次向众核系统的其它处理核发送广播信号。In some embodiments, if the first processing core does not receive feedback signals sent by other processing cores within a preset first time, the first processing core sends a broadcast signal to other processing cores in the many-core system again.
在一些实施例中,若第一处理核在预设的第一时间内接收到其它处理核发送的反馈信号,则第一处理核在接收到第一个反馈信号的时候,就可结束广播过程,将该反馈信号作为目标反馈信号,并处理目标反馈信号。In some embodiments, if the first processing core receives feedback signals sent by other processing cores within a preset first time, the first processing core may end the broadcasting process when receiving the first feedback signal , take the feedback signal as the target feedback signal, and process the target feedback signal.
在一些实施例中,在确定目标反馈信号之后,第一处理核可以向其它处理核再次发送广播信号,与前一次的广播信号不同的是,在确定目标反馈信号之后,第一处理核发送的广播信号中第一处理核的占用状态为“已占用”,通过发送占用状态为“已占用”的广播信号,可以通知其它处理核,第一处理核已经被占用,不用再向第一处理核发送反馈信号了。In some embodiments, after the target feedback signal is determined, the first processing core may send the broadcast signal to other processing cores again. Different from the previous broadcast signal, after the target feedback signal is determined, the first processing core sends the broadcast signal. The occupancy status of the first processing core in the broadcast signal is "occupied". By sending a broadcast signal whose occupancy status is "occupied", other processing cores can be notified that the first processing core has been occupied, and there is no need to report to the first processing core. Send feedback.
在确定目标反馈信号之后,第一处理核也可以向发送目标反馈信号的处理核发送连接信号,该连接信号用于表示第一处理核已经接收到其发送的反馈信号。After determining the target feedback signal, the first processing core may also send a connection signal to the processing core that sent the target feedback signal, where the connection signal is used to indicate that the first processing core has received the feedback signal sent by the first processing core.
在一些实施例中,第一处理核在第一次接收到反馈信号以后,可能还会接收到其它反馈信号,在接收到其它反馈信号的情况下,第一处理核忽略该反馈信号。In some embodiments, after receiving the feedback signal for the first time, the first processing core may also receive other feedback signals, and in the case of receiving other feedback signals, the first processing core ignores the feedback signal.
如参照图1,处理核N0为第一处理核,处理核N1和处理核N3都向处理核N0发送了反馈信号,但是由于处理核N1距离处理核N0更近,因此处理核N1发送的反馈信号优先到达处理核N0,处理核N0在接收到处理核N1的反馈信号的一段时间后,还会接收到处理核N3发送的反馈信号,处理核N0在接收处理核N1的反馈信号之后,自动忽略或删除处理核N3发送的反馈信号。Referring to FIG. 1 , the processing core N0 is the first processing core, and both the processing core N1 and the processing core N3 send feedback signals to the processing core N0, but since the processing core N1 is closer to the processing core N0, the feedback signal sent by the processing core N1 The signal arrives at the processing core N0 preferentially. After receiving the feedback signal from the processing core N1 for a period of time, the processing core N0 will also receive the feedback signal sent by the processing core N3. After receiving the feedback signal from the processing core N1, the processing core N0 automatically The feedback signal sent by the processing core N3 is ignored or deleted.
在一些实施例中,广播信号为握手信号,第一处理核第一次接收到反馈信号后,第一处理核与该处理核(即发送该反馈信号的处理核)对应的处理核握手,第一处理核在握手成功之后再接收其它处理核发送的反馈信号,第一处理核也并不能处理该反馈信号,也就是说,第一处理核在握手成功之后再接收反馈信号是没有意义的,只会造成资源的浪费。In some embodiments, the broadcast signal is a handshake signal. After the first processing core receives the feedback signal for the first time, the first processing core shakes hands with the processing core corresponding to the processing core (ie, the processing core that sends the feedback signal). After a processing core receives a feedback signal sent by other processing cores after the handshake is successful, the first processing core cannot process the feedback signal. That is to say, it is meaningless for the first processing core to receive the feedback signal after the handshake is successful. It will only result in a waste of resources.
在一些实施例中,本公开实施例的广播方法也可以用于第一处理核有新任务或自己无法完成的任务需要其它的处理核处理的情况:第一处理核有新任务或自己无法完成的任务需要其它的处理核处理时,第一处理核广播握手信号至其它处理核,当接收到该握手信号的处理核有处理任务的能力的时候,则该处理核向第一处理核发送反馈信号,该处理核与第一处理核握手,接收并处理第一处理核下发的任务。In some embodiments, the broadcasting method of the embodiments of the present disclosure can also be used in the case where the first processing core has a new task or a task that cannot be completed by itself needs to be processed by other processing cores: the first processing core has a new task or cannot complete it by itself When the task needs to be processed by other processing cores, the first processing core broadcasts the handshake signal to other processing cores, and when the processing core that receives the handshake signal has the ability to process the task, the processing core sends feedback to the first processing core. signal, the processing core shakes hands with the first processing core, receives and processes the task issued by the first processing core.
同样的,若第一处理核在与发送目标反馈信号的处理核握手之后,再接收其它处理核发送的反馈信号,可能会造成任务被重复发放到多个处理核,造成浪费算力和存储资源的浪费。Similarly, if the first processing core handshakes with the processing core that sent the target feedback signal, and then receives feedback signals sent by other processing cores, it may cause tasks to be repeatedly issued to multiple processing cores, resulting in a waste of computing power and storage resources of waste.
在一些实施例中,在第一处理核处于空闲状态的情况下,可主动向其它处理核询问是否有待处 理的新任务。该情况下,第一处理核向众核系统的其它处理核发送广播信号以通知其它处理核第一处理核处于空闲状态,可以“帮助”处理待处理的任务。In some embodiments, while the first processing core is in an idle state, other processing cores may be actively inquired whether there are new tasks to be processed. In this case, the first processing core sends a broadcast signal to other processing cores in the many-core system to notify other processing cores that the first processing core is in an idle state and can "help" to process tasks to be processed.
其中,广播信号可以包括第一处理核的占用状态,即第一处理核是否已经被“占用”,是否处于可以“帮助”处理待处理任务的空闲状态。The broadcast signal may include the occupancy state of the first processing core, that is, whether the first processing core has been "occupied", and whether it is in an idle state that can "help" to process tasks to be processed.
第一处理核发送广播信号是为了通知其它处理核第一处理核处于空闲状态,也就是说,第一处理核广播的广播信号时,其对应的处理核应该处于空闲状态,广播信号的占用状态应该为“未占用”。The first processing core sends a broadcast signal to notify other processing cores that the first processing core is in an idle state, that is, when the first processing core broadcasts a broadcast signal, its corresponding processing core should be in an idle state, and the broadcast signal is occupied. Should be "unoccupied".
第一处理核的状态信息还可以包括第一处理核的算力状态和/或存储状态。其中,第一处理核的算力状态是指第一处理核的算力状态信息,即第一处理核可使用的计算能力。第一处理核的存储状态是指第一处理核的存储状态信息,即第一处理核可使用的存储能力(或者说存储空间)。The state information of the first processing core may further include a computing power state and/or a storage state of the first processing core. The computing power status of the first processing core refers to computing power status information of the first processing core, that is, the computing power available to the first processing core. The storage state of the first processing core refers to storage state information of the first processing core, that is, the storage capacity (or storage space) usable by the first processing core.
在一些实施例中,第一处理核若在预设的第一时间内第一次接收到反馈信号,则从第一处理核第一次接收到反馈信号起的第二时间内,第一处理核没有再接收到其它反馈信号,则第一处理核将该接收到的反馈信号作为目标反馈信号,并对该目标反馈信号进行处理。In some embodiments, if the first processing core receives the feedback signal for the first time within a preset first time, the first processing If no other feedback signal is received by the core, the first processing core takes the received feedback signal as the target feedback signal, and processes the target feedback signal.
其中,第二时间要小于第一时间,即第一处理核第一次接收到反馈信号到第一处理核停止接收反馈信号间隔的时间要小于第一处理核发送广播信号到第一处理核再次发送广播信号间隔的时间。The second time is less than the first time, that is, the time between when the first processing core receives the feedback signal for the first time and when the first processing core stops receiving the feedback signal is less than when the first processing core sends the broadcast signal to the first processing core again. The time between sending broadcast signals.
在一些实施例中,第一处理核若在预设的第一时间内第一次接收到反馈信号,则若从第一处理核第一次接收到反馈信号起的第二时间内,第一处理核接收到其它反馈信号,则第一处理核从所有接收到的反馈信号(包括第一次接收到的反馈信号以及从第一次接收到反馈信号起到第二时间结束时接收到的所有反馈信号)中,确定一个反馈信号为目标反馈信号,并对目标反馈信号进行处理。In some embodiments, if the first processing core receives the feedback signal for the first time within the preset first time, if the first processing core receives the feedback signal for the first time within the second time If the processing core receives other feedback signals, the first processing core starts from all the feedback signals received (including the feedback signal received for the first time and from the feedback signal received for the first time to the end of the second time). feedback signal), determine a feedback signal as the target feedback signal, and process the target feedback signal.
其中,从所有接收到的反馈信号中确定一个反馈信号为目标反馈信号具体可以是:从接收到反馈信号中确定发送该反馈信号的处理核的位置,并计算该处理核与第一处理核之间的距离,从所有接收到反馈信号对应的处理核中选择与第一处理核距离最短的处理核为目标处理核,该处理核发送的反馈信号就是目标反馈信号。Wherein, determining a feedback signal as the target feedback signal from all the received feedback signals may specifically be: determining the position of the processing core that sends the feedback signal from the received feedback signals, and calculating the difference between the processing core and the first processing core The processing core with the shortest distance from the first processing core is selected from all the processing cores corresponding to the received feedback signals as the target processing core, and the feedback signal sent by the processing core is the target feedback signal.
某个处理核与第一处理核的距离具体是指该处理核与第一处理核之间的步长,即信号从该处理核到第一处理核经过的最短路径的长度,确定与第一处理核距离最短的处理核为目标处理核。也就是说,确定所有接收到的反馈信号来自的处理核,确定这些处理核中距离第一处理核最近的处理核(或者说在相同的传输速度下,发送的信号可以最快到达第一处理核的处理核)为目标处理核,该处理核发送的反馈信号就是目标反馈信号。The distance between a certain processing core and the first processing core specifically refers to the step size between the processing core and the first processing core, that is, the length of the shortest path that the signal passes through from the processing core to the first processing core. The processing core with the shortest processing core distance is the target processing core. That is to say, determine the processing core from which all received feedback signals come from, and determine the processing core that is closest to the first processing core among these processing cores (or at the same transmission speed, the sent signal can reach the first processing core the fastest The processing core of the core) is the target processing core, and the feedback signal sent by the processing core is the target feedback signal.
在一些实施例中,在已经确定目标反馈信号之后,可能还会接收到其它反馈信号,若接收到其它反馈信号,则可忽略该反馈信号。In some embodiments, after the target feedback signal has been determined, other feedback signals may be received, and if other feedback signals are received, the feedback signal may be ignored.
在一些实施例中,在预设的第一时间内第一处理核并没有确定目标反馈信号的情况下,第一处理核仍需要发送广播信号(广播信号的占用状态依然为未占用)。In some embodiments, when the first processing core does not determine the target feedback signal within the preset first time, the first processing core still needs to send the broadcast signal (the occupancy state of the broadcast signal is still unoccupied).
第一处理核在预设的第一时间内并没有确定目标反馈信号,可能是第一处理核在预设的第一时间内没有接收到反馈信号;也可能是第一处理核在预设的第一时间内接收到多个反馈信号,但第一处理核第一次接收到反馈信号的时间过于接近预设的第一时间,以至于第一时间位于自第一处理核第一次接收到反馈信号起的第二时间内,第一处理核无法确定在第一时间与自第一处理核第一次接收到反馈信号起的第二时间之间,是否还会接收到其它反馈信号,因此第一处理核无法确定目标反馈信号。The first processing core does not determine the target feedback signal within the preset first time, it may be that the first processing core does not receive the feedback signal within the preset first time; it may also be that the first processing core is within the preset first time. Multiple feedback signals are received within the first time, but the time when the first processing core receives the feedback signal for the first time is too close to the preset first time, so that the first time is located since the first time the first processing core received the feedback signal During the second time since the feedback signal, the first processing core cannot determine whether other feedback signals will be received between the first time and the second time since the first processing core first received the feedback signal, so The first processing core cannot determine the target feedback signal.
第一处理核在第一次接收到反馈信号之后并不立即将该反馈信号作为目标反馈信号,而是继续等待一段时间,并在这段时间内继续接收反馈信号,这样在上一次发送广播信号过程中接收到广播信号时,对应的处理核不满足反馈广播信号的条件,而在该次发送广播信号过程中接收到广播信号时,对应的处理核满足反馈广播信号的条件的处理核,就可以有更多的时间将反馈信号发送至第一处理核。同时,第一处理核在接收到多个反馈信号之后,选择距离第一处理核最近的处理核发送的反馈信号作为目标反馈信号。双管齐下,提高了距离第一处理核更近的处理核作为目标处理核的概 率。After the first processing core receives the feedback signal for the first time, it does not immediately use the feedback signal as the target feedback signal, but continues to wait for a period of time, and continues to receive the feedback signal during this period, so that the broadcast signal is sent last time. When a broadcast signal is received during the process, the corresponding processing core does not meet the conditions for feeding back the broadcast signal, and when a broadcast signal is received during the process of sending the broadcast signal, the corresponding processing core meets the conditions for feeding back the broadcast signal. There may be more time to send the feedback signal to the first processing core. Meanwhile, after receiving multiple feedback signals, the first processing core selects the feedback signal sent by the processing core closest to the first processing core as the target feedback signal. The two-pronged approach improves the probability that a processing core closer to the first processing core will be the target processing core.
如参照图1,处理核N0为第一处理核,处理核N3根据第L次发送的广播信号向处理核N0发送了反馈信号,处理核N1根据第L+1次广播的广播信号向处理核N0发送了反馈信号。Referring to FIG. 1 , the processing core N0 is the first processing core, the processing core N3 sends a feedback signal to the processing core N0 according to the broadcast signal transmitted at the Lth time, and the processing core N1 sends a feedback signal to the processing core according to the broadcast signal broadcast at the L+1th time. N0 sends a feedback signal.
由于处理核N3发送反馈信号早于处理核N1发送反馈信号,尽管处理核N1距离处理核N0更近,处理核N3发送的反馈信号仍可能先于处理核N1发送的反馈信号到达处理核N0。Since the processing core N3 sends the feedback signal earlier than the processing core N1 sends the feedback signal, although the processing core N1 is closer to the processing core N0, the feedback signal sent by the processing core N3 may still arrive at the processing core N0 before the feedback signal sent by the processing core N1.
若处理核N0在接收到处理核N3的反馈信号之后,直接将处理核N3作为目标处理核,则处理核N1发送的反馈信号达到处理核N0之后,也会被处理核N0忽略,这样会造成虽然处理核N1距离处理核N0更近,且满足反馈广播信号的条件,处理核N0却不能选择处理核N1作为目标处理核。If the processing core N0 directly uses the processing core N3 as the target processing core after receiving the feedback signal from the processing core N3, the feedback signal sent by the processing core N1 will also be ignored by the processing core N0 after reaching the processing core N0, which will cause Although the processing core N1 is closer to the processing core N0 and satisfies the conditions for feeding back the broadcast signal, the processing core N0 cannot select the processing core N1 as the target processing core.
若处理核N0在接收到处理核N3的反馈信号之后,等待一段时间,在等待的时间内,处理核N0可能会收到处理核N1发送的反馈信号,处理核N1与处理核N0的距离显然比处理核N3与处理核N0的距离更近,处理核N0选择处理核N1为目标处理核。If the processing core N0 waits for a period of time after receiving the feedback signal from the processing core N3, within the waiting time, the processing core N0 may receive the feedback signal sent by the processing core N1, and the distance between the processing core N1 and the processing core N0 is obviously The distance between the processing core N3 and the processing core N0 is closer, and the processing core N0 selects the processing core N1 as the target processing core.
由于处理核N1和处理核N0的距离显然要比处理核N3和处理核N1的距离要近,处理核N1对应的处理核与处理核N0对应的处理核通信的速度显然要高于处理核N3对应的处理核与处理核N0对应的处理核通信的速度,选择处理核N1作为目标处理核显然是比选择处理核N3作为目标处理核更优的选择。Since the distance between the processing core N1 and the processing core N0 is obviously closer than the distance between the processing core N3 and the processing core N1, the communication speed between the processing core corresponding to the processing core N1 and the processing core N0 is obviously higher than that of the processing core N3 Regarding the communication speed between the corresponding processing core and the processing core corresponding to the processing core N0, selecting the processing core N1 as the target processing core is obviously a better choice than selecting the processing core N3 as the target processing core.
根据本公开的实施例,还提供了一种基于众核系统的广播装置,所述众核系统包括多个处理核,多个所述处理核之间通过片上网络通信连接。According to an embodiment of the present disclosure, there is also provided a broadcasting apparatus based on a many-core system, wherein the many-core system includes a plurality of processing cores, and the plurality of processing cores are connected through an on-chip network communication.
图3为本公开实施例提供的一种基于众核系统的广播装置的组成框图。如图3所示,所述装置包括:FIG. 3 is a block diagram of a broadcast apparatus based on a many-core system according to an embodiment of the present disclosure. As shown in Figure 3, the device includes:
广播模块31,用于在满足预设的广播条件的情况下,向所述众核系统的处理核第1次发送第一广播信号,其中,所述第一广播信号中包括最大传输步长;A broadcast module 31, configured to send a first broadcast signal to the processing core of the many-core system for the first time when a preset broadcast condition is met, wherein the first broadcast signal includes a maximum transmission step size;
重播模块32,用于在第i次发送所述第一广播信号之后的第一时间内,未接收到针对所述第一广播信号的第一反馈信号的情况下,向所述众核系统的处理核第i+1次发送所述第一广播信号,i为大于或等于1的整数。The replay module 32 is configured to, within the first time after the i-th transmission of the first broadcast signal, in the case of not receiving the first feedback signal for the first broadcast signal, to the The processing core sends the first broadcast signal for the i+1th time, where i is an integer greater than or equal to 1.
其中,该广播装置应用于众核系统的处理核或众核系统的外部电子设备。Wherein, the broadcasting apparatus is applied to the processing core of the many-core system or the external electronic equipment of the many-core system.
根据本公开的实施例,还提供一种众核系统信号传输方法,该方法用于本公开实施例提供的众核系统,即众核系统的处理核中有一个或多个处理核为第一处理核,这些处理核使用本公开实施例提供的广播方法广播信号。According to an embodiment of the present disclosure, a signal transmission method for a many-core system is also provided. The method is used in the many-core system provided by the embodiment of the present disclosure, that is, one or more processing cores in the processing core of the many-core system are the first one. Processing cores that broadcast signals using the broadcast method provided by the embodiments of the present disclosure.
本公开实施例的众核系统信号传输方法包括:The many-core system signal transmission method according to the embodiment of the present disclosure includes:
S801、第一处理核向其它处理核发送广播信号。S801. The first processing core sends a broadcast signal to other processing cores.
众核系统的某个第一处理核向众核系统其它处理核发送广播信号。其中,第一处理核向其它处理核发送广播信号可以使用本公开实施例的广播方法,即第一处理核在预设的第一时间内未接收反馈信号,则再次发送广播信号。A certain first processing core of the many-core system sends a broadcast signal to other processing cores of the many-core system. The broadcasting method of the embodiment of the present disclosure may be used for the first processing core to send the broadcast signal to other processing cores, that is, the first processing core sends the broadcast signal again if it does not receive the feedback signal within the preset first time.
众核系统的其它处理核是指出发送广播信号的第一处理核外的其它处理核,即在本公开实施例的众核系统信号传输方法的执行过程中,只有一个处理核为第一处理核,众核系统的其它处理核即使其具有执行本公开实施例的广播方法的能力,其在该众核系统信号传输方法的执行过程中依然为其它处理核。The other processing cores of the many-core system refer to other processing cores other than the first processing core that sends the broadcast signal, that is, during the execution of the signal transmission method of the many-core system according to the embodiment of the present disclosure, only one processing core is the first processing core. , even if other processing cores of the many-core system have the capability of executing the broadcasting method of the embodiment of the present disclosure, they are still other processing cores during the execution of the signal transmission method of the many-core system.
S802、至少一个第二处理核接收广播信号,满足反馈广播信号条件的第二处理核向第一处理核发送反馈信号。S802. At least one second processing core receives a broadcast signal, and the second processing core that satisfies the condition for feeding back the broadcast signal sends a feedback signal to the first processing core.
众核系统的其它处理核(即第二处理核)在接收到广播信号后,根据本处理核或者说本处理核的实际状态以及广播信号判断本处理核或者说本处理核是否满足反馈广播信号的条件,并在本处理核或者说本处理核的实际状态满足反馈广播信号条件的情况下,向第一处理核发送反馈信号。After receiving the broadcast signal, the other processing cores (ie the second processing core) of the many-core system judge whether the processing core or the processing core satisfies the feedback broadcast signal according to the actual state of the processing core or the processing core and the broadcast signal. condition, and send a feedback signal to the first processing core when the processing core or the actual state of the processing core satisfies the feedback broadcast signal condition.
其中,第二处理核是指接收到广播信号的处理核,也就是说,第二处理核并不是特指某一个处 理核,所有接收到广播信号的处理核都可以称为第二处理核。也并不是所有第二处理核在接收到广播信号之后都向第一处理核发送反馈信号,只有满足反馈广播信号条件的第二处理核才向第一处理核发送反馈信号。The second processing core refers to the processing core that receives the broadcast signal, that is, the second processing core does not specifically refer to a certain processing core, and all the processing cores that receive the broadcast signal can be called the second processing core. Also, not all the second processing cores send feedback signals to the first processing cores after receiving the broadcast signals, and only the second processing cores that satisfy the conditions for feeding back the broadcast signals send the feedback signals to the first processing cores.
本公开实施例的众核系统信号传输方法可以用于资源调度。The many-core system signal transmission method according to the embodiment of the present disclosure can be used for resource scheduling.
举例来说,当第一处理核具有空闲资源(如计算资源、存储资源等)可以“帮助”其它处理核处理待处理任务时,第一处理核向众核系统的其它处理核(即第二处理核)发送广播信号,广播信号用于通知众核系统其它处理核第一处理核具有空闲的资源,可以“帮助”处理待处理任务。For example, when the first processing core has free resources (such as computing resources, storage resources, etc.) that can "help" other processing cores to process tasks to be processed, the first processing core provides other processing cores (ie, the second processing core) to the many-core system. The processing core) sends a broadcast signal, and the broadcast signal is used to notify other processing cores in the many-core system that the first processing core has idle resources and can "help" to process tasks to be processed.
其中,第一处理核发送的广播信号可以包括第一处理核的状态信息。第一处理核的状态信息本质为第一处理核的状态信息。The broadcast signal sent by the first processing core may include state information of the first processing core. The state information of the first processing core is essentially the state information of the first processing core.
其中,第一处理核的状态信息包括第一处理核的占用状态,即第一处理核是否已经被“占用”,是否处于可以“帮助”处理待处理任务的空闲状态。当第一处理核没有被任务“占用”,处于空闲状态,可以帮助第二处理核处理待处理任务时,第一处理核的占用状态为未占用。当第一处理核处于工作状态,正在处理任务,没有多余的算力以及存储空间帮助第二处理核处理待处理任务,第一处理核的占用状态为已占用。The state information of the first processing core includes the occupancy state of the first processing core, that is, whether the first processing core has been "occupied" and whether it is in an idle state that can "help" to process tasks to be processed. When the first processing core is not "occupied" by a task and is in an idle state, and can help the second processing core to process tasks to be processed, the occupied state of the first processing core is unoccupied. When the first processing core is in a working state and is processing tasks, and there is no extra computing power and storage space to help the second processing core process tasks to be processed, the occupied state of the first processing core is occupied.
需要说明的是,当第一处理核决定“帮助”处理某个第二处理核的待处理任务时,尽管第一处理核还没有开始处理该处理核的待处理任务,第一处理核的占用状态依然为已占用。It should be noted that, when the first processing core decides to "help" process the pending tasks of a certain second processing core, although the first processing core has not yet started to process the pending tasks of the processing core, the occupation of the first processing core The status is still occupied.
本公开实施例的众核系统信号传输方法用于任务调度时,第一处理核发送广播信号是为了通知其它处理核第一处理核处于空闲状态,也就是说,此时第一处理核广播的广播信号的占用状态应该为“未占用”。When the signal transmission method of the many-core system according to the embodiment of the present disclosure is used for task scheduling, the first processing core sends a broadcast signal to notify other processing cores that the first processing core is in an idle state, that is, at this time, the broadcast signal of the first processing core is in an idle state. The occupancy status of the broadcast signal shall be "unoccupied".
第一处理核的状态信息还可以包括第一处理核的算力状态和/或存储状态。其中,第一处理核的算力状态是指第一处理核的算力状态信息,即第一处理核可使用的计算能力。第一处理核的存储状态是指第一处理核的存储状态信息,即第一处理核可使用的存储能力(或者说存储空间)。The state information of the first processing core may further include a computing power state and/or a storage state of the first processing core. The computing power status of the first processing core refers to computing power status information of the first processing core, that is, the computing power available to the first processing core. The storage state of the first processing core refers to storage state information of the first processing core, that is, the storage capacity (or storage space) usable by the first processing core.
众核系统的一个或多个第二处理核接收第一处理核发送的广播信号,满足反馈广播信号条件的第二处理核向第一处理核发送反馈信号。One or more second processing cores of the many-core system receive the broadcast signal sent by the first processing core, and the second processing cores satisfying the condition for feeding back the broadcast signal send the feedback signal to the first processing core.
第一处理核广播的广播信号中包括第一处理核的状态信息,第二处理核在接收到第一处理核广播的广播信号之后,可以根据第一处理核的状态信息判断其是否满足反馈条件。The broadcast signal broadcast by the first processing core includes state information of the first processing core, and after receiving the broadcast signal broadcast by the first processing core, the second processing core can judge whether it satisfies the feedback condition according to the state information of the first processing core .
其中,第二处理核在接收到第一处理核发送的广播信号后,第二处理核首先判断自己是否有待处理任务需要第一处理核帮忙处理,若其该第二处理核应的处理核没有待处理任务,则该第二处理核可以直接将广播信号进行转发,转发至与其相邻的第二处理核,使得广播信号可以继续“广播”下去。Wherein, after the second processing core receives the broadcast signal sent by the first processing core, the second processing core first determines whether it has tasks to be processed that need the assistance of the first processing core. If a task is to be processed, the second processing core can directly forward the broadcast signal to the adjacent second processing core, so that the broadcast signal can continue to be "broadcast".
若该第二处理核有待处理任务需要分配给其它处理核“帮忙”处理的情况下,该第二处理核根据第一处理核的状态信息判断第一处理核是否能够处理该待处理任务。If the second processing core has a pending task that needs to be assigned to other processing cores for "help" processing, the second processing core determines whether the first processing core can process the pending task according to the state information of the first processing core.
其中,在第一处理核的状态信息包括第一处理核的算力状态和/或存储状态的情况下,该第二处理核根据第一处理核的状态信息判断第一处理核是否能够处理该待处理任务可以包括:该第二处理核判断第一处理核的算力状态是否满足处理该待处理任务条件。和/或,该第二处理核判断第一处理核的存储状态是否满足处理该待处理任务条件。Wherein, when the status information of the first processing core includes the computing power status and/or storage status of the first processing core, the second processing core determines whether the first processing core can process the first processing core according to the status information of the first processing core The to-be-processed task may include: the second processing core judging whether the computing power state of the first processing core satisfies the condition for processing the to-be-processed task. And/or, the second processing core determines whether the storage state of the first processing core satisfies the condition for processing the to-be-processed task.
即该第二处理核根据第一处理核的状态信息中第一处理核的算力状态和存储状态判断第一处理核是否满足处理待处理任务的要求,具体可以是该第二处理核将处理待处理任务所需要的算力和存储空间与第一处理核可使用的计算能力和存储空间进行对比。That is, the second processing core judges whether the first processing core meets the requirements for processing tasks to be processed according to the computing power status and storage status of the first processing core in the state information of the first processing core. Specifically, the second processing core can process The computing power and storage space required by the task to be processed are compared with the computing power and storage space that can be used by the first processing core.
若第一处理核可使用的计算能力小于处理待处理任务所需要的算力,或第一处理核可使用的存储空间小于处理待处理任务所需要的存储空间,则说明第一处理核不满足处理待处理任务的要求,不能处理该待处理任务,也就说明该第二处理核不满足反馈广播信号条件。则该第二处理核可以继续将广播信号进行转发,转发至与其相邻的第二处理核,使得广播信号可以继续“广播”下去。If the computing power available to the first processing core is less than the computing power required to process the tasks to be processed, or the storage space available to the first processing core is less than the storage space required to process the tasks to be processed, it means that the first processing core does not satisfy the If the request for processing the pending task cannot be processed, it means that the second processing core does not meet the condition for feeding back the broadcast signal. Then, the second processing core can continue to forward the broadcast signal to the adjacent second processing core, so that the broadcast signal can continue to be "broadcast".
若第一处理核可使用的计算能力大于处理待处理任务所需要的算力,且第一处理核可使用的存储空间大于处理待处理任务所需要的存储空间,则说明第一处理核满足处理待处理任务的要求,能够处理该待处理任务,也就说明该第二处理核满足反馈广播信号条件,则该满足反馈广播信号条件的第二处理核向第一处理核发送反馈信号。If the computing power available to the first processing core is greater than the computing power required to process the tasks to be processed, and the storage space available to the first processing core is greater than the storage space required to process the tasks to be processed, it means that the first processing core satisfies the processing requirements. The requirement of the to-be-processed task and the ability to process the to-be-processed task means that the second processing core satisfies the feedback broadcast signal condition, and the second processing core that satisfies the feedback broadcast signal condition sends a feedback signal to the first processing core.
由于反馈信号是发送向第一处理核的,因此反馈信号是有目的地的,因此可以使用单播的方式将反馈信号从满足反馈广播信号条件的第二处理核发送至第一处理核。Since the feedback signal is sent to the first processing core, the feedback signal is purposeful, so the feedback signal can be sent from the second processing core that satisfies the feedback broadcast signal condition to the first processing core in a unicast manner.
在使用单播方式将反馈信号从满足反馈广播信号条件的第二处理核发送至第一处理核之前,需要对反馈信号进行处理,处理过程具体包括:满足反馈广播信号条件的第二处理核将第一处理核的地址作为目的地址写入反馈信号。满足反馈广播信号条件的第二处理核将该第二处理核的地址作为源地址写入所述反馈信号。Before the feedback signal is sent from the second processing core satisfying the feedback broadcast signal condition to the first processing core in a unicast manner, the feedback signal needs to be processed. The processing process specifically includes: the second processing core satisfying the feedback broadcast signal condition sends the The address of the first processing core is used as the destination address to write the feedback signal. The second processing core that satisfies the condition for feeding back the broadcast signal writes the address of the second processing core into the feedback signal as a source address.
在一些实施例中,将第一处理核的地址作为反馈信号的目的地址写入反馈信号,在反馈信号从第二处理核发送至第一处理核的过程中,接收到反馈信号的处理核可以根据反馈信号中的目的地址将反馈信号转发至距离第一处理核更近的处理核,相比于无目的地址的广播,这样的转发方式,不仅节省传输资源,反馈信号还可以通过最短路径快速到达第一处理核。In some embodiments, the address of the first processing core is written into the feedback signal as the destination address of the feedback signal. During the process of sending the feedback signal from the second processing core to the first processing core, the processing core that receives the feedback signal may The feedback signal is forwarded to the processing core closer to the first processing core according to the destination address in the feedback signal. Compared with broadcasting without a destination address, this forwarding method not only saves transmission resources, but also allows the feedback signal to pass through the shortest path quickly. to the first processing core.
将发送反馈信号的第二处理核的地址作为反馈信号的源地址写入反馈信号,反馈信号在达到第一处理核之后,第一处理核可以通过反馈信号的源地址获取发送给反馈信号的第二处理核的地址。The address of the second processing core that sends the feedback signal is written into the feedback signal as the source address of the feedback signal. After the feedback signal reaches the first processing core, the first processing core can obtain the first processing core sent to the feedback signal through the source address of the feedback signal. The address of the second processing core.
众核系统中可能存在满足反馈条件的多个第二处理核,这满足反馈条件的多个第二处理核都向第一处理核发送反馈信号。In the many-core system, there may be multiple second processing cores that satisfy the feedback condition, and the multiple second processing cores that satisfy the feedback condition all send feedback signals to the first processing core.
这满足反馈条件的多个第二处理核和第一处理核的距离可能是不同的,这就造成这满足反馈条件的多个第二处理核发送的反馈信号并不是同时达到第一处理核。The distances between the multiple second processing cores that satisfy the feedback condition and the first processing core may be different, which results in that the feedback signals sent by the multiple second processing cores that satisfy the feedback condition do not reach the first processing core at the same time.
在特殊情况下,即预设的第一时间内第一处理核并没有接收到反馈信号,第一处理核再次发送广播信号,在上一次广播中不满足反馈广播信号,但该次广播中满足反馈广播信号的处理核也会向第一处理核发送反馈信号,这样第一处理核可能会接收到更多的反馈信号。In a special case, that is, the first processing core does not receive the feedback signal within the preset first time, and the first processing core sends the broadcast signal again. The processing core that feeds back the broadcast signal also sends feedback signals to the first processing core, so that the first processing core may receive more feedback signals.
第一处理核可以基于优先原则,只接收第一个到达第一处理核的反馈信号,将第一个达到第一处理核的反馈信号作为目标反馈信号,将发送该反馈信号的第二处理核作为目标第二处理核。The first processing core may, based on the priority principle, only receive the first feedback signal that reaches the first processing core, take the first feedback signal that reaches the first processing core as the target feedback signal, and will send the second processing core of the feedback signal. as the target second processing core.
第一处理核也可以在接收到第一个达到的反馈信号之后,等待一段时间,即从第一处理核第一次接收到反馈信号起的第二时间内,第一处理核继续接收发送至第一处理核的反馈信号,并从这段时间内所有接收到的反馈信号(包括第一次接收到的反馈信号以及从第一次接收到反馈信号起的第二时间内接收到的反馈信号)中,确定一个反馈信号为目标反馈信号。The first processing core may also wait for a period of time after receiving the first feedback signal that arrives, that is, within the second time since the first processing core receives the feedback signal for the first time, the first processing core continues to receive and send the The feedback signal of the first processing core, and all the feedback signals received during this period (including the feedback signal received for the first time and the feedback signal received within the second time since the feedback signal was first received ), determine a feedback signal as the target feedback signal.
其中,从所有接收到的反馈信号中确定一个反馈信号为目标反馈信号具体可以是:从接收到反馈信号中根据反馈信号的源地址确定发送该反馈信号的第二处理核的位置,并计算该第二处理核与第一处理核之间的距离,从所有接收到反馈信号对应的第二处理核中选择与第一处理核距离最短的处理核为目标处理核,该处理核发送的反馈信号就是目标反馈信号。Wherein, determining one feedback signal as the target feedback signal from all the received feedback signals may specifically be: determining the position of the second processing core that sends the feedback signal according to the source address of the feedback signal from the received feedback signals, and calculating the The distance between the second processing core and the first processing core, select the processing core with the shortest distance from the first processing core from all the second processing cores corresponding to the received feedback signals as the target processing core, and the feedback signal sent by the processing core It is the target feedback signal.
第二处理核与第一处理核的距离具体是指该第二处理核与第一处理核之间的步长,即信号从该第二处理核到第一处理核经过的最短路径的长度,确定与第一处理核距离最短的第二处理核为目标处理核也就是说,确定所有接收到的反馈信号来自的第二处理核,确定这些第二处理核中距离第一处理核最近的处理核(或者说在相同的传输速度下,发送的信号可以最快到达第一处理核的处理核)为目标第二处理核,该第二处理核发送的反馈信号就是目标反馈信号。The distance between the second processing core and the first processing core specifically refers to the step size between the second processing core and the first processing core, that is, the length of the shortest path that the signal travels from the second processing core to the first processing core, Determine the second processing core with the shortest distance from the first processing core as the target processing core. That is, determine the second processing core from which all received feedback signals come, and determine the processing core that is closest to the first processing core among these second processing cores. The core (or in other words, at the same transmission speed, the processing core of which the transmitted signal can reach the first processing core the fastest) is the target second processing core, and the feedback signal sent by the second processing core is the target feedback signal.
需要强调的是,第二时间要小于第一时间,即第一处理核第一次接收到反馈信号到第一处理核停止接收反馈信号间隔的时间要小于第一处理核发送广播信号到第一处理核再次发送广播信号间隔的时间。It should be emphasized that the second time is shorter than the first time, that is, the time between when the first processing core receives the feedback signal for the first time and when the first processing core stops receiving the feedback signal is shorter than the time between when the first processing core sends the broadcast signal to the first processing core. The time at which the processing core retransmits the broadcast signal interval.
在第一处理核确定目标反馈信号之后,第一处理核可以再一次发送广播信号,该广播信号的占用状态为已占用。After the first processing core determines the target feedback signal, the first processing core may send the broadcast signal again, and the occupied state of the broadcast signal is occupied.
第一处理核确定目标反馈信号,相当于第一处理核决定“帮助”发送目标反馈信号的第二处理核处理待处理任务,第一处理核已经没有多余的资源“帮助”其它处理核,因此在第一处理核确定目标反馈信号之后第一处理核广播的广播信号的占用状态应该为已占用。The first processing core determines the target feedback signal, which is equivalent to the first processing core deciding to “help” the second processing core sending the target feedback signal to process the pending task. The first processing core has no extra resources to “help” other processing cores, so After the first processing core determines the target feedback signal, the occupied state of the broadcast signal broadcast by the first processing core should be occupied.
该广播信号用于通知片上网络的其它处理核,第一处理核已经被占用,不用再向第一处理核发送反馈信号,以免造成传输资源的浪费,其它处理核接收到该广播信号之后可以知道第一处理核已经被占用,也不会再向第一处理核发送反馈信号。The broadcast signal is used to notify other processing cores of the network-on-chip that the first processing core is already occupied, so there is no need to send a feedback signal to the first processing core to avoid waste of transmission resources. After receiving the broadcast signal, other processing cores can know that The first processing core is already occupied, and no feedback signal will be sent to the first processing core.
在第一处理核确定目标反馈信号之后,第一处理核也可以向目标第二处理核发送连接信号,该连接信号用于表示第一处理核已经接收到目标第二处理核发送的反馈信号。After the first processing core determines the target feedback signal, the first processing core may also send a connection signal to the target second processing core, where the connection signal is used to indicate that the first processing core has received the feedback signal sent by the target second processing core.
目标第二处理核在接收到连接信号之后,可以将待处理任务发送至第一处理核,第一处理核接收待处理任务,并进行处理。After receiving the connection signal, the target second processing core can send the task to be processed to the first processing core, and the first processing core receives the task to be processed and processes it.
在第一处理核确定目标反馈信号之后,可能还会接收到其它反馈信号,若在确定目标反馈信号之后,再接收到其它反馈信号,则可忽略接收的反馈信号。After the first processing core determines the target feedback signal, other feedback signals may also be received. If other feedback signals are received after the target feedback signal is determined, the received feedback signal may be ignored.
本公开实施例的众核系统信号传输方法中,第一处理核在预设的第一时间内未接收到反馈信号的情况下,重新发送广播信号,同时,第一处理核在第一次接收到反馈信号之后并不立即将该反馈信号作为目标反馈信号,而是继续等待一段时间,并在这段时间内继续接收反馈信号,若接收到多个反馈信号之后,选择距离第一处理核最近的第二处理核发送的反馈信号作为目标反馈信号,都提高了距离第一处理核更近的第二处理核作为目标第二处理核的概率,这样第一处理核在处理目标第二处理核的待处理任务的过程中,需要与目标第二处理核通信时,通信的数据可以更快的到达目标第二处理核,提升了第一处理核的效率,同时,也减少了通信过程中占用的传输资源。In the signal transmission method for a many-core system according to the embodiment of the present disclosure, the first processing core resends the broadcast signal if the feedback signal is not received within the preset first time, and at the same time, the first processing core receives the feedback signal for the first time. After the feedback signal is received, the feedback signal is not used as the target feedback signal immediately, but it continues to wait for a period of time, and continues to receive feedback signals during this period. If multiple feedback signals are received, select the one closest to the first processing core. The feedback signal sent by the second processing core is used as the target feedback signal, which increases the probability of the second processing core closer to the first processing core as the target second processing core, so that the first processing core is processing the target second processing core. During the task to be processed, when it is necessary to communicate with the target second processing core, the communicated data can reach the target second processing core faster, which improves the efficiency of the first processing core and reduces the occupation of the communication process. transmission resources.
图4为本公开实施例提供的一种电子设备的组成框图。FIG. 4 is a block diagram of an electronic device according to an embodiment of the present disclosure.
参照图4,本公开实施例提供了一种电子设备,该电子设备包括多个处理核901以及片上网络902,其中,多个处理核901均与片上网络902连接,片上网络902用于交互多个处理核间的数据和外部数据。4, an embodiment of the present disclosure provides an electronic device, the electronic device includes multiple processing cores 901 and an on-chip network 902, wherein the multiple processing cores 901 are all connected to the on-chip network 902, and the on-chip network 902 is used for interacting multiple data between cores and external data.
其中,片上网络902为上述众核系统中的片上网络,每个处理核901对应众核系统的一个处理核。The on-chip network 902 is an on-chip network in the above-mentioned many-core system, and each processing core 901 corresponds to one processing core of the many-core system.
在一些实施例中,众核系统的至少部分第一处理核对应处理核901。In some embodiments, at least a portion of the first processing core of the many-core system corresponds to processing core 901 .
此外,本公开实施例还提供了一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序在被众核系统的处理核执行时实现上述的广播方法。In addition, an embodiment of the present disclosure also provides a computer-readable medium on which a computer program is stored, wherein the computer program implements the above-mentioned broadcasting method when executed by a processing core of a many-core system.
此外,本公开实施例还提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,其中,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行用于实现上述的广播方法。In addition, embodiments of the present disclosure also provide a computer program product, comprising computer-readable codes, or a non-volatile computer-readable storage medium carrying computer-readable codes, wherein, when the computer-readable codes are stored in an electronic When running in the processor of the device, the processor in the electronic device executes the above-mentioned broadcasting method.
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其它数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其它的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算 机可读指令、数据结构、程序模块或者诸如载波或其它传输机制之类的调制数据信号中的其它数据,并且可包括任何信息递送介质。Those of ordinary skill in the art can understand that all or some of the steps in the methods disclosed above, functional modules/units in the systems, and devices can be implemented as software, firmware, hardware, and appropriate combinations thereof. In a hardware implementation, the division between functional modules/units mentioned in the above description does not necessarily correspond to the division of physical components; for example, one physical component may have multiple functions, or one function or step may be composed of several physical components Components execute cooperatively. Some or all physical components may be implemented as software executed by a processor, such as a central processing unit, digital signal processor or microprocessor, or as hardware, or as an integrated circuit, such as an application specific integrated circuit . Such software may be distributed on computer-readable media, which may include computer storage media (or non-transitory media) and communication media (or transitory media). As is known to those of ordinary skill in the art, the term computer storage media includes both volatile and nonvolatile implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data flexible, removable and non-removable media. Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical disk storage, magnetic cartridges, magnetic tape, magnetic disk storage or other magnetic storage devices, or may Any other medium used to store desired information and which can be accessed by a computer. In addition, communication media typically embodies computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism, and can include any information delivery media, as is well known to those of ordinary skill in the art .
本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其它实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。Example embodiments have been disclosed herein, and although specific terms are employed, they are used and should only be construed in a general descriptive sense and not for purposes of limitation. In some instances, it will be apparent to those skilled in the art that features, characteristics and/or elements described in connection with a particular embodiment may be used alone or in combination with other embodiments, unless expressly stated otherwise. Features and/or elements are used in combination. Accordingly, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the scope of the present disclosure as set forth in the appended claims.

Claims (12)

  1. 一种基于众核系统的广播方法,所述众核系统包括多个处理核,多个所述处理核之间通过片上网络通信连接,所述方法包括:A broadcasting method based on a many-core system, the many-core system includes a plurality of processing cores, and the plurality of the processing cores are communicated and connected through an on-chip network, the method comprising:
    在满足预设的广播条件的情况下,向所述众核系统的处理核第1次发送第一广播信号,其中,所述第一广播信号中包括最大传输步长;In the case that the preset broadcast condition is satisfied, send a first broadcast signal to the processing core of the many-core system for the first time, wherein the first broadcast signal includes a maximum transmission step size;
    在第i次发送所述第一广播信号之后的第一时间内,未接收到针对所述第一广播信号的第一反馈信号的情况下,向所述众核系统的处理核第i+1次发送所述第一广播信号,i为大于或等于1的整数。If the first feedback signal for the first broadcast signal is not received within the first time after the i-th transmission of the first broadcast signal, send the message to the processing core of the many-core system for the i+1th The first broadcast signal is sent for times, and i is an integer greater than or equal to 1.
  2. 根据权利要求1所述的方法,其中,所述方法还包括:The method of claim 1, wherein the method further comprises:
    在第i次发送所述第一广播信号之后的第一时间内,接收到针对所述第一广播信号的第一反馈信号的情况下,将所述第一反馈信号作为目标反馈信号;If a first feedback signal for the first broadcast signal is received within a first time after the i-th transmission of the first broadcast signal, use the first feedback signal as a target feedback signal;
    根据所述目标反馈信号执行相应的处理。Corresponding processing is performed according to the target feedback signal.
  3. 根据权利要求1所述的方法,其中,所述方法还包括:The method of claim 1, wherein the method further comprises:
    在第i次发送所述第一广播信号之后的第一时间内,接收到针对所述第一广播信号的第一反馈信号的情况下,缓存所述第一反馈信号;In the case of receiving a first feedback signal for the first broadcast signal within a first time after sending the first broadcast signal for the i-th time, buffering the first feedback signal;
    在接收到所述第一反馈信号之后的第二时间内,未接收到针对第一广播信号的第二反馈信号的情况下,将所述第一反馈信号作为目标反馈信号;If the second feedback signal for the first broadcast signal is not received within a second time after the first feedback signal is received, the first feedback signal is used as the target feedback signal;
    根据所述目标反馈信号执行相应的处理。Corresponding processing is performed according to the target feedback signal.
  4. 根据权利要求3所述的方法,其中,所述方法还包括:The method of claim 3, wherein the method further comprises:
    在接收到所述第一反馈信号之后的第二时间内,接收到针对所述第一广播信号的第二反馈信号的情况下,从至所述第二时间结束时接收到的所有反馈信号中确定出目标反馈信号;其中,发送所述目标反馈信号的目标处理核为信号传输步长最小的处理核;In the case where a second feedback signal for the first broadcast signal is received within a second time after the first feedback signal is received, from all feedback signals received up to the end of the second time Determine the target feedback signal; wherein, the target processing core that sends the target feedback signal is the processing core with the smallest signal transmission step;
    根据所述目标反馈信号执行相应的处理。Corresponding processing is performed according to the target feedback signal.
  5. 根据权利要求2-4中任一项所述的方法,其中,所述方法应用于所述众核系统的第一处理核,或者所述众核系统外部的电子设备,所述第一处理核为多个所述处理核中的一个,The method according to any one of claims 2-4, wherein the method is applied to a first processing core of the many-core system, or an electronic device external to the many-core system, the first processing core is one of the plurality of processing cores,
    其中,所述广播条件包括:存在待分配的第一目标任务;所述第一广播信号包括用于分配任务的握手信号;Wherein, the broadcast condition includes: there is a first target task to be assigned; the first broadcast signal includes a handshake signal for assigning a task;
    所述根据所述目标反馈信号执行相应的处理,包括:The performing corresponding processing according to the target feedback signal includes:
    向与所述目标反馈信号对应的目标处理核,发送与所述第一目标任务对应的任务数据,以使所述目标处理核执行所述第一目标任务。Sending task data corresponding to the first target task to the target processing core corresponding to the target feedback signal, so that the target processing core executes the first target task.
  6. 根据权利要求2-4中任一项所述的方法,其中,所述方法应用于所述众核系统的第一处理核,所述第一处理核为多个所述处理核中的一个,The method according to any one of claims 2-4, wherein the method is applied to a first processing core of the many-core system, and the first processing core is one of a plurality of the processing cores,
    其中,所述广播条件包括以下任一种:所述第一处理核中存在待分配的第二目标任务、所述第一处理核在处理第二目标任务期间发生运算错误、所述第一处理核在处理第二目标任务期间的温度超出温度阈值;所述第一广播信号包括用于分配任务的握手信号;The broadcast condition includes any one of the following: a second target task to be allocated exists in the first processing core, an operation error occurs during the processing of the second target task by the first processing core, the first processing the temperature of the core during processing of the second target task exceeds a temperature threshold; the first broadcast signal includes a handshake signal for assigning tasks;
    所述根据所述目标反馈信号执行相应的处理,包括:The performing corresponding processing according to the target feedback signal includes:
    向与所述目标反馈信号对应的目标处理核,发送与所述第二目标任务对应的任务数据,以使所 述目标处理核执行所述第二目标任务。Sending task data corresponding to the second target task to the target processing core corresponding to the target feedback signal, so that the target processing core executes the second target task.
  7. 根据权利要求2-4中任一项所述的方法,其中,所述方法应用于所述众核系统的第一处理核,所述第一处理核为多个所述处理核中的一个,The method according to any one of claims 2-4, wherein the method is applied to a first processing core of the many-core system, and the first processing core is one of a plurality of the processing cores,
    其中,所述广播条件包括:所述第一处理核处于空闲状态;所述第一广播信号包括用于请求任务的握手信号;Wherein, the broadcast condition includes: the first processing core is in an idle state; the first broadcast signal includes a handshake signal for requesting a task;
    所述根据所述目标反馈信号执行相应的处理,包括:The performing corresponding processing according to the target feedback signal includes:
    与所述目标反馈信号对应的目标处理核进行配对,以认领所述目标处理核中待分配的第三目标任务,pairing with the target processing core corresponding to the target feedback signal to claim the third target task to be allocated in the target processing core,
    在接收到与所述第三目标任务对应的任务数据的情况下,执行所述第三目标任务。The third target task is executed when task data corresponding to the third target task is received.
  8. 根据权利要求1所述的方法,其中,所述方法应用于所述众核系统的第一处理核,所述第一处理核为多个所述处理核中的一个,所述方法还包括:The method of claim 1, wherein the method is applied to a first processing core of the many-core system, the first processing core being one of a plurality of the processing cores, the method further comprising:
    在接收到所述众核系统的第二处理核第k次发送的第二广播信号的情况下,根据所述第二广播信号,以及所述第一处理核的处理状态,判断所述第一处理核是否满足握手条件,k为大于或等于1的整数;In the case of receiving the second broadcast signal sent by the second processing core of the many-core system for the kth time, determine the first broadcast signal according to the second broadcast signal and the processing state of the first processing core Whether the processing core satisfies the handshake condition, k is an integer greater than or equal to 1;
    在所述第一处理核满足握手条件的情况下,向所述第二处理核发送第三反馈信号,以使所述第一处理核与所述第二处理核配对并执行相应的处理,In the case that the first processing core satisfies the handshake condition, a third feedback signal is sent to the second processing core, so that the first processing core is paired with the second processing core and performs corresponding processing,
    其中,所述执行相应的处理包括:Wherein, the performing corresponding processing includes:
    所述第一处理核接收所述第二处理核发送的与第四目标任务对应的任务数据,并执行所述第四目标任务;或者The first processing core receives the task data corresponding to the fourth target task sent by the second processing core, and executes the fourth target task; or
    所述第一处理核向所述第二处理核发送与第五目标任务对应的任务数据,以使所述第二处理核执行所述第五目标任务。The first processing core sends task data corresponding to the fifth target task to the second processing core, so that the second processing core executes the fifth target task.
  9. 根据权利要求8所述的方法,其中,所述第二广播信号中包括最大传输步长,所述方法还包括:The method according to claim 8, wherein the second broadcast signal includes a maximum transmission step size, and the method further comprises:
    在接收到所述第二处理核第k次发送的第二广播信号的情况下,根据所述第二广播信号中的最大传输步长,判断所述第二广播信号是否满足转发条件;In the case of receiving the second broadcast signal sent by the second processing core for the kth time, according to the maximum transmission step size in the second broadcast signal, determine whether the second broadcast signal satisfies the forwarding condition;
    在所述第二广播信号满足转发条件的情况下,向远离所述第二处理核的第三处理核转发所述第二广播信号。If the second broadcast signal satisfies the forwarding condition, the second broadcast signal is forwarded to a third processing core far away from the second processing core.
  10. 一种电子设备,包括:An electronic device comprising:
    多个处理核;以及multiple processing cores; and
    片上网络,被配置为交互所述多个处理核间的数据和外部数据;an on-chip network configured to exchange data and external data among the plurality of processing cores;
    其中,所述处理核中存储有指令,所述指令被所述处理核执行,以使所述处理核能够执行如权利要求1-9中任一项所述的广播方法。Wherein, instructions are stored in the processing core, and the instructions are executed by the processing core, so that the processing core can execute the broadcasting method according to any one of claims 1-9.
  11. 一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序在被处理器执行时实现如权利要求1-9中任一项所述的广播方法。A computer-readable medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the broadcasting method of any one of claims 1-9.
  12. 一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,其中,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行用于实现权利要求1-9中的任一项所述的广播方法。A computer program product comprising computer-readable code, or a non-volatile computer-readable storage medium carrying computer-readable code, wherein when the computer-readable code is executed in a processor of an electronic device, all The processor in the electronic device executes the broadcasting method for implementing any one of claims 1-9.
PCT/CN2022/070211 2021-01-08 2022-01-05 Multi-core system-based broadcasting method, electronic device, and computer readable medium WO2022148359A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110024280.XA CN112887214B (en) 2021-01-08 2021-01-08 Broadcasting method, first node, network on chip, transmission method, device and medium
CN202110024280.X 2021-01-08

Publications (1)

Publication Number Publication Date
WO2022148359A1 true WO2022148359A1 (en) 2022-07-14

Family

ID=76047222

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/070211 WO2022148359A1 (en) 2021-01-08 2022-01-05 Multi-core system-based broadcasting method, electronic device, and computer readable medium

Country Status (2)

Country Link
CN (1) CN112887214B (en)
WO (1) WO2022148359A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112887214B (en) * 2021-01-08 2022-10-25 北京灵汐科技有限公司 Broadcasting method, first node, network on chip, transmission method, device and medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110314255A1 (en) * 2010-06-17 2011-12-22 Tushar Krishna Message broadcast with router bypassing
CN105704678A (en) * 2016-01-20 2016-06-22 浙江工商大学 Broadcast method in mobile ad hoc network based on neighbor broadcast success rate
CN108900284A (en) * 2018-07-12 2018-11-27 合肥工业大学 Efficiently fault-tolerant wireless interface in a kind of on piece wireless network
CN110166354A (en) * 2019-05-24 2019-08-23 合肥工业大学 A kind of data processing system comprising network-on-chip fault tolerance rout ing
CN112887214A (en) * 2021-01-08 2021-06-01 北京灵汐科技有限公司 Broadcasting method, first node, network on chip, transmission method, device and medium

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2548037B1 (en) * 2010-03-16 2015-10-14 Mentor Graphics Corporation Test scheduling and test access in test compression environment
CN105450555B (en) * 2014-09-26 2018-11-30 杭州华为数字技术有限公司 A kind of method for building up of network-on-a-chip and network-on-chip communication link
CN106506379A (en) * 2016-09-22 2017-03-15 福建天泉教育科技有限公司 A kind of based on the data transmission method of LAN, system and transmitting terminal
US10880895B2 (en) * 2018-05-27 2020-12-29 Brian Gordaychik Variable length downlink control information formats for next generation radio technologies
CN109274509B (en) * 2018-08-22 2021-03-12 Oppo广东移动通信有限公司 Broadcast state determination method and device, electronic equipment and storage medium
CN109039942B (en) * 2018-08-29 2022-08-12 南京优速网络科技有限公司 Network load balancing system and balancing method based on deep reinforcement learning
CN110971350B (en) * 2018-09-28 2021-10-26 华为技术有限公司 Data transmission method, equipment and system
CN109408257B (en) * 2018-11-09 2021-04-13 北京灵汐科技有限公司 Data transmission method and device for Network On Chip (NOC) and electronic equipment
CN110557216B (en) * 2019-08-27 2020-11-13 桂林电子科技大学 High-speed data architecture based on network on chip and data transmission method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110314255A1 (en) * 2010-06-17 2011-12-22 Tushar Krishna Message broadcast with router bypassing
CN105704678A (en) * 2016-01-20 2016-06-22 浙江工商大学 Broadcast method in mobile ad hoc network based on neighbor broadcast success rate
CN108900284A (en) * 2018-07-12 2018-11-27 合肥工业大学 Efficiently fault-tolerant wireless interface in a kind of on piece wireless network
CN110166354A (en) * 2019-05-24 2019-08-23 合肥工业大学 A kind of data processing system comprising network-on-chip fault tolerance rout ing
CN112887214A (en) * 2021-01-08 2021-06-01 北京灵汐科技有限公司 Broadcasting method, first node, network on chip, transmission method, device and medium

Also Published As

Publication number Publication date
CN112887214B (en) 2022-10-25
CN112887214A (en) 2021-06-01

Similar Documents

Publication Publication Date Title
US9426099B2 (en) Router, method for controlling router, and program
US10110499B2 (en) QoS in a system with end-to-end flow control and QoS aware buffer allocation
US10732879B2 (en) Technologies for processing network packets by an intelligent network interface controller
US9792051B2 (en) System and method of application aware efficient IO scheduler
US8473818B2 (en) Reliable communications in on-chip networks
US7889683B2 (en) Non-destructive media access resolution for asynchronous traffic in a half-duplex braided-ring
WO2009015549A1 (en) Shared cache system, realizing method and realizing software thereof
WO2022148359A1 (en) Multi-core system-based broadcasting method, electronic device, and computer readable medium
US7631313B2 (en) System and method for transferring data
WO2021213365A1 (en) Data processing method based on base station group, and base station, base station system, and computer-readable medium
TW202230112A (en) Plane-based queue configuration for aipr-enabled drives
CN112711550A (en) DMA automatic configuration module and SOC
US20160294926A1 (en) Using a single work item to send multiple messages
JP5414506B2 (en) Data processing apparatus, data processing method, and program
US20020009098A1 (en) Communication control method and device
US8806082B2 (en) Direct memory access device for multi-core system and operating method of the same
CN111385211B (en) SpaceWire bus-based routing communication method and network equipment
JP5728043B2 (en) Gateway device
JP4104939B2 (en) Multiprocessor system
US9594651B2 (en) Parallel computer system and control method for parallel computer system
US20170295237A1 (en) Parallel processing apparatus and communication control method
US20230413245A1 (en) Base station and storage medium
US20190278602A1 (en) Apparatus and method to improve performance of memory accesses from plural arithmetic processors
WO2022012348A1 (en) Data transmission method and apparatus, forwarding node and computer-readable storage medium
US20220129329A1 (en) Technologies for managing data wait barrier operations

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22736521

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 31/10/2023)

122 Ep: pct application non-entry in european phase

Ref document number: 22736521

Country of ref document: EP

Kind code of ref document: A1