CN108632172B - 片上网络及对冲挂死解除方法 - Google Patents
片上网络及对冲挂死解除方法 Download PDFInfo
- Publication number
- CN108632172B CN108632172B CN201710179768.3A CN201710179768A CN108632172B CN 108632172 B CN108632172 B CN 108632172B CN 201710179768 A CN201710179768 A CN 201710179768A CN 108632172 B CN108632172 B CN 108632172B
- Authority
- CN
- China
- Prior art keywords
- available resource
- node
- queue
- bridge
- egress
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/72—Admission control; Resource allocation using reservation actions during connection setup
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
Abstract
本公开提供了一种片上网络及对冲挂死解除方法,属于通信技术领域。片上网络中,第一环状网络上的第一节点与第二环状网络上的第二节点通过桥接器对接;第一节点包括第一检测模块和第一解除模块;当第一检测模块检测到第一节点处于第一状态时,将第一对冲挂死信号置为第一电平,触发第一解除模块跳转到开始阻塞模式;第一解除模块将第一出口阻塞信号和第一入口阻塞信号置为第一电平,向第一环状网络上的其他节点广播第一电平的第一入口阻塞信号;当广播的时长达到预设时长时,跳转到挂死解除模式,将第一出口阻塞信号置为第二电平。本公开能及时检测到对冲挂死的状态并进行对冲挂死解除操作,且逻辑复杂度很低,消耗资源很少,易于实现。
Description
技术领域
本公开涉及通信技术领域,特别涉及一种片上网络及对冲挂死解除方法。
背景技术
随着半导体工艺技术步入纳米阶段,晶体管的尺寸不断收缩,在单个芯片上可以集成大量模块,此时可以采用片上网络(Network on Chip,NoC)连接多个模块,通过片上网络在多个模块之间进行数据通信。而随着芯片规模的扩大以及模块数量的不断增多,采用多个非缓冲环状网络(Bufferless 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 对接。其中,第一环状网络和第二环状网络可以为非缓冲环状网络(Bufferless RingNetwork, 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所述的方法,其特征在于,所述方法还包括:
当所述第二节点检测到第二出口可用资源与第二桥接可用资源的和值大于第七预设阈值,且第二入口可用资源与第一桥接可用资源的和值大于第八预设阈值时,确定所述第二节点处于所述第二状态;
其中,所述第二出口可用资源为所述第二出口队列中的可用资源,所述第二桥接可用资源为所述第二桥接缓冲区中的可用资源,所述第二入口可用资源为所述第二入口队列中的可用资源,所述第一桥接可用资源为所述第一桥接缓冲区中的可用资源。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710179768.3A CN108632172B (zh) | 2017-03-23 | 2017-03-23 | 片上网络及对冲挂死解除方法 |
PCT/CN2018/071971 WO2018171299A1 (zh) | 2017-03-23 | 2018-01-09 | 片上网络及对冲挂死解除方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710179768.3A CN108632172B (zh) | 2017-03-23 | 2017-03-23 | 片上网络及对冲挂死解除方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108632172A CN108632172A (zh) | 2018-10-09 |
CN108632172B true CN108632172B (zh) | 2020-08-25 |
Family
ID=63586192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710179768.3A Active CN108632172B (zh) | 2017-03-23 | 2017-03-23 | 片上网络及对冲挂死解除方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108632172B (zh) |
WO (1) | WO2018171299A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117397214A (zh) * | 2021-05-27 | 2024-01-12 | 华为技术有限公司 | 死锁解除的方法和片上系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101789892A (zh) * | 2010-03-11 | 2010-07-28 | 浙江大学 | 全节点虚通道的片上网络环形拓扑数据交换方法及其系统 |
CN103380598A (zh) * | 2011-02-02 | 2013-10-30 | 华为技术有限公司 | 用于使用分级环网的低时延互连网络的方法和设备 |
WO2014209406A1 (en) * | 2013-06-29 | 2014-12-31 | Intel Corporation | On-chip mesh interconnect |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9148298B2 (en) * | 2011-02-03 | 2015-09-29 | Futurewei Technologies, Inc. | Asymmetric ring topology for reduced latency in on-chip ring networks |
-
2017
- 2017-03-23 CN CN201710179768.3A patent/CN108632172B/zh active Active
-
2018
- 2018-01-09 WO PCT/CN2018/071971 patent/WO2018171299A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101789892A (zh) * | 2010-03-11 | 2010-07-28 | 浙江大学 | 全节点虚通道的片上网络环形拓扑数据交换方法及其系统 |
CN103380598A (zh) * | 2011-02-02 | 2013-10-30 | 华为技术有限公司 | 用于使用分级环网的低时延互连网络的方法和设备 |
WO2014209406A1 (en) * | 2013-06-29 | 2014-12-31 | Intel Corporation | On-chip mesh interconnect |
Also Published As
Publication number | Publication date |
---|---|
WO2018171299A1 (zh) | 2018-09-27 |
CN108632172A (zh) | 2018-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7924708B2 (en) | Method and apparatus for flow control initialization | |
US7613849B2 (en) | Integrated circuit and method for transaction abortion | |
US6172984B1 (en) | System and method for reducing the latency for time sensitive data over CSMA/CD networks | |
JP2011138481A (ja) | インターコネクトにおけるデータ・ストア・メインテナンス要求 | |
JP6859510B2 (ja) | メッセージをブロードキャストするための方法およびデバイス | |
US20130336336A1 (en) | Method, apparatus, and system for enabling platform power states | |
US8190802B2 (en) | Circuit, method and arrangement for implementing simple and reliable distributed arbitration on a bus | |
CN108632172B (zh) | 片上网络及对冲挂死解除方法 | |
KR101355326B1 (ko) | 포트를 활성 상태로부터 대기 상태로 전이하는 방법, 통신장치에서 이용하기 위한 장치 및 데이터 통신 시스템 | |
US9258834B2 (en) | Method of mobile terminal internal communications | |
WO2015018003A1 (en) | Ltr/obff design scheme for ethernet adapter application | |
US20120047294A1 (en) | Communication apparatus | |
JP2010081152A (ja) | 通信装置および通信システム並びに通信方法、canノード | |
CN103577379A (zh) | 一种检测片上网络中死锁的方法 | |
CN105553753B (zh) | 一种固定时间片协同流控的片上环网防饥饿处理方法 | |
US20020009098A1 (en) | Communication control method and device | |
CA2039730A1 (en) | No-owner frame and multiple token removal for token ring networks | |
CN111669220A (zh) | RapidIO通信阻塞修复方法及系统 | |
CN114697249B (zh) | 芯片及其控制方法、计算机可读存储介质和电子设备 | |
US20090185487A1 (en) | Automated advance link activation | |
US20200336433A1 (en) | Limiting Backpressure With Bad Actors | |
KR102113641B1 (ko) | 소프트웨어 정의 네트워크 시스템에서 다중 중요도 모드에 따른 패킷 스케줄링 방법, 그 방법을 구현한 컴퓨터프로그램 및 그 방법을 수행하는 스위치 장치 | |
CN106200868B (zh) | 多核处理器中共享变量获取方法、装置及多核处理器 | |
JPH02207364A (ja) | データ転送方式 | |
US6996657B1 (en) | Apparatus for providing packets in a peripheral interface circuit of an I/O node of a computer system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |