WO2018171299A1 - 片上网络及对冲挂死解除方法 - Google Patents

片上网络及对冲挂死解除方法 Download PDF

Info

Publication number
WO2018171299A1
WO2018171299A1 PCT/CN2018/071971 CN2018071971W WO2018171299A1 WO 2018171299 A1 WO2018171299 A1 WO 2018171299A1 CN 2018071971 W CN2018071971 W CN 2018071971W WO 2018171299 A1 WO2018171299 A1 WO 2018171299A1
Authority
WO
WIPO (PCT)
Prior art keywords
available resource
bridging
node
egress
queue
Prior art date
Application number
PCT/CN2018/071971
Other languages
English (en)
French (fr)
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 WO2018171299A1 publication Critical patent/WO2018171299A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/72Admission control; Resource allocation using reservation actions during connection setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling

Definitions

  • the present disclosure relates to the field of communications technologies, and in particular, to an on-chip network and a method for releasing a suspension.
  • NoC network on chip
  • BLR Buffer less Ring Network
  • a ring network includes a plurality of slots, and a plurality of Slots are connected to form a ring network, and each slot can be connected to the node and connected to the node through the node.
  • the on-chip network includes a plurality of ring networks
  • nodes on different ring networks can be connected by bridges, thereby implementing data communication between the two ring networks, thereby realizing the connection between the modules that are connected thereto. data communication.
  • the first ring network and the second ring network are taken as an example.
  • the first slot on the first ring network is connected to the first node
  • the second slot on the second ring network is connected to the second node.
  • a node and the second node are connected through a bridge.
  • the first node includes a first egress queue and a first ingress queue
  • the second node includes a second egress queue and a second ingress queue
  • the bridge includes a first bridging buffer and a second bridging buffer.
  • the first bridging buffer is respectively connected to the first egress queue and the second ingress queue
  • the second bridging buffer is respectively connected to the second egress queue and the first ingress queue.
  • the data is sent to the first slot, and then sent to the first egress queue in the first node, and then sent to the second through the first bridge buffer.
  • the ingress queue is sent to the second slot.
  • the second ring network sends data to the first ring network
  • the data is sent to the second slot, and then sent to the second egress queue in the second node, and then sent to the first through the second bridging buffer.
  • the ingress queue is sent to the first slot.
  • the inventors have found that the related art has at least the following drawbacks: data on the first ring network is sent to the second ring network, and data on the second ring network is sent to In the case of the first ring network, when the Slot, the ingress queue and the egress queue on the first ring network and the second ring network, and the bridge buffer in the bridge are full of data, the two rings are caused.
  • the data on the network can not be sent, and the hedging is formed at this time, which makes the two ring networks unable to communicate data.
  • an embodiment of the present disclosure provides an on-chip network and a method for releasing a suspension.
  • the technical solution is as follows:
  • an on-chip network method where the on-chip network includes a first ring network and a second ring network, and a first slot Slot on the first ring network interfaces with a first node, a second slot on the second ring network is connected to the second node, where the first node and the second node are connected by a bridge;
  • the first node includes a first egress queue and a first ingress queue
  • the second node includes a second egress queue and a second ingress queue
  • the bridge includes a first bridging buffer and a second bridging buffer
  • the first bridging buffer is respectively connected to the first egress queue and the second ingress queue
  • the second bridging buffer is respectively connected to the second egress queue and the first ingress queue
  • the first node includes a first detection module and a first release module
  • the first detecting module is configured to: when detecting that the first node is in the first state, set the first buffering dead signal to a first level, triggering the first releasing module to jump from the normal mode to Starting a blocking mode, the first state being a state having the possibility of a hedge hang;
  • the first releasing module is configured to set a first egress blocking signal to a first level in the start blocking mode to block data to be sent to the second slot on the first slot. Determining a first egress queue; and, setting a first ingress blocking signal to a first level, broadcasting the first level to nodes other than the first node among nodes on the first ring network The first ingress blocking signal to prevent data in the ingress queue of the other nodes from entering a slot that is docked by other nodes;
  • the first releasing module is further configured to: when the duration of the first entry blocking signal of the first level is broadcasted to a preset duration, the start blocking mode is jumped to the hanging dead mode, In the hanging dead release mode, the first exit blocking signal is set to a second level, and the first inlet blocking signal is maintained at a first level, so that the first slot is to be sent to the
  • the data of the second slot enters the reserved resource in the first egress queue, and the data to be sent to the first slot in the first ingress queue enters the first slot, and the second bridge buffer
  • the data enters the first ingress queue, the data in the second egress queue enters the second bridging buffer, and the data to be sent to the first slot on the second slot enters the second Export queue.
  • the first egress queue includes reserved resources. In the normal mode, the first egress queue does not apply the reserved resource cache data, and only when the hang-hang release mode is performed, the hang-hanging release is allowed. The data to be sent to the second slot on the first slot enters the reserved resource in the first egress queue.
  • the manner of detecting whether the first node is in the first state may include the following two types:
  • the first detecting module is further configured to: when it is detected that the sum of the first available resource and the first bridge available resource is less than a first preset threshold, determining that the first node is in the first a state, wherein the first egress available resource is an available resource in the first egress queue, and the first bridging available resource is an available resource in the first bridging buffer.
  • the first hedge hang signal when it is detected that the sum of the first available resource and the first bridge available resource is not less than the first preset threshold, the first hedge hang signal is set to the second level, so that when the re-appearance is ensured In a case where the sum of the first egress available resource and the first bridging available resource is less than the first predetermined threshold, the first bucking dead signal may be set to the first level by the second level.
  • the first detection module is further configured to: when detecting that the sum of the first egress available resource and the first bridging available resource is less than a first preset threshold, and the first ingress available resource and the second bridging available resource Determining that the first node is in the first state when the sum value is smaller than the second preset threshold; wherein the first egress available resource is an available resource in the first egress queue, the first bridging An available resource is an available resource in the first bridging buffer, the first ingress available resource is an available resource in the first ingress queue, and the second bridging available resource is in the second bridging buffer Available resources.
  • the first hedge hang signal when it is detected that the sum of the first egress available resource and the first bridging available resource is not less than a first preset threshold, or the sum of the first ingress available resource and the second bridging available resource is not less than a second preset threshold
  • the first check hang signal when the recurring first resource available resource and the first bridge available resource are less than the first preset threshold and the first port available resource and the first
  • the first hedge hang signal may be set to the first level by the second level.
  • the first detection module is further configured to: when detecting that the first node is in the second state, set the first suspension release signal to a first level, triggering the first The release module jumps from the hanging release mode to the normal mode, and the second state is a state in which the hedge has been released.
  • the first detecting module is further configured to: when it is detected that the sum of the first available resource and the first bridge available resource is greater than a third preset threshold, determining that the first node is in the second a state, wherein the first egress available resource is an available resource in the first egress queue, and the first bridging available resource is an available resource in the first bridging buffer.
  • the first hang-release signal when it is detected that the sum of the first available resource and the first bridge available resource is not greater than the third preset threshold, the first hang-release signal is set to the second level, thereby ensuring that the re-appearance occurs In a case where the sum of the first egress available resource and the first bridging available resource is greater than the third preset threshold, the first hangover release signal may be set to the first level by the second level.
  • the first detecting module is further configured to: when detecting that a sum of the first egress available resource and the first bridging available resource is greater than a third preset threshold, and the first ingress available resource and the second bridging available resource Determining that the first node is in the second state when the sum value is greater than a fourth preset threshold; wherein the first egress available resource is an available resource in the first egress queue, the first bridging An available resource is an available resource in the first bridging buffer, the first ingress available resource is an available resource in the first ingress queue, and the second bridging available resource is in the second bridging buffer Available resources.
  • the first hanging release signal when it is detected that the sum of the first egress available resource and the first bridging available resource is not greater than a third preset threshold, or the sum of the first ingress available resource and the second bridging available resource is not greater than a fourth preset threshold
  • the first hanging release signal when the first outlet available resource and the first bridge available resource are greater than the third preset threshold and the first entry available resource and the first
  • the first suspension release signal may be set to the first level by the second level.
  • the second node may also perform the step of releasing the above-mentioned de-hedging, that is, the second node includes a second detecting module and a second releasing module;
  • the second detecting module is configured to: when detecting that the second node is in the first state, set a second check hang signal to a first level, and trigger the second release module to be normal The mode jumps to the start blocking mode;
  • the second releasing module is configured to set a second egress blocking signal to a first level in the start blocking mode to block data to be sent to the first slot on the second slot. Determining a second egress queue, and setting a second ingress blocking signal to a first level, broadcasting the first level to other nodes in the node that is connected to the second ring network except the second node
  • the second ingress blocking signal is configured to prevent data in the ingress queue of the other nodes from entering a corresponding slot;
  • the second releasing module is further configured to: when the duration of the second ingress blocking signal of the first level is broadcasted to reach the preset duration, jump from the start blocking mode to the hanging release a mode, in the hanging release mode, setting the second outlet blocking signal to a second level, and maintaining the second inlet blocking signal to a first level, so that the second slot is waiting
  • the data sent to the first slot enters a reserved resource in the second egress queue, and the data to be sent to the second slot in the second ingress queue enters the second slot, the first
  • the data in the bridge buffer enters the second ingress queue, the data in the first egress queue enters the first bridging buffer, and the data to be sent to the second slot on the first slot enters The first exit queue.
  • the second detecting module is further configured to: when detecting that a sum of the second egress available resource and the second bridging available resource is less than a fifth preset threshold, determining that the second node is in the first a state, wherein the second egress available resource is an available resource in the second egress queue, and the second bridging available resource is an available resource in the second bridging buffer.
  • the second detection module is further configured to: when detecting that the sum of the second egress available resource and the second bridging available resource is less than a fifth preset threshold, and the second ingress available resource and the first bridging available resource Determining that the second node is in the first state when the sum value is less than a sixth preset threshold; wherein the second egress available resource is an available resource in the second egress queue, the second bridging An available resource is an available resource in the second bridging buffer, the second ingress available resource is an available resource in the second ingress queue, and the first bridging available resource is in the first bridging buffer Available resources.
  • the data on the second slot passes through the second egress queue, the second bridging buffer, and the first ingress queue, and is sent to the first slot, and the data on the first slot passes through the first egress.
  • the queue, the first bridging buffer, and the second ingress queue are sent to the second slot, and the hash between the first slot and the second slot can be released.
  • the second detecting module is further configured to detect When the second node is in the second state, the second suspension release signal is set to the first level, and the second release module is triggered to jump to the normal mode by the suspension release mode.
  • the second detecting module is further configured to: when detecting that a sum of the second available resource and the second bridge available resource is greater than a seventh preset threshold, determining that the second node is in the second a state, wherein the second egress available resource is an available resource in the second egress queue, and the second bridging available resource is an available resource in the second bridging buffer.
  • the second detection module is further configured to: when detecting that the sum of the second egress available resource and the second bridging available resource is greater than a seventh preset threshold, and the second ingress available resource and the first bridging available resource Determining that the second node is in the second state when the sum value is greater than an eighth preset threshold; wherein the second egress available resource is an available resource in the second egress queue, the second bridging An available resource is an available resource in the second bridging buffer, the second ingress available resource is an available resource in the second ingress queue, and the first bridging available resource is in the first bridging buffer Available resources.
  • a method for releasing a hang-hanging method is provided, which is applied to an on-chip network, where the on-chip network includes a first ring network and a second ring network, and the first slot Slot on the first ring network The first node is docked, the second slot on the second ring network is connected to the second node, and the first node and the second node are connected through a bridge;
  • the first node includes a first egress queue and a first ingress queue
  • the second node includes a second egress queue and a second ingress queue
  • the bridge includes a first bridging buffer and a second bridging buffer
  • the first bridging buffer is respectively connected to the first egress queue and the second ingress queue
  • the second bridging buffer is respectively connected to the second egress queue and the first ingress queue
  • the method includes:
  • the first check hang signal is set to a first level, and the normal mode jumps to a start blocking mode, where the first state is that the hang hang occurs.
  • the first node sets the first egress blocking signal to a first level in the start blocking mode to prevent data on the first slot to be sent to the second slot from entering the first egress. Queueing; and, setting the first entry blocking signal to a first level, broadcasting the first level of the first level to nodes other than the first node of the nodes on the first ring network An ingress blocking signal to prevent data in the ingress queue of the other nodes from entering the slot where the other nodes are docked;
  • the start blocking mode is jumped to the suspension release mode, in the suspension release mode.
  • the manner of detecting whether the first node is in the first state may include the following two types:
  • the first node detects that the sum of the first egress available resource and the first bridging available resource is less than a first preset threshold, determining that the first node is in the first state;
  • the first egress available resource is an available resource in the first egress queue
  • the first bridging available resource is an available resource in the first bridging buffer.
  • the first hedge hang signal when it is detected that the sum of the first available resource and the first bridge available resource is not less than the first preset threshold, the first hedge hang signal is set to the second level, so that when the re-appearance is ensured In a case where the sum of the first egress available resource and the first bridging available resource is less than the first predetermined threshold, the first bucking dead signal may be set to the first level by the second level.
  • the method further includes:
  • the first node detects that the sum of the first egress available resource and the first bridging available resource is less than a first preset threshold, and the sum of the first ingress available resource and the second bridging available resource is less than a second preset threshold Determining that the first node is in the first state;
  • the first egress available resource is an available resource in the first egress queue
  • the first bridging available resource is an available resource in the first bridging buffer
  • the first ingress available resource is An available resource in the first ingress queue
  • the second bridging available resource being an available resource in the second bridging buffer.
  • the first hedge hang signal when it is detected that the sum of the first egress available resource and the first bridging available resource is not less than a first preset threshold, or the sum of the first ingress available resource and the second bridging available resource is not less than a second preset threshold
  • the first check hang signal when the recurring first resource available resource and the first bridge available resource are less than the first preset threshold and the first port available resource and the first
  • the first hedge hang signal may be set to the first level by the second level.
  • the hang-up mode As the data on the second slot passes through the second egress queue, the second bridging buffer, and the first ingress queue, the data is sent to the first slot, and the first slot and the second slot are hanged.
  • the dead can be released.
  • the first suspension release signal is set to the first level, and the suspension release mode is jumped to the normal mode.
  • the second state is a state in which the hedging has been released.
  • the first egress available resource is an available resource in the first egress queue
  • the first bridging available resource is an available resource in the first bridging buffer.
  • the first hang-release signal when it is detected that the sum of the first available resource and the first bridge available resource is not greater than the third preset threshold, the first hang-release signal is set to the second level, thereby ensuring that the re-appearance occurs In a case where the sum of the first egress available resource and the first bridging available resource is greater than the third preset threshold, the first hangover release signal may be set to the first level by the second level.
  • the method further includes:
  • the first node detects that the sum of the first egress available resource and the first bridging available resource is greater than a third preset threshold, and the sum of the first ingress available resource and the second bridging available resource is greater than a fourth preset threshold Determining that the first node is in the second state;
  • the first egress available resource is an available resource in the first egress queue
  • the first bridging available resource is an available resource in the first bridging buffer
  • the first ingress available resource is An available resource in the first ingress queue
  • the second bridging available resource being an available resource in the second bridging buffer.
  • the first hanging release signal when it is detected that the sum of the first egress available resource and the first bridging available resource is not greater than a third preset threshold, or the sum of the first ingress available resource and the second bridging available resource is not greater than a fourth preset threshold
  • the first hanging release signal when the first outlet available resource and the first bridge available resource are greater than the third preset threshold and the first entry available resource and the first
  • the first suspension release signal may be set to the first level by the second level.
  • the second node may also perform the step of releasing the hedging to hang, that is, the method further includes:
  • the second node sets the second egress blocking signal to a first level in the start blocking mode to prevent data on the second slot to be sent to the first slot from entering the second egress.
  • Queueing, and setting a second entry blocking signal to a first level broadcasting the second level of the first level to nodes other than the second node of the nodes that are connected to the second ring network
  • An ingress blocking signal to prevent data in the ingress queue of the other nodes from entering the slot where the other nodes are docked;
  • the start blocking mode jumps to the suspension release mode, in the In the hanging dead release mode, the second exit blocking signal is set to a second level, and the second inlet blocking signal is maintained at a first level, so that the second slot is to be sent to the first
  • the data of a slot enters the reserved resource in the second egress queue, and the data to be sent to the second slot in the second ingress queue enters the second slot, in the first bridging buffer
  • the data enters the second ingress queue, the data in the first egress queue enters the first bridging buffer, and the data to be sent to the second slot on the first slot enters the first egress queue.
  • the second node detects that the sum of the second egress available resource and the second bridging available resource is less than a fifth preset threshold, determining that the second node is in the first state;
  • the second egress available resource is an available resource in the second egress queue, and the second bridging available resource is an available resource in the second bridging buffer.
  • the method further includes:
  • the second node detects that the sum of the second egress available resource and the second bridging available resource is less than a fifth preset threshold, and the sum of the second ingress available resource and the first bridging available resource is less than a sixth preset threshold Determining that the second node is in the first state; wherein the second egress available resource is an available resource in the second egress queue, and the second bridging available resource is the second bridging buffer.
  • the available resources in the zone, the second ingress available resource is an available resource in the second ingress queue, and the first bridging available resource is an available resource in the first bridging buffer.
  • the data on the second slot passes through the second egress queue, the second bridging buffer, and the first ingress queue, and is sent to the first slot, and the data on the first slot passes through the first egress.
  • the queue, the first bridging buffer, and the second ingress queue are sent to the second slot, and the hangover between the first slot and the second slot can be released.
  • the method further includes:
  • the second suspension release signal is set to the first level, and the suspension release mode is jumped to the normal mode.
  • the second node detects that the sum of the second egress available resource and the second bridging available resource is greater than a seventh preset threshold, determining that the second node is in the second state;
  • the second egress available resource is an available resource in the second egress queue, and the second bridging available resource is an available resource in the second bridging buffer.
  • the method further includes:
  • the second node detects that the sum of the second egress available resource and the second bridging available resource is greater than a seventh preset threshold, and the sum of the second ingress available resource and the first bridging available resource is greater than an eighth preset threshold Determining that the second node is in the second state; wherein the second egress available resource is an available resource in the second egress queue, and the second bridging available resource is the second bridging buffer The available resources in the zone, the second ingress available resource is an available resource in the second ingress queue, and the first bridging available resource is an available resource in the first bridging buffer.
  • a detection module and a release module are configured on the first node and the second node, and the detection module and the release module can perform a check between the first ring network and the second ring network. If the egress queue and the ingress queue of other nodes on the same ring network are blocked and then the egress queue is opened, the data on the Slot that is connected to the egress queue enters the egress queue.
  • the reserved resources in the system trigger the flow of data, thereby realizing the hedging and hang-up, ensuring the normal data communication between the first ring network and the second ring network, and the logical complexity of the method of hanging and hanging. Very low, consumes very little resources and is easy to implement.
  • FIG. 1 is a schematic structural diagram of an on-chip network provided by a related art
  • FIG. 2 is a schematic structural diagram of an on-chip network according to an embodiment of the present disclosure
  • FIG. 3 is a schematic diagram of an implementation environment of an on-chip network according to an embodiment of the present disclosure
  • FIG. 4 is a flowchart of a method for releasing a hang-hanging according to an embodiment of the present disclosure
  • FIG. 5 is a flowchart of a method for releasing a hang hang according to an embodiment of the present disclosure
  • FIG. 6 is a schematic structural diagram of a node according to an embodiment of the present invention.
  • On-chip network A network including one or more ring networks, wherein each ring network includes multiple Slots, one Slot can be connected to one or more nodes, and one node can be connected to one module.
  • Nodes on different ring networks can be connected through bridges, and different modules can communicate with each other through a ring network or multiple ring networks in the on-chip network.
  • any node on the first ring network can interface with any node on the second ring network.
  • a plurality of nodes on the first ring network can respectively connect a bridge with a plurality of nodes corresponding to the second ring network, and then multiple interfaces can be connected between the first ring network and the second ring network.
  • Slot is a storage medium for data on a ring network for storing data. Data can be transmitted between different Slots, and the data will move non-blocking in each slot on the ring network in a clockwise or counterclockwise direction (depending on the data transmission direction of the ring network). When the data moves to the Slot docked by the target node, it will be injected from the current Slot into the target node without moving to the next Slot.
  • the node provides a set of access control logic, which stores the data injected by the Slot in the egress queue, and then sends it to the docked bridge or module through the egress queue.
  • the data sent by the docked bridge or module can also be stored in the portal.
  • the Slot is sent to the docked Slot through the ingress queue, so that the data can be moved between the Slots.
  • the process of leaving data in a ring network can include:
  • the first slot is entered from the first slot to the first egress queue of the first node, and the first egress queue is reached. After the first bridge buffer, the second entry queue of the second node is entered, and then the second slot is entered.
  • the data will be from the third slot. Enter the egress queue of the third node, and then enter the module of the third node docking.
  • the process of entering data into the ring network may include: if the first slot is empty (no valid data), and there is no data in the first ring network to move to the first slot, the data of the first ingress queue in the first node It is possible to enter the first slot and move between the various slots on the first ring network.
  • Exit queue a queue located in a node for buffering data to be sent to other nodes
  • the data in the exit queue has two destinations:
  • Ingress queue A queue that is located in a node and is used to cache data sent by other nodes.
  • the data in the ingress queue has two sources:
  • the present disclosure refers to the egress queue of the first node as the first egress queue, the ingress queue of the first node as the first ingress queue, and the egress queue of the second node as the second egress queue.
  • the ingress queue of the two nodes is called the second ingress queue.
  • Bridging buffer located in the bridge between two nodes, docking with the egress queue of one of the nodes, docking with the ingress queue of the other node, and buffering the data sent by the egress queue of one of the nodes, and then the data is sent. Send to the ingress queue of another node to implement data communication between different nodes;
  • the present disclosure refers to a bridge buffer that interfaces with the first egress queue and the second ingress queue as a first bridging buffer, and a bridging buffer that interfaces with the first ingress queue and the second egress queue as a second. Bridge buffer.
  • the first export available resource the available resources in the first exit queue
  • First bridge available resources available resources in the first bridge buffer
  • First entry available resources available resources in the first ingress queue
  • Second bridging available resources available resources in the second bridging buffer
  • Second exit available resource available resources in the second exit queue
  • Second ingress available resource available resources in the second ingress queue
  • the first state a state in which the possibility of a hedging hang occurs
  • the first node when the sum of the first available resource and the first bridge available resource is less than the first preset threshold, the first node is determined to be in the first state.
  • the sum of the first available resource and the first bridge available resource is less than the first preset threshold, and the sum of the first available resource and the second bridge available is less than the second preset threshold, The first node is in the first state.
  • the second state the state in which the hedge has been released
  • the remaining available resources of the node on the ring network are sufficient, it indicates that the call may have been released from the hung. Therefore, according to the available resources in the egress queue, the ingress queue, and the docked bridge buffer of the node, it is possible to detect whether the node is available. The hedging has been lifted, that is, whether it is in the second state.
  • the first node when the sum of the first available resource and the first bridge available resource is greater than a third preset threshold, the first node is determined to be in the first state.
  • the value of the first available resource and the first bridge available resource may be greater than a third preset threshold, and the sum of the first available resource and the second bridge available resource is greater than a fourth preset threshold. The first node is in the first state.
  • the third preset threshold is greater than the first preset threshold, and the fourth preset threshold is greater than the second preset threshold.
  • the exit blocking signal the signal can enter the exit queue of the node at the first level, and the data can enter the exit queue of the node at the second level;
  • Ingress blocking signal at the first level, the data in the ingress queue of other nodes can be prevented from entering the signal of the Slot docked by other nodes. At the second level, the data in the ingress queue of other nodes can enter the Slot docked by other nodes;
  • the first level indicates that the first level of the ingress blocking signal has been broadcast to other nodes on the same ring network, the ingress queues on other nodes have been blocked successfully, and the triggering node jumps from the beginning blocking mode to the hanging Dead release mode
  • Hedging dead signal At the first level, it indicates that a hedging hang may occur, and the release module will jump from the normal mode to the start blocking mode, and set the first exit blocking signal to the first level in the start blocking mode, The first entry blocking signal is set to a first level.
  • Hanging dead release signal When the first level indicates that the hedge is dead, the release module will jump from the dead release mode to the normal mode.
  • the node can include three modes: normal mode, start blocking mode and hanging dead mode;
  • the entry blocking effective signal is set to the first level, and the start blocking mode is jumped to the hanging dead mode;
  • the hang-up release mode is jumped to the normal mode
  • the first node is taken as an example, and the operation process of the first node in each mode is as follows:
  • the first node works normally; in fact, at this time, each node on the first ring network and the second ring network works normally, and data communication can be performed to ensure that the system operates under the maximum bandwidth and the minimum delay state. ;
  • the first egress blocking signal is set to a first level to prevent data from entering the egress queue of the first node. And setting the first entry blocking signal to a first level to prevent data in the ingress queue of the node other than the first node on the first ring network from entering the Slot docked by other nodes, that is, blocking other The data in the ingress queue of the node enters the first ring network;
  • the first exit blocking signal is set to the second level, and the first ingress blocking signal broadcasted to other nodes on the first ring network is kept at the first level, then the first The data in the egress queue of the node is sent to the reserved resource of the bridge buffer, thereby canceling the hedging between the first ring network and the second ring network.
  • the on-chip network includes a first ring network and a second ring network, and the first slot 210 and the first on the first ring network.
  • the node 211 is docked, the second slot 220 on the second ring network is connected to the second node 221, and the first node 211 and the second node 221 are connected through the bridge 200.
  • the first ring network and the second ring network may be a Buffer less Ring Network (BLR) or other type of ring network.
  • BLR Buffer less Ring Network
  • the first node 211 includes a first egress queue and a second ingress queue
  • the second node 221 includes a second egress queue and a second ingress queue
  • the bridge 200 includes a first bridging buffer and a second bridging buffer.
  • a bridge buffer is respectively connected to the first egress queue and the second ingress queue
  • the second bridging buffer is respectively connected to the second egress queue and the first ingress queue.
  • the data is sent from the Slots other than the first slot to the first slot on the first ring network, and then sent to the first egress queue. And then sent to the second ingress queue through the first bridging buffer to be sent to the second slot.
  • the data is sent from the Slots other than the second slot to the second slot on the second ring network, and then sent to the second exit queue, and then sent to the second exit queue. After being sent to the first ingress queue through the second bridging buffer, it is sent to the first slot.
  • the first node 211 includes a first detecting module 2111 and a first releasing module 2112, wherein the first detecting module 2111 is configured to detect a state in which the first node is located, and the first releasing module 2112 is configured to reserve resources in the first egress queue in advance.
  • the data on the first slot is entered by blocking the first egress queue and the ingress queue of the other node and then opening the first egress queue. Reserving resources in the first egress queue, thereby triggering data flow, resolving the hang-up and ensuring that the first ring network can send data to the second ring network.
  • the first detecting module 2111 is configured to: when detecting that the first node is in the first state, set the first buffering dead signal to the first level, and trigger the first releasing module 2112 to jump from the normal mode to start blocking.
  • the first state is a state with the possibility of a hedge hang.
  • the first release module 2112 is configured to set the first exit blocking signal to a first level and set the first inlet blocking signal to a first level in the start blocking mode to prevent the first slot from being sent to the first
  • the data of the two slots enters the first egress queue; and the first ingress blocking signal is set to the first level, and the first level of the node other than the first node is broadcast to the nodes on the first ring network
  • An ingress blocking signal prevents the data in the ingress queues of other nodes from entering the Slots that are docked by other nodes.
  • the first releasing module 2112 is further configured to: when the duration of the first entry blocking signal of the first level is broadcasted to a preset duration, the first blocking mode is jumped to the hanging dead mode, and in the hanging dead mode, The first egress blocking signal is set to a second level, and the first ingress blocking signal is kept at the first level, and the first ingress blocking signal of the first level is continuously broadcast to other nodes, so that the first slot is to be sent.
  • the data to the second slot enters the reserved resource in the first egress queue, and the data to be sent to the first slot in the first ingress queue enters the first slot, and the data in the second bridging buffer enters the first ingress queue, The data in the second egress queue enters the second bridging buffer, and the data to be sent to the first slot on the second slot enters the second egress queue.
  • the first release module 2112 may set the first entry blocking effective signal to a first level, so that the first release module 2112 jumps from the start blocking mode to the hanging release mode.
  • each ring network may be a one-way ring network, such as a clockwise ring network or a counterclockwise ring network, or It can be composed of two unidirectional half-ring networks including a clockwise half-ring network and a counterclockwise half-ring network.
  • the data on the ring network uses Slot as the storage medium, and the data moves in a clockwise or counterclockwise direction on the ring network without blocking, until it reaches the target Slot and reaches the target Slot.
  • the docked target node reaches the target module docked by the target node to complete the data transmission.
  • the embodiment of the present disclosure takes the first node on the first ring network and the second node in the second ring network as an example, and the first node and the second node are connected to the bridge.
  • the first node is Refers to any one or more nodes on the first ring network
  • the second node refers to any one or more nodes on the second ring network, for the first ring network and the second ring network
  • One or more bridges may be interfaced between the first ring network and the second ring network.
  • the node 1 on the first ring network and the node 2 on the second ring network are connected to one bridge, and the node 3 on the first ring network and the node 4 on the second ring network are also connected to each other.
  • Device the node 1 on the first ring network and the node 2 on the second ring network are connected to one bridge, and the node 3 on the first ring network and the node 4 on the second ring network are also connected to each other.
  • the detection module and the release module are configured on the first node and the second node by pre-reserving resources in the egress queue, and the detection module and the release module can be used in the first ring network.
  • the state of the hang-up is detected in time, and the egress queue and the ingress queue of other nodes on the same ring network are blocked and then opened, so that the egress is opened.
  • the data on the Slot docked into the reserved resource in the egress queue triggers the flow of data, thereby realizing the hedging suspension and ensuring normal data communication between the first ring network and the second ring network.
  • the way to perform the hedging suspension is very low in logic complexity, consumes little resources, and is easy to implement.
  • the first detecting module 2111 is further configured to: when detecting that a sum of the first egress available resource and the first bridging available resource is less than a first preset threshold, determining that the first node is in the first state Wherein the first egress available resource is an available resource in the first egress queue, and the first bridging available resource is an available resource in the first bridging buffer.
  • the first detecting module 2111 is further configured to: when detecting that a sum of the first egress available resource and the first bridging available resource is less than a first preset threshold, and the first ingress available resource and the first When the sum of the available resources of the second bridge is less than the second preset threshold, determining that the first node is in the first state; wherein the first egress available resource is an available resource in the first egress queue, and the first bridging available resource is the first bridging The available resources in the buffer, the first ingress available resource is the available resource in the first ingress queue, and the second bridging available resource is the available resource in the second bridging buffer.
  • the first detecting module 2111 is further configured to: when detecting that the first node is in the second state, set the first suspension release signal to a first level, and trigger the first release module to be triggered by The hanging dead release mode jumps to the normal mode, and the second state is the state in which the hedging is suspended.
  • the first detecting module 2111 is further configured to: when detecting that a sum of the first egress available resource and the first bridging available resource is greater than a third preset threshold, determining that the first node is in the second a state; wherein the first egress available resource is an available resource in the first egress queue, and the first bridging available resource is an available resource in the first bridging buffer.
  • the first detecting module 2111 is further configured to: when detecting that a sum of the first egress available resource and the first bridging available resource is greater than a third preset threshold, and the first ingress available resource and the first When the sum of the available resources of the second bridge is greater than the fourth preset threshold, determining that the first node is in the second state; wherein the first egress available resource is an available resource in the first egress queue, and the first bridging available resource is the first bridging The available resources in the buffer, the first ingress available resource is the available resource in the first ingress queue, and the second bridging available resource is the available resource in the second bridging buffer.
  • the second node 221 includes a second detecting module 2211 and a second releasing module 2212, wherein the second detecting module 2211 is configured to detect a state in which the second node is located, and the second releasing module 2212 is configured to use When the first ring network and the second ring network are hanged, the hedge is released, and the second ring network is configured to send data to the first ring network.
  • the second detecting module 2211 is configured to: when detecting that the second node is in the first state, set the second hedging signal to a first level, and trigger the second releasing module to jump from the normal mode to the start blocking mode;
  • a second release module 2212 configured to set a second egress blocking signal to a first level in the start blocking mode to prevent data on the second slot to be sent to the first slot from entering the second egress queue; and
  • the second ingress blocking signal is set to a first level, and the second ingress blocking signal of the first level is broadcasted to other nodes of the node that is connected to the second ring network except the second node to block the ingress queue in the other nodes.
  • the data in the data enters the Slot docked by other nodes;
  • the second releasing module 2212 is further configured to: when the duration of the second ingress blocking signal of the first level is broadcasted to a preset duration, the first blocking mode is jumped to the hanging dead mode, and in the hanging dead mode, the first The second egress blocking signal is set to the second level, and the second ingress blocking signal is kept at the first level, so that the data to be sent to the first slot on the second slot enters the reserved resource in the second egress queue, The data to be sent to the second slot in the two ingress queues enters the second slot, and the data in the first bridging buffer enters the second ingress queue, and the data in the first egress queue enters the first bridging buffer, and the first slot is waiting for The data sent to the second slot enters the first egress queue.
  • the second detecting module 2211 is further configured to: when detecting that a sum of the second egress available resource and the second bridging available resource is less than a fifth preset threshold, determining that the second node is in the first a state; wherein the second egress available resource is an available resource in the second egress queue, and the second bridging available resource is an available resource in the second bridging buffer.
  • the second detecting module 2211 is further configured to: when detecting that the sum of the second egress available resource and the second bridging available resource is less than a fifth preset threshold, and the second ingress available resource and the When the sum value of the bridged available resources is less than the sixth preset threshold, determining that the second node is in the first state; wherein the second egress available resource is an available resource in the second egress queue, and the second bridging available resource is the second bridging The available resources in the buffer, the second ingress available resource is the available resource in the second ingress queue, and the first bridging available resource is the available resource in the first bridging buffer.
  • the second detecting module 2211 is further configured to: when detecting that the second node is in the second state, set the second suspension release signal to a first level, and trigger the second release module to be triggered by Hang the dead release mode to jump to the normal mode.
  • the second detecting module 2211 is further configured to: when detecting that a sum of the second egress available resource and the second bridging available resource is greater than a seventh preset threshold, determining that the second node is in the second a state; wherein the second egress available resource is an available resource in the second egress queue, and the second bridging available resource is an available resource in the second bridging buffer.
  • the second detecting module 2211 is further configured to: when detecting that a sum of the second egress available resource and the second bridging available resource is greater than a seventh preset threshold, and the second ingress available resource and the When the sum of the available resources of the bridge is greater than the eighth preset threshold, determining that the second node is in the second state; wherein the second egress available resource is an available resource in the second egress queue, and the second bridging available resource is a second bridging The available resources in the buffer, the second ingress available resource is the available resource in the second ingress queue, and the first bridging available resource is the available resource in the first bridging buffer.
  • the on-chip network provided by the foregoing embodiment is used to cancel the hedging suspension, only the division of the above functional modules is illustrated. In actual applications, the function allocation may be completed by different functional modules as needed. The internal structure of the first node and the second node are divided into different functional modules to complete all or part of the functions described above.
  • the on-chip network and the embodiment of the method for canceling the hang-up are provided in the same embodiment. The specific implementation process is described in the following method embodiments, and details are not described herein again.
  • FIG. 3 is a schematic diagram of an implementation environment of an on-chip network according to an embodiment of the present disclosure, where the implementation environment includes an on-chip network and an on-chip network interface module shown in FIG. 2.
  • the on-chip network docking module may include the following items: a central processing unit (CPU), a double rate synchronous dynamic random access memory (DDR) controller module, and a high speed serial point-to-point dual Channel high bandwidth transmission (PCI-Express, PCI-E), network interconnect module, Last Level Cache (LLC) module.
  • CPU central processing unit
  • DDR double rate synchronous dynamic random access memory
  • PCI-Express high speed serial point-to-point dual Channel high bandwidth transmission
  • PCI-E network interconnect module
  • LLC Last Level Cache
  • FIG. 4 is a flowchart of a method for releasing a hang-hanging method according to an embodiment of the present disclosure.
  • the execution body of the embodiment of the present disclosure is the first node in the network on chip shown in the foregoing embodiment, and the first embodiment of the present disclosure is The process in which the first node releases the hedging hang in the case where the ring network and the second ring network are hanged to death is described.
  • the method includes:
  • the first node When the first node detects that it is in the first state, set the first hedge hang signal to a first level, and jump from the normal mode to the start blocking mode.
  • the first level is high or low.
  • the first node is a node that is connected to the second ring network on the first ring network, and may be any node on the first ring network.
  • the first state is a state in which there is a possibility of occurrence of a hedge hang, the first node can detect the state in which it is currently located, and start the hang-hanging release when it is determined to be in the first state.
  • the process of detecting the state by the first node may include the following two possible implementation manners:
  • the first node when the first node detects that the sum of the first egress available resource and the first bridging available resource is less than a first preset threshold, determining that the first node is in the first state.
  • the first egress available resource is an available resource in the first egress queue
  • the first bridging available resource is an available resource in the first bridging buffer.
  • the first node monitors the first egress available resource and the first bridging available resource, and calculates a sum of the two, and determines whether the sum is less than a first preset threshold, the first preset threshold.
  • a minimum sum value of the first egress available resource and the first bridging available resource required for normal data communication once the sum of the first egress available resource and the first bridging available resource is less than the first predetermined threshold, It can be considered that there are too few resources available when sending data, which is not enough for normal data communication. It is likely that a hedging hang occurs between the first ring network and the second ring network.
  • the first node still determines whether the sum value is smaller than the first preset threshold.
  • the first check hang signal is set to the second power. Leveling so that the first hedge hang signal can be set to the first level again when it is detected that the sum value is less than the first predetermined threshold.
  • the second level is a low level when the first level is a high level, and the second level is a high level when the first level is a low level.
  • the first node detects that the sum of the first egress available resource and the first bridging available resource is less than a first preset threshold, and the sum of the first ingress available resource and the second bridging available resource When the value is less than the second preset threshold, it is determined that the first node is in the first state.
  • the first egress available resource is an available resource in the first egress queue
  • the first bridging available resource is an available resource in the first bridging buffer
  • the first ingress available resource is an available resource in the first ingress queue
  • the second The bridged available resources are available resources in the second bridge buffer.
  • the first node not only monitors the first egress available resource and the first bridging available resource, but also calculates a sum of the first egress available resource and the first bridging available resource, and determines whether the sum is smaller than the first pre-
  • the threshold is further configured to monitor the first ingress available resource and the second bridging available resource, and calculate a sum of the first ingress available resource and the second bridging available resource, and determine whether the sum value is less than a second preset threshold.
  • the first preset threshold is used to specify a minimum sum value of the first egress available resource and the first bridging available resource required for normal data communication, and the sum of the first available resource and the first bridging available resource is less than the first
  • a preset threshold it can be considered that there are too few resources available for transmitting data, which is insufficient for normal data communication
  • the second preset threshold is used to specify the first ingress available resource and the second required for normal data communication.
  • the minimum sum value of the available resources is bridged. Once the sum of the first available resource and the second bridge available resource is less than the second preset threshold, the available resources are considered to be too small, that is, the second ring.
  • the network has too few resources available to send data, which is not enough for normal data communication.
  • the first node is in the first state, and the first node sets the first hedge hang signal to the first level, thereby jumping from the normal mode to the start blocking mode, and then performing in the blocking mode.
  • the hedge is suspended.
  • the first node still determines whether the sum of the first available resource and the first bridge available resource is less than a first preset threshold, and a sum of the first available resource and the second bridge available resource. Whether it is smaller than the second preset threshold, when it is determined that the sum of the first available resource and the first bridge available resource is no longer smaller than the first preset threshold, or determining the first ingress available resource and the second bridging available resource When the sum value is no longer smaller than the second preset threshold, the first hedge hang signal is set to the second level.
  • the step 401 may be performed by the first detecting module 2111 in the first node, and the first detecting module 2111 triggers the first check-hung signal to the first level.
  • a release module 2112 jumps from the normal mode to the start blocking mode.
  • the first node sets the first egress blocking signal to a first level in the start blocking mode; and sets the first ingress blocking signal to a first level, and removes the node on the first ring network.
  • Other nodes than the first node broadcast a first entry blocking signal of the first level.
  • the first node After jumping to the start blocking mode, the first node initiates a first egress blocking signal and sets the first egress blocking signal to a first level, and when the first egress blocking signal is at a first level, the first egress queue can be blocked
  • the data is entered, that is, the data to be sent to the second slot on the first slot is prevented from entering the first egress queue.
  • the first node further initiates a first ingress blocking signal, sets the first ingress blocking signal to a first level, and broadcasts the first level to other nodes in the first ring network except the first node.
  • the first ingress blocking signal when the first ingress blocking signal is at the first level, and broadcasts to other nodes on the first ring network except the first node, can block data in the ingress queue of other nodes from entering the other The Slot that the node docks.
  • the difference between the first egress blocking signal and the first ingress blocking signal is that the first egress blocking signal acts on the egress queue to prevent data from entering the corresponding egress queue, and the first ingress blocking signal acts on the ingress queue to block The data in the ingress queue enters the slot in which the ingress queue is docked; and the first egress blocking signal acts on the first node that initiates the first egress blocking signal, and the first ingress blocking signal acts on the first ring network except The first entry blocks other nodes than the first node of the signal and does not act on the first node.
  • the mode begins to jump to the suspension release mode.
  • the process of the first ingress blocking signal reaching other nodes takes some time, and the timing starts when the first node starts broadcasting the first ingress blocking signal of the first level.
  • the chronograph duration reaches a preset duration, that is, when the duration of the first entry blocking signal of the first node broadcasting the first level reaches a preset duration, it can be considered that the other node has received the first entry blocking signal, and has already
  • the first ingress blocking signal acts on the corresponding ingress queue, that is, the corresponding ingress queue has been successfully blocked, and the first node jumps from the start blocking mode to the dead release mode.
  • the preset duration may be determined according to a maximum duration required for broadcasting signals between different nodes on the same ring network and a maximum effective duration required after each node receives the ingress blocking signal.
  • the first node may set the first entry blocking effective signal to a first level, and trigger the first node to jump from the start blocking mode to the suspension release mode.
  • the first node sets the first egress blocking signal to a second level in the suspend release mode, and keeps the first ingress blocking signal at a first level.
  • the first node When the first node jumps from the start blocking mode to the hanging dead mode, it indicates that the first egress queue and the ingress queues on other nodes have been blocked. At this time, in order to release the hung, the first node blocks the first egress.
  • the signal is set to a second level, thereby opening the first egress queue, so that the data to be sent to the second slot on the first slot can enter the reserved resources in the first egress queue for transmission to the second slot.
  • the available resources are vacated on the first slot, and the data to be sent to the first slot in the first ingress queue may enter the first slot, and the data in the second bridge buffer may enter the first ingress queue, and the second exit The data in the queue can enter the second bridge buffer, and the data to be sent to the first slot on the second slot can enter the second egress queue, that is, the data on the second slot is sent to the first slot.
  • the available resources may also be vacated on the second slot, so that the data on the first slot can be sent to the second slot.
  • the data on the first ring network and the second ring network can be sent to the target node on the corresponding ring network, and then sent to the module in which the target node is docked, thereby implementing different modules. Data communication.
  • the first egress queue is configured to set a reserved resource, and the reserved resource cache data is not applied in the normal mode, but in the hang-deactivate mode, the data to be sent to the second slot on the first slot may be allowed to enter.
  • the reserved resources in the first egress queue release the hedging between the first slot and the second slot.
  • steps 402-404 may be performed by the first release module 2112 in the first node.
  • the second state is a state in which the hedging is released, and when the second node is in the second state, it indicates that the heel suspension has been cancelled, and the first node can set the first hanging release signal to the first level. After jumping to the normal mode, continue data communication.
  • step 401 when the first node detects that the sum of the first egress available resource and the first bridging available resource is greater than a third preset threshold, determining that the first node is in the first Two states.
  • the first node monitors the first egress available resource and the first bridging available resource, and calculates a sum of the two, and determines whether the sum is greater than a third preset threshold, the third preset threshold. a minimum sum value of the first egress available resource and the first bridging available resource required to release the hedging hang, once the sum of the first egress available resource and the first bridging available resource is greater than the third preset threshold It can be considered that the resources available when transmitting data are sufficient, and the hedging hang between the first ring network and the second ring network has been released. At this time, it may be determined that the first node is in the second state, and the first node sets the first suspension release signal to the first level, and jumps to the normal mode by the suspension release mode.
  • the first node still determines whether the sum value is greater than a third preset threshold.
  • the first suspension release signal is set to the second level.
  • step 401 when the first node detects that the sum of the first egress available resource and the first bridging available resource is greater than a third preset threshold, and the first ingress available resource and the second bridging When the sum of the available resources is greater than the fourth preset threshold, it is determined that the first node is in the second state.
  • the first node not only monitors the first egress available resource and the first bridging available resource, but also calculates a sum of the first egress available resource and the first bridging available resource, and determines whether the sum is greater than the third pre-
  • the threshold is further configured to monitor the first ingress available resource and the second bridging available resource, and calculate a sum of the first ingress available resource and the second bridging available resource, and determine whether the sum is greater than a fourth preset threshold.
  • the third preset threshold is used to specify a minimum sum value of the first egress available resource and the first bridging available resource required to release the hedging hang, once the sum of the first egress available resource and the first bridging available resource is greater than the
  • the third preset threshold it can be considered that the available resources are sufficient when the data is sent
  • the second preset threshold is used to specify the minimum sum of the first ingress available resource and the second bridging available resource required to release the hedge.
  • the fourth preset threshold the available resources are considered to be sufficient when the data is received, that is, the available resources when the second ring network sends data. enough.
  • the sum of the first available resource and the first bridge available resource is greater than the third preset threshold, and the sum of the first available resource and the second bridge available resource is greater than the fourth preset threshold It means that the available resources for data communication between the first ring network and the second ring network are sufficient, and the hedge hang between the first ring network and the second ring network has been released.
  • the first node may set the first ingress blocking signal to a second level and continue to broadcast the second level of the first ingress blocking signal, thereby allowing the other nodes on the first ring network to The data of the ingress queue can enter the slot that the other node is docked, so that the first ingress blocking signal is again set to the first level when the subsequent jump to the start blocking mode.
  • the first ingress blocking effective signal may also be set to a second level, so that the first ingress blocking effective signal is again generated when the duration of the first ingress blocking signal broadcasting the first level reaches a preset duration. Set to the first level.
  • the first node still determines whether the sum of the first available resource and the first bridge available resource is greater than a third preset threshold, and a sum of the first available resource and the second bridge available resource. Whether it is greater than the fourth preset threshold, when it is determined that the sum of the first egress available resource and the first bridging available resource is not greater than the third preset threshold, or determining the sum of the first ingress available resource and the second bridging available resource When the value is not greater than the fourth preset threshold, the first suspension release signal is set to the second level.
  • step 405 may be performed by the first detection module 2111 in the first node.
  • the hedging can be detected in time when the hedging hangs between the first ring network and the second ring network.
  • the dead state the egress queue and the ingress queue of other nodes on the same ring network are blocked and then the egress queue is opened, so that the data on the slot connected to the egress queue enters the reserved resource in the egress queue, triggering the data.
  • the flow so as to achieve the hedging and hang-up, ensures that the first ring network and the second ring network can communicate normally, without long-term hanging scenes, ensuring the interconnection and normal communication of the system.
  • the way of running and performing the hedging suspension is very low in logic complexity, consumes little resources, and is easy to implement.
  • FIG. 5 is a flowchart of a method for releasing a hang-hanging method according to an embodiment of the present disclosure.
  • the execution body of the embodiment of the present disclosure is the second node in the network on chip shown in the foregoing embodiment, and the first embodiment of the present disclosure is The process in which the second node cancels the hedging hang in the case where the ring network and the second ring network are hanged to death is described.
  • the method includes:
  • the second node is a node that is connected to the first ring network on the second ring network, and may be any node on the second ring network.
  • the first state is a state in which there is a possibility of occurrence of a hedge hang, the second node can detect the state in which it is currently located, and starts to perform the hang-hanging release when it is determined to be in the first state.
  • the process of detecting the state by the second node may include the following two possible implementation manners:
  • the second node when the second node detects that the sum of the second egress available resource and the second bridging available resource is less than a fifth preset threshold, determining that the second node is in the first state.
  • the second egress available resource is an available resource in the second egress queue
  • the second bridging available resource is an available resource in the second bridging buffer.
  • the second node detects that the sum of the second egress available resource and the second bridging available resource is less than a fifth preset threshold, and the sum of the second ingress available resource and the first bridging available resource When the value is less than the sixth preset threshold, it is determined that the second node is in the first state.
  • the second egress available resource is an available resource in the second egress queue
  • the second bridging available resource is an available resource in the second bridging buffer
  • the second ingress available resource is an available resource in the second ingress queue
  • first The bridged available resources are available resources in the first bridge buffer.
  • step 501 may be performed by the second detection module 2211 of the second node, and the second detection module 2211 triggers the second check-hung signal to the first level.
  • the second release module 2212 jumps from the normal mode to the start blocking mode.
  • the second node sets the second egress blocking signal to a first level and sets the second ingress blocking signal to a first level in the beginning blocking mode, and removes the second ingress node from the second ring network.
  • Other nodes than the two nodes broadcast a second level of blocking signal of the first level.
  • the data entering the second egress queue may be blocked, that is, the data to be sent to the first slot on the second slot is prevented from entering the second egress queue.
  • the second ingress blocking signal When the second ingress blocking signal is at the first level and broadcasts to other nodes on the second ring network except the second node, the data in the ingress queue in the other nodes can be prevented from entering the slot in which the other nodes are connected.
  • the second egress blocking signal is different from the second ingress blocking signal in that the second egress blocking signal acts on the egress queue to prevent data from entering the corresponding egress queue, and the second ingress blocking signal acts on the ingress queue to block The data in the ingress queue enters the slot in which the ingress queue is docked; and the second egress blocking signal acts on the second node that initiates the second egress blocking signal, and the second ingress blocking signal acts on the second ring network except The second entry blocks other nodes than the second node of the signal and does not act on the second node.
  • the mode begins to jump to the suspension release mode.
  • the second node sets the second entry blocking effective signal to a first level, and jumps from the start blocking mode to the dead release mode.
  • the second node sets the second egress blocking signal to a second level in the suspend release mode, and keeps the second ingress blocking signal at a first level.
  • the second egress blocking signal Setting the second egress blocking signal to a second level, thereby opening the second egress queue, so that the data to be sent to the first slot on the second slot enters the reserved resource in the second egress queue for sending to the first Slot. Then, the available resources are vacated on the second slot, and the data to be sent to the second slot in the second ingress queue may enter the second slot, and the data in the first bridging buffer may enter the second ingress queue, the first exit.
  • the data in the queue can enter the first bridge buffer, and the data to be sent to the second slot on the first slot can enter the first egress queue, that is, the data on the first slot is sent to the second slot.
  • the available resources may also be vacated on the first slot, so that the data on the second slot can be sent to the first slot.
  • the data on the first ring network and the second ring network can be sent to the target node on the corresponding ring network, and then sent to the module in which the target node is docked, thereby implementing different modules. Data communication.
  • steps 502-504 may be performed by the second release module 2122 of the second node.
  • step 501 when the second node detects that the sum of the second egress available resource and the second bridging available resource is greater than a seventh preset threshold, determining that the second node is in the second state.
  • step 501 when the second node detects that the sum of the second egress available resource and the second bridging available resource is greater than a seventh preset threshold, and the second ingress available resource is connected to the first bridging When the sum of the available resources is greater than the eighth preset threshold, it is determined that the second node is in the second state.
  • step 505 can be performed by the second detection module 2211 in the second node.
  • Steps 501-505 in this embodiment are similar to the specific processes in steps 401-405 in the embodiment shown in FIG. 4, and details are not described herein again.
  • the foregoing embodiment shown in FIG. 4 and the embodiment shown in FIG. 5 respectively describe the process of canceling the suspension of the first node and the second node, and in practical applications, when the first ring network and the second ring are used.
  • the first node and the second node can perform the above-mentioned hedge hang-up process. Due to the limitation of physical implementation, the first node and the second node cannot acquire the internal state information of the other party, and the modules in the two work independently of each other, but the first node and the second node use the same mechanism to detect the hang-hanging.
  • the first exit blocking signal is set to the second level, thereby opening the first exit queue, so that the first slot is to be sent to the second
  • the data of the Slot can enter the reserved resources in the first egress queue, and then the available resources are vacated on the first slot.
  • the second exit blocking signal is set to the second level, thereby opening the second exit queue, so that the second slot is to be sent to the second
  • the data of one slot enters the reserved resource in the second egress queue, and then the available resources are vacated on the second slot.
  • the data to be sent to the first slot in the first ingress queue may enter the first slot, and the data in the second bridge buffer may enter the first entry.
  • the data in the second egress queue can enter the second bridging buffer, and the data to be sent to the first slot on the second slot can enter the second egress queue, that is, the data on the second slot is sent to the second slot.
  • the first slot In the direction in which the first ring network transmits data to the second ring network, the data to be sent to the first slot in the first ingress queue may enter the first slot, and the data in the second bridge buffer may enter the first entry.
  • the data in the second egress queue can enter the second bridging buffer, and the data to be sent to the first slot on the second slot can enter the second egress queue, that is, the data on the second slot is sent to the second slot.
  • the first slot In the direction in which the first ring network transmits data to the second ring network, the data to be sent to the first slot in the first ingress queue may
  • the data to be sent to the second slot in the second ingress queue may enter the second slot, and the data in the first bridge buffer may enter the second entry.
  • the data in the first egress queue can enter the first bridging buffer, and the data to be sent to the second slot on the first slot can enter the first egress queue, that is, the data on the first slot is sent to the first slot.
  • the node includes: a receiver 601, a transmitter 602, a memory 603, and a processor 604.
  • the receiver 601, the transmitter 602, and the The memory 603 is respectively connected to the processor 604.
  • the memory 603 stores program code
  • the processor 604 is configured to call the program code to perform an operation performed by the first node or an operation performed by the second node.
  • the ring network in the embodiment of the present invention may be an unbuffered ring network BLR.
  • a person skilled in the art may understand that all or part of the steps of implementing the above embodiments may be completed by hardware, or may be instructed by a program to execute related hardware, and the program may be stored in a computer readable storage medium.
  • the storage medium mentioned may be a read only memory, a magnetic disk or an optical disk or the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开提供了一种片上网络及对冲挂死解除方法,属于通信技术领域。片上网络中,第一环状网络上的第一节点与第二环状网络上的第二节点通过桥接器对接;第一节点包括第一检测模块和第一解除模块;当第一检测模块检测到第一节点处于第一状态时,将第一对冲挂死信号置为第一电平,触发第一解除模块跳转到开始阻塞模式;第一解除模块将第一出口阻塞信号和第一入口阻塞信号置为第一电平,向第一环状网络上的其他节点广播第一电平的第一入口阻塞信号;当广播的时长达到预设时长时,跳转到挂死解除模式,将第一出口阻塞信号置为第二电平。本公开能及时检测到对冲挂死的状态并进行对冲挂死解除操作,且逻辑复杂度很低,消耗资源很少,易于实现。

Description

片上网络及对冲挂死解除方法
本申请要求于2017年3月23日提交中国专利局、申请号为201710179768.3、申请名称为“片上网络及对冲挂死解除方法”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本公开涉及通信技术领域,特别涉及一种片上网络及对冲挂死解除方法。
背景技术
随着半导体工艺技术步入纳米阶段,晶体管的尺寸不断收缩,在单个芯片上可以集成大量模块,此时可以采用片上网络(Network on Chip,NoC)连接多个模块,通过片上网络在多个模块之间进行数据通信。而随着芯片规模的扩大以及模块数量的不断增多,采用多个非缓冲环状网络(Buffer less Ring Network,BLR)来实现NoC已成为普遍的方案。
一个环状网络包括多个槽(Slot),由多个Slot连接形成一个环状网络,每个Slot可以对接节点,通过节点对接模块。当片上网络包括多个环状网络时,不同环状网络上的节点之间可以通过桥接器连接,从而实现这两个环状网络之间的数据通信,进而实现其所对接的模块之间的数据通信。
参见图1,以第一环状网络和第二环状网络为例,第一环状网络上的第一Slot对接第一节点,第二环状网络上的第二Slot对接第二节点,第一节点与第二节点通过桥接器对接。第一节点中包括第一出口队列和第一入口队列,第二节点中包括第二出口队列和第二入口队列,桥接器中包括第一桥接缓冲区和第二桥接缓冲区。其中,第一桥接缓冲区分别与第一出口队列和第二入口队列对接,第二桥接缓冲区分别与第二出口队列和第一入口队列对接。
当第一环状网络要向第二环状网络发送数据时,数据会发送至第一Slot,进而会发送至第一节点中的第一出口队列,再经过第一桥接缓冲区发送至第二入口队列,从而发送至第二Slot。而第二环状网络要向第一环状网络发送数据时,数据会发送至第二Slot,进而会发送至第二节点中的第二出口队列,再经过第二桥接缓冲区发送至第一入口队列,从而发送至第一Slot。
在实现本公开的过程中,发明人发现相关技术至少存在以下缺陷:在第一环状网络上的数据都要发送至第二环状网络,且第二环状网络上的数据都要发送至第一环状网络的情况下,当第一环状网络和第二环状网络上的Slot、入口队列和出口队列以及桥接器中的桥接缓冲区都充满了数据时,会导致这两个环状网络上的数据都无法发送,此时就形成了对冲挂死,导致这两个环状网络无法进行数据通信。
发明内容
为了解决相关技术的问题,本公开实施例提供了一种片上网络及对冲挂死解除方法。 所述技术方案如下:
第一方面,提供了一种片上网络方法,所述片上网络包括第一环状网络和第二环状网络,所述第一环状网络上的第一槽Slot与第一节点对接,所述第二环状网络上的第二Slot与第二节点对接,所述第一节点和所述第二节点通过桥接器对接;
所述第一节点中包括第一出口队列和第一入口队列,所述第二节点中包括第二出口队列和第二入口队列,所述桥接器中包括第一桥接缓冲区和第二桥接缓冲区,所述第一桥接缓冲区分别与所述第一出口队列和所述第二入口队列对接,所述第二桥接缓冲区分别与所述第二出口队列和所述第一入口队列对接;
所述第一节点包括第一检测模块和第一解除模块;
所述第一检测模块,用于当检测到所述第一节点处于第一状态时,将第一对冲挂死信号置为第一电平,触发所述第一解除模块由正常模式跳转到开始阻塞模式,所述第一状态为具有发生对冲挂死的可能性的状态;
所述第一解除模块,用于在所述开始阻塞模式下,将第一出口阻塞信号置为第一电平,以阻止所述第一Slot上待发送至所述第二Slot的数据进入所述第一出口队列;以及,将第一入口阻塞信号置为第一电平,向所述第一环状网络上的节点中除所述第一节点以外的其他节点广播所述第一电平的所述第一入口阻塞信号,以阻止所述其他节点中的入口队列中的数据进入其他节点对接的Slot;
所述第一解除模块,还用于当广播所述第一电平的所述第一入口阻塞信号的时长达到预设时长时,由所述开始阻塞模式跳转到挂死解除模式,在所述挂死解除模式下,将所述第一出口阻塞信号置为第二电平,并保持所述第一入口阻塞信号为第一电平,以使所述第一Slot上待发送至所述第二Slot的数据进入所述第一出口队列中的预留资源,所述第一入口队列中待发送至所述第一Slot的数据进入所述第一Slot,所述第二桥接缓冲区中的数据进入所述第一入口队列,所述第二出口队列中的数据进入所述第二桥接缓冲区,所述第二Slot上待发送至所述第一Slot上的数据进入所述第二出口队列。
其中,该第一出口队列中包括预留资源,在正常模式下该第一出口队列不会应用该预留资源缓存数据,只有在挂死解除模式下,要进行对冲挂死解除时,才允许第一Slot上待发送至所述第二Slot的数据进入第一出口队列中的预留资源。
关于检测第一节点是否处于第一状态的方式,可以包括以下两种:
第一种、所述第一检测模块,还用于当检测到第一出口可用资源与第一桥接可用资源的和值小于第一预设阈值时,确定所述第一节点处于所述第一状态;其中,所述第一出口可用资源为所述第一出口队列中的可用资源,所述第一桥接可用资源为所述第一桥接缓冲区中的可用资源。
相应地,当检测到第一出口可用资源与第一桥接可用资源的和值不小于该第一预设阈值时,将第一对冲挂死信号置为第二电平,这样可以保证当再次出现第一出口可用资源与第一桥接可用资源的和值小于第一预设阈值的情况下,可以将第一对冲挂死信号由第二电平置为第一电平。
第二种、所述第一检测模块,还用于当检测到第一出口可用资源与第一桥接可用资源的和值小于第一预设阈值,且第一入口可用资源与第二桥接可用资源的和值小于第二预设阈值时,确定所述第一节点处于所述第一状态;其中,所述第一出口可用资源为所述第一 出口队列中的可用资源,所述第一桥接可用资源为所述第一桥接缓冲区中的可用资源,所述第一入口可用资源为所述第一入口队列中的可用资源,所述第二桥接可用资源为所述第二桥接缓冲区中的可用资源。
相应地,当检测到第一出口可用资源与第一桥接可用资源的和值不小于第一预设阈值,或者第一入口可用资源与第二桥接可用资源的和值不小于第二预设阈值时,将第一对冲挂死信号置为第二电平,这样可以保证当再次出现第一出口可用资源与第一桥接可用资源的和值小于第一预设阈值且第一入口可用资源与第二桥接可用资源的和值小于第二预设阈值的情况下,可以将第一对冲挂死信号由第二电平置为第一电平。
在挂死解除模式下,随着第二Slot上的数据通过第二出口队列、第二桥接缓冲区和第一入口队列,发送给第一Slot,第一Slot与第二Slot之间的对冲挂死可以解除,此时,所述第一检测模块,还用于当检测到所述第一节点处于第二状态时,将第一挂死解除信号置为第一电平,触发所述第一解除模块由所述挂死解除模式跳转到所述正常模式,所述第二状态为已解除对冲挂死的状态。
关于检测第一节点是否处于第二状态的方式,可以包括以下两种:
第一种、所述第一检测模块,还用于当检测到第一出口可用资源与第一桥接可用资源的和值大于第三预设阈值时,确定所述第一节点处于所述第二状态;其中,所述第一出口可用资源为所述第一出口队列中的可用资源,所述第一桥接可用资源为所述第一桥接缓冲区中的可用资源。
相应地,当检测到第一出口可用资源与第一桥接可用资源的和值不大于该第三预设阈值时,将第一挂死解除信号置为第二电平,这样可以保证当再次出现第一出口可用资源与第一桥接可用资源的和值大于该第三预设阈值的情况下,可以将第一挂死解除信号由第二电平置为第一电平。
第二种、所述第一检测模块,还用于当检测到第一出口可用资源与第一桥接可用资源的和值大于第三预设阈值,且第一入口可用资源与第二桥接可用资源的和值大于第四预设阈值时,确定所述第一节点处于所述第二状态;其中,所述第一出口可用资源为所述第一出口队列中的可用资源,所述第一桥接可用资源为所述第一桥接缓冲区中的可用资源,所述第一入口可用资源为所述第一入口队列中的可用资源,所述第二桥接可用资源为所述第二桥接缓冲区中的可用资源。
相应地,当检测到第一出口可用资源与第一桥接可用资源的和值不大于第三预设阈值,或者第一入口可用资源与第二桥接可用资源的和值不大于第四预设阈值时,将第一挂死解除信号置为第二电平,这样可以保证当再次出现第一出口可用资源与第一桥接可用资源的和值大于第三预设阈值且第一入口可用资源与第二桥接可用资源的和值大于第四预设阈值的情况下,可以将第一挂死解除信号由第二电平置为第一电平。
除第一节点之外,第二节点也可以执行上述解除对冲挂死的步骤,即所述第二节点包括第二检测模块和第二解除模块;
所述第二检测模块,用于当检测到所述第二节点处于所述第一状态时,将第二对冲挂死信号置为第一电平,触发所述第二解除模块由所述正常模式跳转到所述开始阻塞模式;
所述第二解除模块,用于在所述开始阻塞模式下,将第二出口阻塞信号置为第一电平,以阻止所述第二Slot上待发送至所述第一Slot的数据进入所述第二出口队列,并将第二 入口阻塞信号置为第一电平,向所述第二环状网络对接的节点中除所述第二节点以外的其他节点广播所述第一电平的所述第二入口阻塞信号,以阻止所述其他节点中的入口队列中的数据进入相应的Slot;
所述第二解除模块,还用于当广播所述第一电平的所述第二入口阻塞信号的时长达到所述预设时长时,由所述开始阻塞模式跳转到所述挂死解除模式,在所述挂死解除模式下,将所述第二出口阻塞信号置为第二电平,并保持所述第二入口阻塞信号为第一电平,以使所述第二Slot上待发送至所述第一Slot的数据进入所述第二出口队列中的预留资源,所述第二入口队列中待发送至所述第二Slot的数据进入所述第二Slot,所述第一桥接缓冲区中的数据进入所述第二入口队列,所述第一出口队列中的数据进入所述第一桥接缓冲区,所述第一Slot上待发送至所述第二Slot上的数据进入所述第一出口队列。
关于检测第二节点是否处于第一状态的方式,可以包括以下两种:
第一种、所述第二检测模块,还用于当检测到第二出口可用资源与第二桥接可用资源的和值小于第五预设阈值时,确定所述第二节点处于所述第一状态;其中,所述第二出口可用资源为所述第二出口队列中的可用资源,所述第二桥接可用资源为所述第二桥接缓冲区中的可用资源。
第二种、所述第二检测模块,还用于当检测到第二出口可用资源与第二桥接可用资源的和值小于第五预设阈值,且第二入口可用资源与第一桥接可用资源的和值小于第六预设阈值时,确定所述第二节点处于所述第一状态;其中,所述第二出口可用资源为所述第二出口队列中的可用资源,所述第二桥接可用资源为所述第二桥接缓冲区中的可用资源,所述第二入口可用资源为所述第二入口队列中的可用资源,所述第一桥接可用资源为所述第一桥接缓冲区中的可用资源。
在挂死解除模式下,随着第二Slot上的数据通过第二出口队列、第二桥接缓冲区和第一入口队列,发送给第一Slot,并且,第一Slot上的数据通过第一出口队列、第一桥接缓冲区和第二入口队列,发送给第二Slot,第一Slot与第二Slot之间的对冲挂死可以解除,此时,所述第二检测模块,还用于当检测到所述第二节点处于第二状态时,将第二挂死解除信号置为第一电平,触发所述第二解除模块由所述挂死解除模式跳转到所述正常模式。
关于检测第二节点是否处于第二状态的方式,可以包括以下两种:
第一种、所述第二检测模块,还用于当检测到第二出口可用资源与第二桥接可用资源的和值大于第七预设阈值时,确定所述第二节点处于所述第二状态;其中,所述第二出口可用资源为所述第二出口队列中的可用资源,所述第二桥接可用资源为所述第二桥接缓冲区中的可用资源。
第二种、所述第二检测模块,还用于当检测到第二出口可用资源与第二桥接可用资源的和值大于第七预设阈值,且第二入口可用资源与第一桥接可用资源的和值大于第八预设阈值时,确定所述第二节点处于所述第二状态;其中,所述第二出口可用资源为所述第二出口队列中的可用资源,所述第二桥接可用资源为所述第二桥接缓冲区中的可用资源,所述第二入口可用资源为所述第二入口队列中的可用资源,所述第一桥接可用资源为所述第一桥接缓冲区中的可用资源。
第二方面,提供了一种对冲挂死解除方法,应用于片上网络,所述片上网络包括第一 环状网络和第二环状网络,所述第一环状网络上的第一槽Slot与第一节点对接,所述第二环状网络上的第二Slot与第二节点对接,所述第一节点和所述第二节点通过桥接器对接;
所述第一节点中包括第一出口队列和第一入口队列,所述第二节点中包括第二出口队列和第二入口队列,所述桥接器中包括第一桥接缓冲区和第二桥接缓冲区,所述第一桥接缓冲区分别与所述第一出口队列和所述第二入口队列对接,所述第二桥接缓冲区分别与所述第二出口队列和所述第一入口队列对接;
所述方法包括:
当所述第一节点检测到处于第一状态时,将第一对冲挂死信号置为第一电平,由正常模式跳转到开始阻塞模式,所述第一状态为具有发生对冲挂死的可能性的状态;
所述第一节点在所述开始阻塞模式下,将第一出口阻塞信号置为第一电平,以阻止所述第一Slot上待发送至所述第二Slot的数据进入所述第一出口队列;以及,将第一入口阻塞信号置为第一电平,向所述第一环状网络上的节点中除所述第一节点以外的其他节点广播所述第一电平的所述第一入口阻塞信号,以阻止所述其他节点中的入口队列中的数据进入所述其他节点对接的Slot;
当所述第一节点广播所述第一电平的所述第一入口阻塞信号的时长达到预设时长时,由所述开始阻塞模式跳转到挂死解除模式,在所述挂死解除模式下,将所述第一出口阻塞信号置为第二电平,并保持所述第一入口阻塞信号为第一电平,以使所述第一Slot上待发送至所述第二Slot的数据进入所述第一出口队列中的预留资源,所述第一入口队列中待发送至所述第一Slot的数据进入所述第一Slot,所述第二桥接缓冲区中的数据进入所述第一入口队列,所述第二出口队列中的数据进入所述第二桥接缓冲区,所述第二Slot上待发送至所述第一Slot上的数据进入所述第二出口队列。
关于检测第一节点是否处于第一状态的方式,可以包括以下两种:
第一种、当所述第一节点检测到第一出口可用资源与第一桥接可用资源的和值小于第一预设阈值时,确定所述第一节点处于所述第一状态;
其中,所述第一出口可用资源为所述第一出口队列中的可用资源,所述第一桥接可用资源为所述第一桥接缓冲区中的可用资源。
相应地,当检测到第一出口可用资源与第一桥接可用资源的和值不小于该第一预设阈值时,将第一对冲挂死信号置为第二电平,这样可以保证当再次出现第一出口可用资源与第一桥接可用资源的和值小于第一预设阈值的情况下,可以将第一对冲挂死信号由第二电平置为第一电平。
第二种、所述方法还包括:
当所述第一节点检测到第一出口可用资源与第一桥接可用资源的和值小于第一预设阈值,且第一入口可用资源与第二桥接可用资源的和值小于第二预设阈值时,确定所述第一节点处于所述第一状态;
其中,所述第一出口可用资源为所述第一出口队列中的可用资源,所述第一桥接可用资源为所述第一桥接缓冲区中的可用资源,所述第一入口可用资源为所述第一入口队列中的可用资源,所述第二桥接可用资源为所述第二桥接缓冲区中的可用资源。
相应地,当检测到第一出口可用资源与第一桥接可用资源的和值不小于第一预设阈值,或者第一入口可用资源与第二桥接可用资源的和值不小于第二预设阈值时,将第一对冲挂 死信号置为第二电平,这样可以保证当再次出现第一出口可用资源与第一桥接可用资源的和值小于第一预设阈值且第一入口可用资源与第二桥接可用资源的和值小于第二预设阈值的情况下,可以将第一对冲挂死信号由第二电平置为第一电平。
在挂死解除模式下,随着第二Slot上的数据通过第二出口队列、第二桥接缓冲区和第一入口队列,发送给第一Slot,第一Slot与第二Slot之间的对冲挂死可以解除,此时,当所述第一节点检测到处于第二状态时,将第一挂死解除信号置为第一电平,由所述挂死解除模式跳转到所述正常模式,所述第二状态为已解除对冲挂死的状态。
关于检测第一节点是否处于第二状态的方式,可以包括以下两种:
第一种、当所述第一节点检测到第一出口可用资源与第一桥接可用资源的和值大于第三预设阈值时,确定所述第一节点处于所述第二状态;
其中,所述第一出口可用资源为所述第一出口队列中的可用资源,所述第一桥接可用资源为所述第一桥接缓冲区中的可用资源。
相应地,当检测到第一出口可用资源与第一桥接可用资源的和值不大于该第三预设阈值时,将第一挂死解除信号置为第二电平,这样可以保证当再次出现第一出口可用资源与第一桥接可用资源的和值大于该第三预设阈值的情况下,可以将第一挂死解除信号由第二电平置为第一电平。
第二种、所述方法还包括:
当所述第一节点检测到第一出口可用资源与第一桥接可用资源的和值大于第三预设阈值,且第一入口可用资源与第二桥接可用资源的和值大于第四预设阈值时,确定所述第一节点处于所述第二状态;
其中,所述第一出口可用资源为所述第一出口队列中的可用资源,所述第一桥接可用资源为所述第一桥接缓冲区中的可用资源,所述第一入口可用资源为所述第一入口队列中的可用资源,所述第二桥接可用资源为所述第二桥接缓冲区中的可用资源。
相应地,当检测到第一出口可用资源与第一桥接可用资源的和值不大于第三预设阈值,或者第一入口可用资源与第二桥接可用资源的和值不大于第四预设阈值时,将第一挂死解除信号置为第二电平,这样可以保证当再次出现第一出口可用资源与第一桥接可用资源的和值大于第三预设阈值且第一入口可用资源与第二桥接可用资源的和值大于第四预设阈值的情况下,可以将第一挂死解除信号由第二电平置为第一电平。
除第一节点之外,第二节点也可以执行上述解除对冲挂死的步骤,即所述方法还包括:
当所述第二节点检测到处于所述第一状态时,将第二对冲挂死信号置为第一电平,由所述正常模式跳转到所述开始阻塞模式;
所述第二节点在所述开始阻塞模式下,将第二出口阻塞信号置为第一电平,以阻止所述第二Slot上待发送至所述第一Slot的数据进入所述第二出口队列,并将第二入口阻塞信号置为第一电平,向所述第二环状网络对接的节点中除所述第二节点以外的其他节点广播所述第一电平的所述第二入口阻塞信号,以阻止所述其他节点中的入口队列中的数据进入所述其他节点对接的Slot;
当所述第二节点广播所述第一电平的所述第二入口阻塞信号的时长达到所述预设时长时,由所述开始阻塞模式跳转到所述挂死解除模式,在所述挂死解除模式下,将所述第二出口阻塞信号置为第二电平,并保持所述第二入口阻塞信号为第一电平,以使所述第二Slot上 待发送至所述第一Slot的数据进入所述第二出口队列中的预留资源,所述第二入口队列中待发送至所述第二Slot的数据进入所述第二Slot,所述第一桥接缓冲区中的数据进入所述第二入口队列,所述第一出口队列中的数据进入所述第一桥接缓冲区,所述第一Slot上待发送至所述第二Slot上的数据进入所述第一出口队列。
关于检测第二节点是否处于第一状态的方式,可以包括以下两种:
第一种、当所述第二节点检测到第二出口可用资源与第二桥接可用资源的和值小于第五预设阈值时,确定所述第二节点处于所述第一状态;其中,所述第二出口可用资源为所述第二出口队列中的可用资源,所述第二桥接可用资源为所述第二桥接缓冲区中的可用资源。
第二种、在第二方面的第八种可能实现方式中,所述方法还包括:
当所述第二节点检测到第二出口可用资源与第二桥接可用资源的和值小于第五预设阈值,且第二入口可用资源与第一桥接可用资源的和值小于第六预设阈值时,确定所述第二节点处于所述第一状态;其中,所述第二出口可用资源为所述第二出口队列中的可用资源,所述第二桥接可用资源为所述第二桥接缓冲区中的可用资源,所述第二入口可用资源为所述第二入口队列中的可用资源,所述第一桥接可用资源为所述第一桥接缓冲区中的可用资源。
在挂死解除模式下,随着第二Slot上的数据通过第二出口队列、第二桥接缓冲区和第一入口队列,发送给第一Slot,并且,第一Slot上的数据通过第一出口队列、第一桥接缓冲区和第二入口队列,发送给第二Slot,第一Slot与第二Slot之间的对冲挂死可以解除,此时,所述方法还包括:
当所述第二节点检测到处于第二状态时,将第二挂死解除信号置为第一电平,由所述挂死解除模式跳转到所述正常模式。
关于检测第二节点是否处于第二状态的方式,可以包括以下两种:
第一种、当所述第二节点检测到第二出口可用资源与第二桥接可用资源的和值大于第七预设阈值时,确定所述第二节点处于所述第二状态;其中,所述第二出口可用资源为所述第二出口队列中的可用资源,所述第二桥接可用资源为所述第二桥接缓冲区中的可用资源。
第二种、所述方法还包括:
当所述第二节点检测到第二出口可用资源与第二桥接可用资源的和值大于第七预设阈值,且第二入口可用资源与第一桥接可用资源的和值大于第八预设阈值时,确定所述第二节点处于所述第二状态;其中,所述第二出口可用资源为所述第二出口队列中的可用资源,所述第二桥接可用资源为所述第二桥接缓冲区中的可用资源,所述第二入口可用资源为所述第二入口队列中的可用资源,所述第一桥接可用资源为所述第一桥接缓冲区中的可用资源。
本公开实施例提供的技术方案带来的有益效果是:
通过预先在出口队列预留资源,在第一节点和第二节点上均配置检测模块和解除模块,通过检测模块和解除模块,可以在第一环状网络和第二环状网络之间发生对冲挂死时及时检测到对冲挂死的状态并通过将出口队列以及同一环状网络上其他节点的入口队列阻塞后 再打开该出口队列的方式,以使出口队列对接的Slot上的数据进入出口队列中的预留资源,触发数据的流动,从而实现对冲挂死解除,保证了第一环状网络和第二环状网络之间能够正常进行数据通信,且进行对冲挂死解除的方式逻辑复杂度很低,消耗资源很少,易于实现。
附图说明
图1是相关技术提供的一种片上网络的结构示意图;
图2是本公开实施例提供的一种片上网络的结构示意图;
图3是本公开实施例提供的一种片上网络的实施环境示意图;
图4是本公开实施例提供的一种对冲挂死解除方法的流程图;
图5是本公开实施例提供的一种对冲挂死解除方法的流程图;
图6是本发明实施例提供的一种节点的结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。
首先,对本公开实施例涉及的一些概念进行如下解释说明:
1、片上网络:包括一个或多个环状网络的网络,其中,每个环状网络包括多个Slot,一个Slot可以对接一个或多个节点,一个节点可以对接一个模块。
不同环状网络上的节点之间可以通过桥接器对接,则不同模块之间可以通过片上网络中的一个环状网络或多个环状网络进行数据通信。通过灵活地选择Slot和节点的数量可以形成不同的片上网络,满足不同的数据通信需求。
其中,位于不同环状网络上的两个节点之间只能对接一个桥接器,而由于每个环状网络上可以对接多个节点,因此不同环状网络之间可以对接一个或多个桥接器。以第一环状网络与第二环状网络为例,第一环状网络上的任一节点可以与第二环状网络上的任一节点对接一个桥接器。且,第一环状网络上的多个节点可以分别与第二环状网络上对应的多个节点对接一个桥接器,那么第一环状网络与第二环状网络之间即可对接多个桥接器。
Slot是环状网络上数据的存储媒介,用于存储数据。不同Slot之间可以传输数据,则数据会沿着顺时针方向或者逆时针方向(取决于环状网络的数据传输方向)在环状网络上的各个Slot中无阻塞地进行移动。当数据移动到目标节点对接的Slot时,会从当前的Slot注入到目标节点中,而不会再向下一个Slot移动。
节点提供了一套出入控制逻辑,会将Slot注入的数据存储于出口队列中,再通过出口队列发送给对接的桥接器或者模块,也可以将对接的桥接器或者模块发来的数据存储于入口队列中,通过入口队列发送给对接的Slot,从而使数据能在各个Slot之间进行移动。
举例来说,数据离开环状网络的过程可以包括:
(1)、如果数据到达第一Slot且目的地是第一节点通过桥接器对接的第二环状网络,则会从第一Slot进入第一节点的第一出口队列,通过第一出口队列到达第一桥接缓冲区后,进入第二节点的第二入口队列,进而进入第二Slot。
(2)、如果数据到达第三Slot(第一环状网络中除第一Slot以外的一个Slot)且目 的地是第三Slot对接的第三节点所对接的模块,则数据会从第三Slot进入第三节点的出口队列,再进入第三节点对接的模块。
数据进入环状网络的过程可以包括:如果第一Slot是空的(无有效数据),且第一环状网络中没有数据要移动到第一Slot,则第一节点中第一入口队列的数据可以进入第一Slot,进而在第一环状网络上各个Slot间移动。
2、出口队列:位于节点中,用于缓存待发送至其他节点的数据的队列;
出口队列中的数据具有两种去向:
(1)、通过节点的出口队列,进入到节点对接的模块中,完成数据传输;
(2)、通过节点的出口队列,进入到节点对接的桥接器中,通过桥接器进入到另一环状网络中。
入口队列:位于节点中,用于缓存其他节点所发送数据的队列;
入口队列中的数据具有两种来源:
(1)、来自于节点对接的模块;
(2)、来自于节点对接的桥接器,实际上来自于节点通过桥接器连接的另一环状网络。
本公开为了便于区分,将第一节点的出口队列称为第一出口队列,将第一节点的入口队列称为第一入口队列,将第二节点的出口队列称为第二出口队列,将第二节点的入口队列称为第二入口队列。
3、桥接缓冲区:位于两个节点之间的桥接器中,与其中一个节点的出口队列对接,与另一个节点的入口队列对接,缓存其中一个节点的出口队列发送的数据,之后将该数据发送至另一个节点的入口队列中,实现不同节点之间的数据通信;
本公开为了便于区分,将与第一出口队列和第二入口队列对接的桥接缓冲区称为第一桥接缓冲区,将与第一入口队列和第二出口队列对接的桥接缓冲区称为第二桥接缓冲区。
4、第一出口可用资源:第一出口队列中的可用资源;
第一桥接可用资源:第一桥接缓冲区中的可用资源;
第一入口可用资源:第一入口队列中的可用资源;
第二桥接可用资源:第二桥接缓冲区中的可用资源;
第二出口可用资源:第二出口队列中的可用资源;
第二入口可用资源:第二入口队列中的可用资源;
5、第一状态:具有发生对冲挂死的可能性的状态;
通常环状网络上的节点剩余的可用资源较少时,表示其可能发生了对冲挂死,因此,根据节点的出口队列、入口队列、对接的桥接缓冲区中的可用资源,可以检测该节点是否可能发生对冲挂死,即是否处于第一状态。
以第一节点为例,可以在第一出口可用资源与第一桥接可用资源的和值小于第一预设阈值时,确定该第一节点处于第一状态。或者,也可以在第一出口可用资源与第一桥接可用资源的和值小于第一预设阈值,且第一入口可用资源与第二桥接可用资源的和值小于第二预设阈值时,确定第一节点处于第一状态。
第二状态:已解除对冲挂死的状态;
通常环状网络上的节点剩余的可用资源足够时,表示其可能已经解除了对冲挂死,因此,根据节点的出口队列、入口队列、对接的桥接缓冲区中的可用资源,可以检测该节点 是否已经解除了对冲挂死,即是否处于第二状态。
以第一节点为例,可以在第一出口可用资源与第一桥接可用资源的和值大于第三预设阈值时,确定该第一节点处于第一状态。或者,也可以在第一出口可用资源与第一桥接可用资源的和值大于第三预设阈值,且第一入口可用资源与第二桥接可用资源的和值大于第四预设阈值时,确定第一节点处于第一状态。
其中,第三预设阈值大于第一预设阈值,第四预设阈值大于第二预设阈值。
6、出口阻塞信号:第一电平时可以阻止数据进入节点的出口队列的信号,第二电平时数据可以进入节点的出口队列;
入口阻塞信号:第一电平时可以阻止其他节点的入口队列中的数据进入其他节点对接的Slot的信号,第二电平时,其他节点的入口队列中的数据可以进入其他节点对接的Slot;
入口阻塞生效信号:第一电平时表示第一电平的入口阻塞信号已广播到同一环状网络上的其他节点,其他节点上的入口队列已经阻塞成功,触发节点由开始阻塞模式跳转到挂死解除模式;
对冲挂死信号:第一电平时表示可能发生了对冲挂死,解除模块会由正常模式跳转到开始阻塞模式,并在开始阻塞模式下将第一出口阻塞信号置为第一电平,将第一入口阻塞信号置为第一电平。
挂死解除信号:第一电平时表示对冲挂死已经解除,解除模块会由挂死解除模式跳转到正常模式。
7、节点可以包括三种模式:正常模式、开始阻塞模式和挂死解除模式;
其中,不同模式之间的跳转规则如下:
对冲挂死信号置为第一电平时,由正常模式跳转到开始阻塞模式;
入口阻塞生效信号置为第一电平,由开始阻塞模式跳转到挂死解除模式;
挂死解除信号置为第一电平时,由挂死解除模式跳转到正常模式;
其中,以第一节点为例,第一节点在各个模式下的操作流程如下:
在正常模式下,第一节点正常工作;实际上,此时第一环状网络和第二环状网络上的各个节点正常工作,可以进行数据通信,保证系统运行在最大带宽和最小延迟状态下;
在开始阻塞模式下,表示第一环状网络和第二环状网络可能发生了对冲挂死,则将第一出口阻塞信号置为第一电平,以阻止数据进入该第一节点的出口队列;以及,将第一入口阻塞信号置为第一电平,以阻止第一环状网络上除第一节点以外的其他节点的入口队列中的数据进入其他节点对接的Slot,也即是阻止其他节点的入口队列中的数据进入第一环状网络;
在挂死解除模式下,将第一出口阻塞信号置为第二电平,并保持广播到第一环状网络上的其他节点的第一入口阻塞信号为第一电平,则可以将第一节点的出口队列中的数据发送至桥接缓冲区的预留资源中,进而解除第一环状网络和第二环状网络之间的对冲挂死。
图2是本公开实施例提供的一种片上网络的结构示意图,参见图2,该片上网络包括第一环状网络和第二环状网络,第一环状网络上的第一Slot210与第一节点211对接,第二环状网络上的第二Slot220与第二节点221对接,第一节点211和第二节点221通过桥接器200对接。其中,第一环状网络和第二环状网络可以为非缓冲环状网络(Buffer less Ring  Network,BLR)或者其他类型的环状网络。
第一节点211中包括第一出口队列和第一入口队列,第二节点221中包括第二出口队列和第二入口队列,桥接器200中包括第一桥接缓冲区和第二桥接缓冲区,第一桥接缓冲区分别与第一出口队列和第二入口队列对接,第二桥接缓冲区分别与第二出口队列和第一入口队列对接。
那么,当第一环状网络要向第二环状网络发送数据时,数据会从第一环状网络上除第一Slot以外的其他Slot发送至第一Slot,进而会发送至第一出口队列,再经过第一桥接缓冲区发送至第二入口队列,从而发送至第二Slot。而第二环状网络要向第一环状网络发送数据时,数据会从第二环状网络上除第二Slot以外的其他Slot发送至第二Slot,进而会发送至第二出口队列,再经过第二桥接缓冲区发送至第一入口队列,从而发送至第一Slot。
第一节点211包括第一检测模块2111和第一解除模块2112,其中第一检测模块2111用于检测第一节点所处的状态,第一解除模块2112用于预先在第一出口队列预留资源,在第一环状网络与第二环状网络发生对冲挂死时通过将第一出口队列以及其他节点的入口队列阻塞后再打开第一出口队列的方式,以使第一Slot上的数据进入第一出口队列中的预留资源,从而触发数据流动,解决该对冲挂死,保证第一环状网络能够向第二环状网络发送数据。
具体地,第一检测模块2111用于当检测到第一节点处于第一状态时,将第一对冲挂死信号置为第一电平,触发第一解除模块2112由正常模式跳转到开始阻塞模式,第一状态为具有发生对冲挂死的可能性的状态。
第一解除模块2112用于在开始阻塞模式下,将第一出口阻塞信号置为第一电平,并将第一入口阻塞信号置为第一电平,以阻止第一Slot上待发送至第二Slot的数据进入第一出口队列;以及,将第一入口阻塞信号置为第一电平,向第一环状网络上的节点中除第一节点以外的其他节点广播第一电平的第一入口阻塞信号,以阻止其他节点中的入口队列中的数据进入其他节点对接的Slot。
之后,第一解除模块2112还用于当广播第一电平的第一入口阻塞信号的时长达到预设时长时,由开始阻塞模式跳转到挂死解除模式,在挂死解除模式下,将第一出口阻塞信号置为第二电平,并保持第一入口阻塞信号为第一电平,继续向其他节点广播该第一电平的第一入口阻塞信号,以使第一Slot上待发送至第二Slot的数据进入第一出口队列中的预留资源,第一入口队列中待发送至第一Slot的数据进入第一Slot,第二桥接缓冲区中的数据进入第一入口队列,第二出口队列中的数据进入第二桥接缓冲区,第二Slot上待发送至第一Slot上的数据进入第二出口队列。
其中,第一解除模块2112可以将第一入口阻塞生效信号置为第一电平,以使第一解除模块2112由开始阻塞模式跳转到挂死解除模式。
需要说明的是,该片上网络中可以两个或者更多数量的环状网络,每个环状网络可以为单向的环状网络,如顺时针环状网络或者逆时针环状网络,或者还可以由两个单向的半环网络组成,该两个单向的半环网络包括一个顺时针半环网络和一个逆时针半环网络。
对于每个环状网络来说,环状网络上的数据以Slot作为存储媒介,数据沿着顺时针或者逆时针方向在环状网络上无阻塞地整体移动,直至到达目标Slot后,到达目标Slot对 接的目标节点,再到达目标节点对接的目标模块,完成数据传输。
另外,本公开实施例以第一环状网络上的第一节点和第二环状网络的第二节点为例,第一节点与第二节点之间对接桥接器,实际上,第一节点是指第一环状网络上的任一个或多个节点,第二节点是指第二环状网络上的任一个或多个节点,则针对第一环状网络和第二环状网络来说,第一环状网络与第二环状网络之间可以对接一个或者多个桥接器。例如,第一环状网络上的节点1与第二环状网络上的节点2对接一个桥接器,且第一环状网络上的节点3与第二环状网络上的节点4也对接一个桥接器。
本公开实施例提供的片上网络中,通过预先在出口队列预留资源,在第一节点和第二节点上均配置检测模块和解除模块,通过检测模块和解除模块,可以在第一环状网络和第二环状网络之间发生对冲挂死时及时检测到对冲挂死的状态并通过将出口队列以及同一环状网络上其他节点的入口队列阻塞后再打开该出口队列的方式,以使出口队列对接的Slot上的数据进入出口队列中的预留资源,触发数据的流动,从而实现对冲挂死解除,保证了第一环状网络和第二环状网络之间能够正常进行数据通信,且进行对冲挂死解除的方式逻辑复杂度很低,消耗资源很少,易于实现。
在一种可能实现方式中,第一检测模块2111,还用于当检测到第一出口可用资源与第一桥接可用资源的和值小于第一预设阈值时,确定第一节点处于第一状态;其中,第一出口可用资源为第一出口队列中的可用资源,第一桥接可用资源为第一桥接缓冲区中的可用资源。
在另一种可能实现方式中,第一检测模块2111,还用于当检测到第一出口可用资源与第一桥接可用资源的和值小于第一预设阈值,且第一入口可用资源与第二桥接可用资源的和值小于第二预设阈值时,确定第一节点处于第一状态;其中,第一出口可用资源为第一出口队列中的可用资源,第一桥接可用资源为第一桥接缓冲区中的可用资源,第一入口可用资源为第一入口队列中的可用资源,第二桥接可用资源为第二桥接缓冲区中的可用资源。
在另一种可能实现方式中,第一检测模块2111,还用于当检测到第一节点处于第二状态时,将第一挂死解除信号置为第一电平,触发第一解除模块由挂死解除模式跳转到正常模式,第二状态为已解除对冲挂死的状态。
在另一种可能实现方式中,第一检测模块2111,还用于当检测到第一出口可用资源与第一桥接可用资源的和值大于第三预设阈值时,确定第一节点处于第二状态;其中,第一出口可用资源为第一出口队列中的可用资源,第一桥接可用资源为第一桥接缓冲区中的可用资源。
在另一种可能实现方式中,第一检测模块2111,还用于当检测到第一出口可用资源与第一桥接可用资源的和值大于第三预设阈值,且第一入口可用资源与第二桥接可用资源的和值大于第四预设阈值时,确定第一节点处于第二状态;其中,第一出口可用资源为第一出口队列中的可用资源,第一桥接可用资源为第一桥接缓冲区中的可用资源,第一入口可用资源为第一入口队列中的可用资源,第二桥接可用资源为第二桥接缓冲区中的可用资源。
在另一种可能实现方式中,第二节点221包括第二检测模块2211和第二解除模块2212,其中第二检测模块2211用于检测第二节点所处的状态,第二解除模块2212用于在第一环状网络与第二环状网络发生对冲挂死时解除该对冲挂死,保证第二环状网络能够向第一环状网络发送数据。
第二检测模块2211,用于当检测到第二节点处于第一状态时,将第二对冲挂死信号置为第一电平,触发第二解除模块由正常模式跳转到开始阻塞模式;
第二解除模块2212,用于在开始阻塞模式下,将第二出口阻塞信号置为第一电平,以阻止第二Slot上待发送至第一Slot的数据进入第二出口队列;以及,将第二入口阻塞信号置为第一电平,向第二环状网络对接的节点中除第二节点以外的其他节点广播第一电平的第二入口阻塞信号,以阻止其他节点中的入口队列中的数据进入其他节点对接的Slot;
第二解除模块2212,还用于当广播第一电平的第二入口阻塞信号的时长达到预设时长时,由开始阻塞模式跳转到挂死解除模式,在挂死解除模式下,将第二出口阻塞信号置为第二电平,并保持第二入口阻塞信号为第一电平,以使第二Slot上待发送至第一Slot的数据进入第二出口队列中的预留资源,第二入口队列中待发送至第二Slot的数据进入第二Slot,第一桥接缓冲区中的数据进入第二入口队列,第一出口队列中的数据进入第一桥接缓冲区,第一Slot上待发送至第二Slot上的数据进入第一出口队列。
在另一种可能实现方式中,第二检测模块2211,还用于当检测到第二出口可用资源与第二桥接可用资源的和值小于第五预设阈值时,确定第二节点处于第一状态;其中,第二出口可用资源为第二出口队列中的可用资源,第二桥接可用资源为第二桥接缓冲区中的可用资源。
在另一种可能实现方式中,第二检测模块2211,还用于当检测到第二出口可用资源与第二桥接可用资源的和值小于第五预设阈值,且第二入口可用资源与第一桥接可用资源的和值小于第六预设阈值时,确定第二节点处于第一状态;其中,第二出口可用资源为第二出口队列中的可用资源,第二桥接可用资源为第二桥接缓冲区中的可用资源,第二入口可用资源为第二入口队列中的可用资源,第一桥接可用资源为第一桥接缓冲区中的可用资源。
在另一种可能实现方式中,第二检测模块2211,还用于当检测到第二节点处于第二状态时,将第二挂死解除信号置为第一电平,触发第二解除模块由挂死解除模式跳转到正常模式。
在另一种可能实现方式中,第二检测模块2211,还用于当检测到第二出口可用资源与第二桥接可用资源的和值大于第七预设阈值时,确定第二节点处于第二状态;其中,第二出口可用资源为第二出口队列中的可用资源,第二桥接可用资源为第二桥接缓冲区中的可用资源。
在另一种可能实现方式中,第二检测模块2211,还用于当检测到第二出口可用资源与第二桥接可用资源的和值大于第七预设阈值,且第二入口可用资源与第一桥接可用资源的和值大于第八预设阈值时,确定第二节点处于第二状态;其中,第二出口可用资源为第二出口队列中的可用资源,第二桥接可用资源为第二桥接缓冲区中的可用资源,第二入口可用资源为第二入口队列中的可用资源,第一桥接可用资源为第一桥接缓冲区中的可用资源。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的片上网络在解除对冲挂死时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将第一节点和第二节点的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的片上网络与对冲挂死解除方法实施例属于同一构 思,其具体实现过程详见下述方法实施例,这里不再赘述。
图3是本公开实施例提供的一种片上网络的实施环境示意图,该实施环境包括图2所示的片上网络以及片上网络对接的模块。参见图3,该片上网络对接的模块可以包括以下几项:中央处理器(Central Processing Unit,CPU)、双倍速率同步动态随机存储器(Double Data Rate,DDR)控制器模块、高速串行点对点双通道高带宽传输(PCI-Express,PCI-E)、网络互连模块、最后一级高速缓存(Last Level Cache,LLC)模块。通过片上网络来连接这些模块,可以在模块间低延迟地传递各种消息,实现数据通信。
图4是本公开实施例提供的一种对冲挂死解除方法的流程图,本公开实施例的执行主体为上述实施例所示的片上网络中的第一节点,且本公开实施例对第一环状网络和第二环状网络发生对冲挂死的情况下第一节点解除对冲挂死的过程进行说明。参见图4,该方法包括:
401、当第一节点检测到处于第一状态时,将第一对冲挂死信号置为第一电平,由正常模式跳转到开始阻塞模式。第一电平为高电平或者低电平。
其中,第一节点为第一环状网络上与第二环状网络对接的节点,可以为第一环状网络上的任一节点。第一状态为具有发生对冲挂死的可能性的状态,该第一节点可以检测自身当前所处的状态,当确定处于第一状态时开始进行对冲挂死解除。
具体地,该第一节点检测状态的过程可以包括以下两种可能实现方式:
在第一种可能实现方式中,当第一节点检测到第一出口可用资源与第一桥接可用资源的和值小于第一预设阈值时,确定第一节点处于第一状态。其中,第一出口可用资源为第一出口队列中的可用资源,第一桥接可用资源为第一桥接缓冲区中的可用资源。
也即是,在应用过程中第一节点监控第一出口可用资源和第一桥接可用资源,并计算两者的和值,判断该和值是否小于第一预设阈值,该第一预设阈值用于规定正常数据通信所需的第一出口可用资源与第一桥接可用资源的最小和值,一旦该第一出口可用资源与第一桥接可用资源的和值小于该第一预设阈值时,即可认为发送数据时可用的资源过少,不足以进行正常的数据通信,很可能是第一环状网络与第二环状网络之间发生了对冲挂死。此时,可以确定第一节点处于该第一状态,该第一节点将第一对冲挂死信号置为第一电平,从而由正常模式跳转到开始阻塞模式,进而在开始阻塞模式下进行对冲挂死解除。
后续过程中,该第一节点仍会判断该和值是否小于第一预设阈值,当确定该和值不再小于该第一预设阈值时,将第一对冲挂死信号置为第二电平,以便在检测到该和值小于该第一预设阈值时能再次将第一对冲挂死信号置为第一电平。其中,第一电平为高电平时第二电平为低电平,第一电平为低电平时第二电平为高电平。
在第二种可能实现方式中,当第一节点检测到第一出口可用资源与第一桥接可用资源的和值小于第一预设阈值,且第一入口可用资源与第二桥接可用资源的和值小于第二预设阈值时,确定第一节点处于第一状态。其中,第一出口可用资源为第一出口队列中的可用资源,第一桥接可用资源为第一桥接缓冲区中的可用资源,第一入口可用资源为第一入口队列中的可用资源,第二桥接可用资源为第二桥接缓冲区中的可用资源。
也即是,在应用过程中第一节点不仅监控第一出口可用资源和第一桥接可用资源,计 算第一出口可用资源与第一桥接可用资源的和值,判断该和值是否小于第一预设阈值,还会监控第一入口可用资源和第二桥接可用资源,并计算第一入口可用资源与第二桥接可用资源的和值,判断该和值是否小于第二预设阈值。
该第一预设阈值用于规定正常数据通信所需的第一出口可用资源与第一桥接可用资源的最小和值,一旦该第一出口可用资源与第一桥接可用资源的和值小于该第一预设阈值时,即可认为发送数据时可用的资源过少,不足以进行正常的数据通信,而该第二预设阈值用于规定正常数据通信所需的第一入口可用资源与第二桥接可用资源的最小和值,一旦该第一入口可用资源与第二桥接可用资源的和值小于该第二预设阈值时,即可认为接收数据时可用的资源过少,也即第二环状网络发送数据时的可用资源过少,不足以进行正常的数据通信。那么,在该第一出口可用资源与第一桥接可用资源的和值小于该第一预设阈值,且该第一入口可用资源与第二桥接可用资源的和值小于该第二预设阈值时,表示第一环状网络和第二环状网络之间进行数据通信的可用资源很少,很可能是第一环状网络与第二环状网络之间发生了对冲挂死。此时,可以确定第一节点处于该第一状态,该第一节点将第一对冲挂死信号置为第一电平,从而由正常模式跳转到开始阻塞模式,进而在开始阻塞模式下进行对冲挂死解除。
后续过程中,该第一节点仍会判断该第一出口可用资源与第一桥接可用资源的和值是否小于第一预设阈值,以及该第一入口可用资源与第二桥接可用资源的和值是否小于该第二预设阈值,当确定该第一出口可用资源与第一桥接可用资源的和值不再小于该第一预设阈值,或者确定该第一入口可用资源与第二桥接可用资源的和值不再小于该第二预设阈值时,将第一对冲挂死信号置为第二电平。
需要说明的是,结合上述片上网络的实施例,步骤401可以由第一节点中的第一检测模块2111执行,第一检测模块2111将第一对冲挂死信号置为第一电平时,触发第一解除模块2112由正常模式跳转到开始阻塞模式。
402、第一节点在开始阻塞模式下,将第一出口阻塞信号置为第一电平;以及,将第一入口阻塞信号置为第一电平,向第一环状网络上的节点中除第一节点以外的其他节点广播第一电平的第一入口阻塞信号。
跳转到开始阻塞模式后,第一节点发起第一出口阻塞信号,并将第一出口阻塞信号置为第一电平,当第一出口阻塞信号为第一电平时,可以阻止第一出口队列中进入数据,也即是阻止第一Slot上待发送至第二Slot的数据进入第一出口队列。
并且,第一节点还发起第一入口阻塞信号,将第一入口阻塞信号置为第一电平,向第一环状网络上的节点中除第一节点以外的其他节点广播第一电平的第一入口阻塞信号,当第一入口阻塞信号为第一电平,并广播到第一环状网络上除第一节点以外的其他节点时,可以阻止其他节点中的入口队列中的数据进入其他节点对接的Slot。
需要注意的是,第一出口阻塞信号与第一入口阻塞信号的区别在于:第一出口阻塞信号作用于出口队列,阻止数据进入相应的出口队列,而第一入口阻塞信号作用于入口队列,阻止入口队列中的数据进入该入口队列对接的Slot;并且,第一出口阻塞信号作用于发起该第一出口阻塞信号的第一节点,而第一入口阻塞信号作用于第一环状网络上除发起该第一入口阻塞信号的第一节点以外的其他节点,而未作用于第一节点。
403、当第一节点广播第一电平的第一入口阻塞信号的时长达到预设时长时,由开始阻 塞模式跳转到挂死解除模式。
考虑到第一节点广播第一入口阻塞信号时,该第一入口阻塞信号到达其他节点的过程需要一些时间,则当该第一节点开始广播该第一电平的第一入口阻塞信号时开始计时,当计时时长达到预设时长,即第一节点广播第一电平的第一入口阻塞信号的时长达到预设时长时,可以认为其他节点均已收到该第一入口阻塞信号,并且已经将该第一入口阻塞信号作用于相应的入口队列上,即相应的入口队列已经阻塞成功,此时第一节点由开始阻塞模式跳转到挂死解除模式。其中,该预设时长可以根据同一环状网络上不同节点间广播信号时所需的最大时长以及每个节点接收到入口阻塞信号后所需的最大生效时长确定。
在一种可能的实现方式中,该第一节点可以将第一入口阻塞生效信号置为第一电平,此时触发该第一节点由开始阻塞模式跳转到挂死解除模式。
404、第一节点在挂死解除模式下,将第一出口阻塞信号置为第二电平,并保持第一入口阻塞信号为第一电平。
第一节点由开始阻塞模式跳转到挂死解除模式时,表示第一出口队列和其他节点上的入口队列均已被阻塞,此时,为了解除对冲挂死,第一节点将第一出口阻塞信号置为第二电平,从而打开第一出口队列,以使第一Slot上待发送至第二Slot的数据能够进入第一出口队列中的预留资源,以便发送至第二Slot。
随后,第一Slot上会空出可用资源,则第一入口队列中待发送至第一Slot的数据可以进入第一Slot,第二桥接缓冲区中的数据可以进入第一入口队列,第二出口队列中的数据可以进入第二桥接缓冲区,第二Slot上待发送至第一Slot上的数据可以进入第二出口队列,也即是实现了第二Slot上的数据发送至第一Slot。之后,第二Slot上也可以空出可用资源,使得第一Slot上的数据可以发送至第二Slot。随着时间的推移,第一环状网络和第二环状网络上的数据均可发送至对应环状网络上的目标节点中,进而发送至目标节点对接的模块中,实现了不同模块之间的数据通信。
其中,该第一出口队列会设置预留资源,在正常模式下不会应用该预留资源缓存数据,而在挂死解除模式下,可以允许第一Slot上待发送至第二Slot的数据进入第一出口队列中的预留资源,从而解除第一Slot与第二Slot之间的对冲挂死。
需要说明的是,结合上述片上网络的实施例,步骤402-404可以由第一节点中的第一解除模块2112执行。
405、当第一节点检测到处于第二状态时,将第一挂死解除信号置为第一电平,由挂死解除模式跳转到正常模式。
其中,第二状态为已解除对冲挂死的状态,第二节点处于第二状态时,表示已经解除了对冲挂死,此时第一节点可以将第一挂死解除信号置为第一电平,跳转到正常模式后,继续进行数据通信。
具体地,基于上述步骤401中的第一种可能实现方式,当第一节点检测到第一出口可用资源与第一桥接可用资源的和值大于第三预设阈值时,确定第一节点处于第二状态。
也即是,在应用过程中第一节点监控第一出口可用资源和第一桥接可用资源,并计算两者的和值,判断该和值是否大于第三预设阈值,该第三预设阈值用于规定解除对冲挂死所需的第一出口可用资源与第一桥接可用资源的最小和值,一旦该第一出口可用资源与第一桥接可用资源的和值大于该第三预设阈值时,即可认为发送数据时可用的资源足够,第 一环状网络与第二环状网络之间的对冲挂死已经解除。此时,可以确定第一节点处于该第二状态,该第一节点将第一挂死解除信号置为第一电平,由挂死解除模式跳转到正常模式。
后续过程中,该第一节点仍会判断该和值是否大于第三预设阈值,当确定该和值不大于第三预设阈值时,将第一挂死解除信号置为第二电平。
基于上述步骤401中的第二种可能实现方式,当第一节点检测到第一出口可用资源与第一桥接可用资源的和值大于第三预设阈值,且第一入口可用资源与第二桥接可用资源的和值大于第四预设阈值时,确定第一节点处于第二状态。
也即是,在应用过程中第一节点不仅监控第一出口可用资源和第一桥接可用资源,计算第一出口可用资源与第一桥接可用资源的和值,判断该和值是否大于第三预设阈值,还会监控第一入口可用资源和第二桥接可用资源,并计算第一入口可用资源与第二桥接可用资源的和值,判断该和值是否大于第四预设阈值。
该第三预设阈值用于规定解除对冲挂死所需的第一出口可用资源与第一桥接可用资源的最小和值,一旦该第一出口可用资源与第一桥接可用资源的和值大于该第三预设阈值时,即可认为发送数据时可用的资源足够,而该第二预设阈值用于规定解除对冲挂死所需的第一入口可用资源与第二桥接可用资源的最小和值,一旦该第一入口可用资源与第二桥接可用资源的和值大于该第四预设阈值时,即可认为接收数据时可用的资源足够,也即第二环状网络发送数据时的可用资源足够。那么,在该第一出口可用资源与第一桥接可用资源的和值大于该第三预设阈值,且该第一入口可用资源与第二桥接可用资源的和值大于该第四预设阈值时,表示第一环状网络和第二环状网络之间进行数据通信的可用资源足够,,第一环状网络与第二环状网络之间的对冲挂死已经解除。此时,可以确定第一节点处于该第二状态,该第一节点将第一挂死解除信号置为第一电平,由挂死解除模式跳转到正常模式。
在正常模式下,该第一节点可以将第一入口阻塞信号置为第二电平,并继续广播第二电平的第一入口阻塞信号,从而允许第一环状网络上的其他节点中的入口队列的数据可以进入该其他节点对接的Slot,以便后续跳转到开始阻塞模式时再次将第一入口阻塞信号置为第一电平。在正常模式下,也可以将第一入口阻塞生效信号置为第二电平,以便后续当广播第一电平的第一入口阻塞信号的时长达到预设时长时再次将第一入口阻塞生效信号置为第一电平。
后续过程中,该第一节点仍会判断该第一出口可用资源与第一桥接可用资源的和值是否大于第三预设阈值,以及该第一入口可用资源与第二桥接可用资源的和值是否大于第四预设阈值,当确定该第一出口可用资源与第一桥接可用资源的和值不大于该第三预设阈值,或者确定该第一入口可用资源与第二桥接可用资源的和值不大于该第四预设阈值时,将第一挂死解除信号置为第二电平。
需要说明的是,结合上述片上网络的实施例,步骤405可以由第一节点中的第一检测模块2111执行。
本公开实施例提供的方法,通过预先在出口队列预留资源,并检测节点所处的状态,可以在第一环状网络和第二环状网络之间发生对冲挂死时及时检测到对冲挂死的状态并通过将出口队列以及同一环状网络上其他节点的入口队列阻塞后再打开该出口队列的方式,以使出口队列对接的Slot上的数据进入出口队列中的预留资源,触发数据的流动,从而实现对冲挂死解除,保证了第一环状网络和第二环状网络之间能够正常进行数据通信,不会 出现长时间的挂死场景,保证了系统的互连通信和正常运行,且进行对冲挂死解除的方式逻辑复杂度很低,消耗资源很少,易于实现。
图5是本公开实施例提供的一种对冲挂死解除方法的流程图,本公开实施例的执行主体为上述实施例所示的片上网络中的第二节点,且本公开实施例对第一环状网络和第二环状网络发生对冲挂死的情况下第二节点解除对冲挂死的过程进行说明。参见图5,该方法包括:
501、当第二节点检测到处于第一状态时,将第二对冲挂死信号置为第一电平,由正常模式跳转到开始阻塞模式。
其中,第二节点为第二环状网络上与第一环状网络对接的节点,可以为第二环状网络上的任一节点。第一状态为具有发生对冲挂死的可能性的状态,该第二节点可以检测自身当前所处的状态,当确定处于第一状态时开始进行对冲挂死解除。
具体地,该第二节点检测状态的过程可以包括以下两种可能实现方式:
在第一种可能实现方式中,当第二节点检测到第二出口可用资源与第二桥接可用资源的和值小于第五预设阈值时,确定第二节点处于第一状态。其中,第二出口可用资源为第二出口队列中的可用资源,第二桥接可用资源为第二桥接缓冲区中的可用资源。
在第二种可能实现方式中,当第二节点检测到第二出口可用资源与第二桥接可用资源的和值小于第五预设阈值,且第二入口可用资源与第一桥接可用资源的和值小于第六预设阈值时,确定第二节点处于第一状态。其中,第二出口可用资源为第二出口队列中的可用资源,第二桥接可用资源为第二桥接缓冲区中的可用资源,第二入口可用资源为第二入口队列中的可用资源,第一桥接可用资源为第一桥接缓冲区中的可用资源。
需要说明的是,结合上述片上网络的实施例,步骤501可以由第二节点中的第二检测模块2211执行,第二检测模块2211将第二对冲挂死信号置为第一电平时,触发第二解除模块2212由正常模式跳转到开始阻塞模式。
502、第二节点在开始阻塞模式下,将第二出口阻塞信号置为第一电平,并将第二入口阻塞信号置为第一电平,向第二环状网络对接的节点中除第二节点以外的其他节点广播第一电平的第二入口阻塞信号。
当第二出口阻塞信号为第一电平时,可以阻止第二出口队列中进入数据,也即是阻止第二Slot上待发送至第一Slot的数据进入第二出口队列。
当第二入口阻塞信号为第一电平,并广播到第二环状网络上除第二节点以外的其他节点时,可以阻止其他节点中的入口队列中的数据进入其他节点对接的Slot。
需要注意的是,第二出口阻塞信号与第二入口阻塞信号的区别在于:第二出口阻塞信号作用于出口队列,阻止数据进入相应的出口队列,而第二入口阻塞信号作用于入口队列,阻止入口队列中的数据进入该入口队列对接的Slot;并且,第二出口阻塞信号作用于发起该第二出口阻塞信号的第二节点,而第二入口阻塞信号作用于第二环状网络上除发起该第二入口阻塞信号的第二节点以外的其他节点,而未作用于第二节点。
503、当第二节点广播第一电平的第二入口阻塞信号的时长达到预设时长时,由开始阻塞模式跳转到挂死解除模式。
在一种可能实现方式中,第二节点将第二入口阻塞生效信号置为第一电平,由开始阻 塞模式跳转到挂死解除模式。
504、第二节点在挂死解除模式下,将第二出口阻塞信号置为第二电平,并保持第二入口阻塞信号为第一电平。
将第二出口阻塞信号置为第二电平,从而打开第二出口队列,以使第二Slot上待发送至第一Slot的数据进入第二出口队列中的预留资源,以便发送至第一Slot。随后,第二Slot上会空出可用资源,则第二入口队列中待发送至第二Slot的数据可以进入第二Slot,第一桥接缓冲区中的数据可以进入第二入口队列,第一出口队列中的数据可以进入第一桥接缓冲区,第一Slot上待发送至第二Slot上的数据可以进入第一出口队列,也即是实现了第一Slot上的数据发送至第二Slot。之后,第一Slot上也可以空出可用资源,使得第二Slot上的数据可以发送至第一Slot。随着时间的推移,第一环状网络和第二环状网络上的数据均可发送至对应环状网络上的目标节点中,进而发送至目标节点对接的模块中,实现了不同模块之间的数据通信。
需要说明的是,结合上述片上网络的实施例,步骤502-504可以由第二节点中的第二解除模块2122执行。
505、当第二节点检测到处于第二状态时,将第二挂死解除信号置为第一电平,由挂死解除模式跳转到正常模式。
基于上述步骤501中的第一种可能实现方式,当第二节点检测到第二出口可用资源与第二桥接可用资源的和值大于第七预设阈值时,确定第二节点处于第二状态。
基于上述步骤501中的第二种可能实现方式,当第二节点检测到第二出口可用资源与第二桥接可用资源的和值大于第七预设阈值,且第二入口可用资源与第一桥接可用资源的和值大于第八预设阈值时,确定第二节点处于第二状态。
需要说明的是,结合上述片上网络的实施例,步骤505可以由第二节点中的第二检测模块2211执行。
本实施例中的步骤501-505与上述图4所示实施例中的步骤401-405的具体过程类似,在此不再赘述。
上述图4所示实施例和图5所示实施例对第一节点和第二节点进行对冲挂死解除的过程分别进行了说明,而在实际应用中,当第一环状网络和第二环状网络发生了对冲挂死时,第一节点和第二节点均可执行上述对冲挂死解除过程。由于物理实现上的限制,第一节点和第二节点不能获取对方的内部状态信息,两者中的模块相互独立地工作,但第一节点和第二节点采用相同的机制进行对冲挂死的检测和解除,那么,在第一节点和第二节点的共同作用下,可以保证第一环状网络上的数据均可发送至第二环状网络,第二环状网络上的数据也可以发送至第一环状网络,从而解除了对冲挂死,实现了第一环状网络和第二环状网络的正常数据通信。
具体地,第一节点由开始阻塞模式跳转到挂死解除模式时,将第一出口阻塞信号置为第二电平,从而打开第一出口队列,以使第一Slot上待发送至第二Slot的数据能够进入第一出口队列中的预留资源,随后,第一Slot上会空出可用资源。
同理地,第二节点由开始阻塞模式跳转到挂死解除模式时,将第二出口阻塞信号置为第二电平,从而打开第二出口队列,以使第二Slot上待发送至第一Slot的数据进入第二出 口队列中的预留资源,随后,第二Slot上会空出可用资源。
在第一Slot和第二Slot均空出可用资源的情况下,第一环状网络和第二环状网络上的数据可以进行传输。
在第一环状网络向第二环状网络传输数据的方向上,第一入口队列中待发送至第一Slot的数据可以进入第一Slot,第二桥接缓冲区中的数据可以进入第一入口队列,第二出口队列中的数据可以进入第二桥接缓冲区,第二Slot上待发送至第一Slot上的数据可以进入第二出口队列,也即是实现了第二Slot上的数据发送至第一Slot。
在第二环状网络向第一环状网络传输数据的方向上,第二入口队列中待发送至第二Slot的数据可以进入第二Slot,第一桥接缓冲区中的数据可以进入第二入口队列,第一出口队列中的数据可以进入第一桥接缓冲区,第一Slot上待发送至第二Slot上的数据可以进入第一出口队列,也即是实现了第一Slot上的数据发送至第二Slot。
在上述过程中,第二Slot上的数据发送至第一Slot时,第二Slot上会空出更多的可用资源,可以用于接收第一Slot发送的数据。同理地,第一Slot上的数据发送至第二Slot时,第一Slot上会空出更多的可用资源,可以用于接收第二Slot发送的数据。因此,通过第一节点和第二节点的共同作用,可以提高对冲挂死的解除速度,还可以提高数据传输速度。
图6是本发明实施例提供的一种节点的结构示意图,参见图6,该节点包括:接收器601、发射器602、存储器603和处理器604,该接收器601、该发射器602和该存储器603分别与该处理器604连接,该存储器603存储有程序代码,该处理器604用于调用该程序代码,执行上述第一节点所执行的操作或第二节点所执行的操作。
需要理解的是,本发明实施例中的环状网络均可以为非缓冲环状网络BLR。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本公开的较佳实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (24)

  1. 一种片上网络,其特征在于,所述片上网络包括第一环状网络和第二环状网络,所述第一环状网络上的第一槽Slot与第一节点对接,所述第二环状网络上的第二Slot与第二节点对接,所述第一节点和所述第二节点通过桥接器对接;
    所述第一节点中包括第一出口队列和第一入口队列,所述第二节点中包括第二出口队列和第二入口队列,所述桥接器中包括第一桥接缓冲区和第二桥接缓冲区,所述第一桥接缓冲区分别与所述第一出口队列和所述第二入口队列对接,所述第二桥接缓冲区分别与所述第二出口队列和所述第一入口队列对接;
    所述第一节点包括第一检测模块和第一解除模块;
    所述第一检测模块,用于当检测到所述第一节点处于第一状态时,将第一对冲挂死信号置为第一电平,触发所述第一解除模块由正常模式跳转到开始阻塞模式,所述第一状态为具有发生对冲挂死的可能性的状态;
    所述第一解除模块,用于在所述开始阻塞模式下,将第一出口阻塞信号置为所述第一电平,以阻止所述第一Slot上待发送至所述第二Slot的数据进入所述第一出口队列;以及,将第一入口阻塞信号置为所述第一电平,向所述第一环状网络上的节点中除所述第一节点以外的其他节点广播所述第一电平的所述第一入口阻塞信号,以阻止所述其他节点中的入口队列中的数据进入所述其他节点对接的Slot;
    所述第一解除模块,还用于当广播所述第一电平的所述第一入口阻塞信号的时长达到预设时长时,由所述开始阻塞模式跳转到挂死解除模式,在所述挂死解除模式下,将所述第一出口阻塞信号置为第二电平,并保持所述第一入口阻塞信号为所述第一电平,以使所述第一Slot上待发送至所述第二Slot的数据进入所述第一出口队列中的预留资源,所述第一入口队列中待发送至所述第一Slot的数据进入所述第一Slot,所述第二桥接缓冲区中的数据进入所述第一入口队列,所述第二出口队列中的数据进入所述第二桥接缓冲区,所述第二Slot上待发送至所述第一Slot上的数据进入所述第二出口队列。
  2. 根据权利要求1所述的片上网络,其特征在于,所述第一检测模块,还用于当检测到第一出口可用资源与第一桥接可用资源的和值小于第一预设阈值时,确定所述第一节点处于所述第一状态;
    其中,所述第一出口可用资源为所述第一出口队列中的可用资源,所述第一桥接可用资源为所述第一桥接缓冲区中的可用资源。
  3. 根据权利要求1所述的片上网络,其特征在于,所述第一检测模块,还用于当检测到第一出口可用资源与第一桥接可用资源的和值小于第一预设阈值,且第一入口可用资源与第二桥接可用资源的和值小于第二预设阈值时,确定所述第一节点处于所述第一状态;
    其中,所述第一出口可用资源为所述第一出口队列中的可用资源,所述第一桥接可用资源为所述第一桥接缓冲区中的可用资源,所述第一入口可用资源为所述第一入口队列中的可用资源,所述第二桥接可用资源为所述第二桥接缓冲区中的可用资源。
  4. 根据权利要求1所述的片上网络,其特征在于,所述第一检测模块,还用于当检测到所述第一节点处于第二状态时,将第一挂死解除信号置为所述第一电平,触发所述第一解除模块由所述挂死解除模式跳转到所述正常模式,所述第二状态为已解除对冲挂死的状态。
  5. 根据权利要求4所述的片上网络,其特征在于,所述第一检测模块,还用于当检测到第一出口可用资源与第一桥接可用资源的和值大于第三预设阈值时,确定所述第一节点处于所述第二状态;
    其中,所述第一出口可用资源为所述第一出口队列中的可用资源,所述第一桥接可用资源为所述第一桥接缓冲区中的可用资源。
  6. 根据权利要求4所述的片上网络,其特征在于,所述第一检测模块,还用于当检测到第一出口可用资源与第一桥接可用资源的和值大于第三预设阈值,且第一入口可用资源与第二桥接可用资源的和值大于第四预设阈值时,确定所述第一节点处于所述第二状态;
    其中,所述第一出口可用资源为所述第一出口队列中的可用资源,所述第一桥接可用资源为所述第一桥接缓冲区中的可用资源,所述第一入口可用资源为所述第一入口队列中的可用资源,所述第二桥接可用资源为所述第二桥接缓冲区中的可用资源。
  7. 根据权利要求1所述的片上网络,其特征在于,所述第二节点包括第二检测模块和第二解除模块;
    所述第二检测模块,用于当检测到所述第二节点处于所述第一状态时,将第二对冲挂死信号置为所述第一电平,触发所述第二解除模块由所述正常模式跳转到所述开始阻塞模式;
    所述第二解除模块,用于在所述开始阻塞模式下,将第二出口阻塞信号置为所述第一电平,以阻止所述第二Slot上待发送至所述第一Slot的数据进入所述第二出口队列;以及,将第二入口阻塞信号置为所述第一电平,向所述第二环状网络对接的节点中除所述第二节点以外的其他节点广播所述第一电平的所述第二入口阻塞信号,以阻止所述其他节点中的入口队列中的数据进入所述其他节点对接的Slot;
    所述第二解除模块,还用于当广播所述第一电平的所述第二入口阻塞信号的时长达到所述预设时长时,由所述开始阻塞模式跳转到所述挂死解除模式,在所述挂死解除模式下,将所述第二出口阻塞信号置为所述第二电平,并保持所述第二入口阻塞信号为所述第一电平,以使所述第二Slot上待发送至所述第一Slot的数据进入所述第二出口队列中的预留资源,所述第二入口队列中待发送至所述第二Slot的数据进入所述第二Slot,所述第一桥接缓冲区中的数据进入所述第二入口队列,所述第一出口队列中的数据进入所述第一桥接缓冲区,所述第一Slot上待发送至所述第二Slot上的数据进入所述第一出口队列。
  8. 根据权利要求7所述的片上网络,其特征在于,所述第二检测模块,还用于当检测到第二出口可用资源与第二桥接可用资源的和值小于第五预设阈值时,确定所述第二节点处于所述第一状态;
    其中,所述第二出口可用资源为所述第二出口队列中的可用资源,所述第二桥接可用资源为所述第二桥接缓冲区中的可用资源。
  9. 根据权利要求7所述的片上网络,其特征在于,所述第二检测模块,还用于当检测到第二出口可用资源与第二桥接可用资源的和值小于第五预设阈值,且第二入口可用资源与第一桥接可用资源的和值小于第六预设阈值时,确定所述第二节点处于所述第一状态;
    其中,所述第二出口可用资源为所述第二出口队列中的可用资源,所述第二桥接可用资源为所述第二桥接缓冲区中的可用资源,所述第二入口可用资源为所述第二入口队列中的可用资源,所述第一桥接可用资源为所述第一桥接缓冲区中的可用资源。
  10. 根据权利要求7所述的片上网络,其特征在于,所述第二检测模块,还用于当检测到所述第二节点处于第二状态时,将第二挂死解除信号置为所述第一电平,触发所述第二解除模块由所述挂死解除模式跳转到所述正常模式。
  11. 根据权利要求10所述的片上网络,其特征在于,所述第二检测模块,还用于当检测到第二出口可用资源与第二桥接可用资源的和值大于第七预设阈值时,确定所述第二节点处于所述第二状态;
    其中,所述第二出口可用资源为所述第二出口队列中的可用资源,所述第二桥接可用资源为所述第二桥接缓冲区中的可用资源。
  12. 根据权利要求10所述的片上网络,其特征在于,所述第二检测模块,还用于当检测到第二出口可用资源与第二桥接可用资源的和值大于第七预设阈值,且第二入口可用资源与第一桥接可用资源的和值大于第八预设阈值时,确定所述第二节点处于所述第二状态;
    其中,所述第二出口可用资源为所述第二出口队列中的可用资源,所述第二桥接可用资源为所述第二桥接缓冲区中的可用资源,所述第二入口可用资源为所述第二入口队列中的可用资源,所述第一桥接可用资源为所述第一桥接缓冲区中的可用资源。
  13. 一种对冲挂死解除方法,其特征在于,应用于片上网络,所述片上网络包括第一环状网络和第二环状网络,所述第一环状网络上的第一槽Slot与第一节点对接,所述第二环状网络上的第二Slot与第二节点对接,所述第一节点和所述第二节点通过桥接器对接;
    所述第一节点中包括第一出口队列和第一入口队列,所述第二节点中包括第二出口队列和第二入口队列,所述桥接器中包括第一桥接缓冲区和第二桥接缓冲区,所述第一桥接缓冲区分别与所述第一出口队列和所述第二入口队列对接,所述第二桥接缓冲区分别与所述第二出口队列和所述第一入口队列对接;
    所述方法包括:
    当所述第一节点检测到处于第一状态时,将第一对冲挂死信号置为第一电平,由正常模式跳转到开始阻塞模式,所述第一状态为具有发生对冲挂死的可能性的状态;
    所述第一节点在所述开始阻塞模式下,将第一出口阻塞信号置为所述第一电平,以阻止所述第一Slot上待发送至所述第二Slot的数据进入所述第一出口队列;以及,将第一入口阻塞信号置为所述第一电平,向所述第一环状网络上的节点中除所述第一节点以外的其他节点广播所述第一电平的所述第一入口阻塞信号,以阻止所述其他节点中的入口队列中的数据 进入所述其他节点对接的Slot;
    当所述第一节点广播所述第一电平的所述第一入口阻塞信号的时长达到预设时长时,由所述开始阻塞模式跳转到挂死解除模式,在所述挂死解除模式下,将所述第一出口阻塞信号置为第二电平,并保持所述第一入口阻塞信号为所述第一电平,以使所述第一Slot上待发送至所述第二Slot的数据进入所述第一出口队列中的预留资源,所述第一入口队列中待发送至所述第一Slot的数据进入所述第一Slot,所述第二桥接缓冲区中的数据进入所述第一入口队列,所述第二出口队列中的数据进入所述第二桥接缓冲区,所述第二Slot上待发送至所述第一Slot上的数据进入所述第二出口队列。
  14. 根据权利要求13所述的方法,其特征在于,所述方法还包括:
    当所述第一节点检测到第一出口可用资源与第一桥接可用资源的和值小于第一预设阈值时,确定所述第一节点处于所述第一状态;
    其中,所述第一出口可用资源为所述第一出口队列中的可用资源,所述第一桥接可用资源为所述第一桥接缓冲区中的可用资源。
  15. 根据权利要求13所述的方法,其特征在于,所述方法还包括:
    当所述第一节点检测到第一出口可用资源与第一桥接可用资源的和值小于第一预设阈值,且第一入口可用资源与第二桥接可用资源的和值小于第二预设阈值时,确定所述第一节点处于所述第一状态;
    其中,所述第一出口可用资源为所述第一出口队列中的可用资源,所述第一桥接可用资源为所述第一桥接缓冲区中的可用资源,所述第一入口可用资源为所述第一入口队列中的可用资源,所述第二桥接可用资源为所述第二桥接缓冲区中的可用资源。
  16. 根据权利要求13所述的方法,其特征在于,所述在所述挂死解除模式下,将所述第一出口阻塞信号置为第二电平,并保持所述第一入口阻塞信号为所述第一电平之后,所述方法还包括:
    当所述第一节点检测到处于第二状态时,将第一挂死解除信号置为所述第一电平,由所述挂死解除模式跳转到所述正常模式,所述第二状态为已解除对冲挂死的状态。
  17. 根据权利要求16所述的方法,其特征在于,所述方法还包括:
    当所述第一节点检测到第一出口可用资源与第一桥接可用资源的和值大于第三预设阈值时,确定所述第一节点处于所述第二状态;
    其中,所述第一出口可用资源为所述第一出口队列中的可用资源,所述第一桥接可用资源为所述第一桥接缓冲区中的可用资源。
  18. 根据权利要求16所述的方法,其特征在于,所述方法还包括:
    当所述第一节点检测到第一出口可用资源与第一桥接可用资源的和值大于第三预设阈值,且第一入口可用资源与第二桥接可用资源的和值大于第四预设阈值时,确定所述第一节点处于所述第二状态;
    其中,所述第一出口可用资源为所述第一出口队列中的可用资源,所述第一桥接可用资源为所述第一桥接缓冲区中的可用资源,所述第一入口可用资源为所述第一入口队列中的可用资源,所述第二桥接可用资源为所述第二桥接缓冲区中的可用资源。
  19. 根据权利要求13所述的方法,其特征在于,所述方法还包括:
    当所述第二节点检测到处于所述第一状态时,将第二对冲挂死信号置为所述第一电平,由所述正常模式跳转到所述开始阻塞模式;
    所述第二节点在所述开始阻塞模式下,将第二出口阻塞信号置为所述第一电平,以阻止所述第二Slot上待发送至所述第一Slot的数据进入所述第二出口队列;以及,将第二入口阻塞信号置为所述第一电平,向所述第二环状网络对接的节点中除所述第二节点以外的其他节点广播所述第一电平的所述第二入口阻塞信号,以阻止所述其他节点中的入口队列中的数据进入所述其他节点对接的Slot;
    当所述第二节点广播所述第一电平的所述第二入口阻塞信号的时长达到所述预设时长时,由所述开始阻塞模式跳转到所述挂死解除模式,在所述挂死解除模式下,将所述第二出口阻塞信号置为所述第二电平,并保持所述第二入口阻塞信号为所述第一电平,以使所述第二Slot上待发送至所述第一Slot的数据进入所述第二出口队列中的预留资源,所述第二入口队列中待发送至所述第二Slot的数据进入所述第二Slot,所述第一桥接缓冲区中的数据进入所述第二入口队列,所述第一出口队列中的数据进入所述第一桥接缓冲区,所述第一Slot上待发送至所述第二Slot上的数据进入所述第一出口队列。
  20. 根据权利要求19所述的方法,其特征在于,所述方法还包括:
    当所述第二节点检测到第二出口可用资源与第二桥接可用资源的和值小于第五预设阈值时,确定所述第二节点处于所述第一状态;
    其中,所述第二出口可用资源为所述第二出口队列中的可用资源,所述第二桥接可用资源为所述第二桥接缓冲区中的可用资源。
  21. 根据权利要求19所述的方法,其特征在于,所述方法还包括:
    当所述第二节点检测到第二出口可用资源与第二桥接可用资源的和值小于第五预设阈值,且第二入口可用资源与第一桥接可用资源的和值小于第六预设阈值时,确定所述第二节点处于所述第一状态;
    其中,所述第二出口可用资源为所述第二出口队列中的可用资源,所述第二桥接可用资源为所述第二桥接缓冲区中的可用资源,所述第二入口可用资源为所述第二入口队列中的可用资源,所述第一桥接可用资源为所述第一桥接缓冲区中的可用资源。
  22. 根据权利要求19所述的方法,其特征在于,所述方法还包括:
    当所述第二节点检测到处于第二状态时,将第二挂死解除信号置为所述第一电平,由所述挂死解除模式跳转到所述正常模式。
  23. 根据权利要求22所述的方法,其特征在于,所述方法还包括:
    当所述第二节点检测到第二出口可用资源与第二桥接可用资源的和值大于第七预设阈值时,确定所述第二节点处于所述第二状态;
    其中,所述第二出口可用资源为所述第二出口队列中的可用资源,所述第二桥接可用资源为所述第二桥接缓冲区中的可用资源。
  24. 根据权利要求22所述的方法,其特征在于,所述方法还包括:
    当所述第二节点检测到第二出口可用资源与第二桥接可用资源的和值大于第七预设阈值,且第二入口可用资源与第一桥接可用资源的和值大于第八预设阈值时,确定所述第二节点处于所述第二状态;
    其中,所述第二出口可用资源为所述第二出口队列中的可用资源,所述第二桥接可用资源为所述第二桥接缓冲区中的可用资源,所述第二入口可用资源为所述第二入口队列中的可用资源,所述第一桥接可用资源为所述第一桥接缓冲区中的可用资源。
PCT/CN2018/071971 2017-03-23 2018-01-09 片上网络及对冲挂死解除方法 WO2018171299A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710179768.3 2017-03-23
CN201710179768.3A CN108632172B (zh) 2017-03-23 2017-03-23 片上网络及对冲挂死解除方法

Publications (1)

Publication Number Publication Date
WO2018171299A1 true WO2018171299A1 (zh) 2018-09-27

Family

ID=63586192

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/071971 WO2018171299A1 (zh) 2017-03-23 2018-01-09 片上网络及对冲挂死解除方法

Country Status (2)

Country Link
CN (1) CN108632172B (zh)
WO (1) WO2018171299A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022246761A1 (zh) * 2021-05-27 2022-12-01 华为技术有限公司 死锁解除的方法和片上系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101789892A (zh) * 2010-03-11 2010-07-28 浙江大学 全节点虚通道的片上网络环形拓扑数据交换方法及其系统
US20120201171A1 (en) * 2011-02-03 2012-08-09 Futurewei Technologies, Inc. Asymmetric ring topology for reduced latency in on-chip ring networks
CN103380598A (zh) * 2011-02-02 2013-10-30 华为技术有限公司 用于使用分级环网的低时延互连网络的方法和设备
WO2014209406A1 (en) * 2013-06-29 2014-12-31 Intel Corporation On-chip mesh interconnect

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101789892A (zh) * 2010-03-11 2010-07-28 浙江大学 全节点虚通道的片上网络环形拓扑数据交换方法及其系统
CN103380598A (zh) * 2011-02-02 2013-10-30 华为技术有限公司 用于使用分级环网的低时延互连网络的方法和设备
US20120201171A1 (en) * 2011-02-03 2012-08-09 Futurewei Technologies, Inc. Asymmetric ring topology for reduced latency in on-chip ring networks
WO2014209406A1 (en) * 2013-06-29 2014-12-31 Intel Corporation On-chip mesh interconnect

Also Published As

Publication number Publication date
CN108632172B (zh) 2020-08-25
CN108632172A (zh) 2018-10-09

Similar Documents

Publication Publication Date Title
CN110622478B (zh) 数据同步处理的方法和装置
US7836195B2 (en) Preserving packet order when migrating network flows between cores
US10592298B2 (en) Method for distributing load in a multi-core system
US5481538A (en) Frame removal mechanism for token ring networks using one or more start strip delimiter frames or circulation time interval
US8935510B2 (en) System structuring method in multiprocessor system and switching execution environment by separating from or rejoining the primary execution environment
CN102917010B (zh) 在多计算机系统中的自动抢占的方法和计算机系统
US11537430B1 (en) Wait optimizer for recording an order of first entry into a wait mode by a virtual central processing unit
US9537665B2 (en) Method, apparatus, and system for enabling platform power states
CN102106116B (zh) 用于在多个节点之间进行通信的技术
US9697149B2 (en) Low latency interrupt with existence of interrupt moderation
WO2018171299A1 (zh) 片上网络及对冲挂死解除方法
CN110795385B (zh) 片上系统的可信核与计算核核资源分配方法及装置
WO2022095862A1 (zh) 调整线程优先级的方法、终端及计算机可读存储介质
CN103577379A (zh) 一种检测片上网络中死锁的方法
US20100037086A1 (en) Robust critical section design in multithreaded applications
CN109522113B (zh) 一种内存管理方法及装置
EP2615548B1 (en) Computing device
US11646971B2 (en) Limiting backpressure with bad actors
CN113965523A (zh) 一种基于环路的pfc死锁的处理方法及装置
WO2020248857A1 (zh) 数据拥塞控制及带宽预估方法
Iwasaki et al. Isochronous scheduling and its application to traffic control
EP3757781A1 (en) Data processing method and system
WO2020080882A1 (en) Method for handling kernel service request for interrupt routines in multi-core environment and electronic device thereof
JP6502134B2 (ja) データ送信制御装置、データ送信制御方法、及び、プログラム
CN111966736A (zh) 一种高吞吐低延时大容量Flume通道及其传输方法

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: 18771278

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18771278

Country of ref document: EP

Kind code of ref document: A1