CN109039846A - 环形互联总线的避免死锁的方法、系统和跨环装置 - Google Patents

环形互联总线的避免死锁的方法、系统和跨环装置 Download PDF

Info

Publication number
CN109039846A
CN109039846A CN201811133473.3A CN201811133473A CN109039846A CN 109039846 A CN109039846 A CN 109039846A CN 201811133473 A CN201811133473 A CN 201811133473A CN 109039846 A CN109039846 A CN 109039846A
Authority
CN
China
Prior art keywords
transannular
data packet
transmission
ring
token
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.)
Granted
Application number
CN201811133473.3A
Other languages
English (en)
Other versions
CN109039846B (zh
Inventor
刘月吉
迟志刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guizhou Huaxin Semiconductor Technology Co ltd
Original Assignee
Guizhou Huaxintong Semiconductor Technology Co Ltd
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 Guizhou Huaxintong Semiconductor Technology Co Ltd filed Critical Guizhou Huaxintong Semiconductor Technology Co Ltd
Priority to CN201811133473.3A priority Critical patent/CN109039846B/zh
Publication of CN109039846A publication Critical patent/CN109039846A/zh
Application granted granted Critical
Publication of CN109039846B publication Critical patent/CN109039846B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • H04L12/437Ring fault isolation or reconfiguration

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)

Abstract

本公开公开了一种环形互联总线的避免死锁的方法和系统,该方法包括:响应于接收到要从第一环形总线的至少一个源节点到第二环形总线的至少一个目的节点的跨环方向上进行跨环传输的多个跨环数据包中的第一跨环数据包的请求,跨环模块获得用于所述跨环方向的跨环专用令牌和通用令牌的信息,根据跨环专用令牌和通用令牌的信息,判断当前是否满足跨环传输的条件;以及如果满足跨环传输的条件,使得所述第一跨环数据包进行跨环传输,如果不满足跨环传输的条件,使得所述第一跨环数据包进行环内传输。

Description

环形互联总线的避免死锁的方法、系统和跨环装置
技术领域
本公开涉及环形互联总线,更具体地,本公开涉及一种环形互联总线的避免死锁的方法、系统和跨环装置。
背景技术
在环形互联总线系统中,连接的装置被链接到总线(还称为互连),并且数据在连接的装置之间传输。在两个装置之间传输数据的起始装置或节点被称为源端或源节点(source),而传输数据的终止装置或节点称为目的端或目的节点(destination),传输的数据一般称为数据包(package)。
总线系统可以有多种拓扑结构,比如交叉(crossbar)、环形(ring)或网格(mesh)等。
存在减少或避免总线系统中的死锁现象的需求。
发明内容
有鉴于上述情况,本公开提供了一种环形互联总线的避免死锁的方法、系统和跨环装置。
一方面,根据本公开的实施例,提供了一种环形互联总线的避免死锁的方法,包括:响应于接收到要从第一环形总线的至少一个源节点到第二环形总线的至少一个目的节点的跨环方向上进行跨环传输的多个跨环数据包中的第一跨环数据包的请求,跨环模块获得用于所述跨环方向的跨环专用令牌和通用令牌的信息,其中所述跨环专用令牌由所述跨环模块管理用于跨环数据包在所述跨环方向上的跨环传输,所述通用令牌用于数据包在所述跨环方向上的跨环传输和环内传输,其中所述跨环模块位于所述第一环形总线与所述第二环形总线之间;根据跨环专用令牌和通用令牌的信息,判断当前是否满足跨环传输的条件;以及如果满足跨环传输的条件,使得所述第一跨环数据包进行跨环传输,如果不满足跨环传输的条件,使得所述第一跨环数据包进行环内传输。
此外,根据本公开的实施例的方法,其中,所述跨环传输的条件包括跨环专用令牌的数量大于或等于1个,或者所述跨环传输的条件包括通用令牌的数量大于或等于2个,其中,当所述通用令牌大于或等于2个时,优先使用通用令牌进行所述多个跨环数据包的跨环传输。
此外,根据本公开的实施例的方法,其中,所述多个跨环数据包来自同一个源节点,其中,所述如果不满足所述跨环传输的条件、使得所述第一跨环数据包进行环内传输还包括:响应于不满足所述跨环传输的条件而进行所述第一跨环数据包的环内传输,在所述多个跨环数据包均未被标记的情况下:标记所述第一跨环数据包和所述第一跨环数据包所来自的源节点,并按顺序进行被标记的第一跨环数据包和所述多个跨环数据包中的其他跨环数据包的环内传输。
此外,根据本公开的实施例的方法,还包括:响应于所述跨环模块再次接收到被标记的第一跨环数据包的跨环传输请求,由所述跨环模块获得用于所述跨环方向的跨环专用令牌和通用令牌的信息,并判断当前是否满足跨环传输的条件,如果满足跨环传输的条件,则:进行所述被标记的第一跨环数据包的跨环传输,并消除所述被标记的第一跨环数据包的标记和所述第一跨环数据包所来自的源节点的标记,如果不满足跨环传输的条件,则:按顺序进行被标记的第一跨环数据包和所述多个跨环数据包中的其他跨环数据包的环内传输。
此外,根据本公开的实施例的方法,其中,所述方法还包括:在接收到要进行跨环传输的第一跨环数据包的请求之前,在所述多个跨环数据包中的每一个跨环数据包中设置一个首位标志位并在所述跨环模块中为所述至少一个源节点中的每一个源节点设置一个重放标志位;以及其中,标记所述第一跨环数据包和所述第一跨环数据包所来自的源节点包括:将所述第一跨环数据包的首位标志位置位并将所述第一跨环数据包所来自的源节点的重放标志位置位。
此外,根据本公开的实施例的方法,其中消除所述被标记的第一跨环数据包的标记和所述第一跨环数据包所来自的源节点的标记包括:将置位的首位标志位清零并将置位的重放标志位清零。
此外,根据本公开的实施例的方法,其中,所述多个跨环数据包来自多个源节点,其中,所述如果不满足所述跨环传输的条件、使得所述第一跨环数据包进行环内传输还包括:响应于不满足所述跨环传输的条件而进行所述第一跨环数据包的环内传输,在所述多个跨环数据包均未被标记的情况下:标记所述第一跨环数据包和所述多个源节点,并按顺序进行被标记的第一跨环数据包和所述多个跨环数据包中的其他跨环数据包的环内传输。
此外,根据本公开的实施例的方法,还包括:响应于所述跨环模块再次接收到被标记的第一跨环数据包的跨环传输请求,由所述跨环模块获得用于所述跨环方向的跨环专用令牌和通用令牌的信息,并判断当前是否满足跨环传输的条件,如果满足跨环传输的条件,则:进行所述被标记的第一跨环数据包的跨环传输,并消除所述被标记的第一跨环数据包的标记和所述多个源节点的标记,如果不满足跨环传输的条件,则:按顺序进行被标记的第一跨环数据包和所述多个跨环数据包中的其他跨环数据包的环内传输。
此外,根据本公开的实施例的方法,其中所述方法还包括:在接收到要进行跨环传输的第一跨环数据包的请求之前,在所述多个跨环数据包中的每一个跨环数据包中设置一个首位标志位并在所述跨环模块中为所述多个源节点设置一个共有的重放标志位;以及其中,标记所述第一跨环数据包和所述多个源节点包括:将所述第一跨环数据包的首位标志位置位并将所述多个源节点的共有的重放标志位置位。
此外,根据本公开的实施例的方法,其中消除所述被标记的第一跨环数据包的标记和所述多个源节点的标记包括:将置位的首位标志位清零并将置位的共有的重放标志位清零。
此外,根据本公开的实施例的方法,其中,如果使用跨环专用令牌进行所述第一跨环数据包的跨环传输,则在所述第一跨环数据包到达目的节点后,继续发送一个跨环专用令牌包把所述跨环专用令牌归还所述跨环模块。
此外,根据本公开的实施例的方法,其中,新数据包进入第一环形总线或第二环形总线的条件包括通用令牌的总数大于或等于2。
另一方面,根据本公开的实施例,提供了一种环形互联总线的避免死锁的系统,包括:多个环形总线,包括第一环形总线和第二环形总线;以及跨环模块,位于所述第一环形总线与所述第二环形总线之间,被配置为:响应于接收到要从第一环形总线的至少一个源节点到第二环形总线的至少一个目的节点的跨环方向上进行跨环传输的多个跨环数据包中的第一跨环数据包的请求,所述跨环模块获得用于所述跨环方向的跨环专用令牌和通用令牌的信息,其中所述跨环专用令牌由所述跨环模块管理用于跨环数据包在所述跨环方向上的跨环传输,所述通用令牌用于数据包在所述跨环方向上的跨环传输和环内传输;根据跨环专用令牌和通用令牌的信息,判断当前是否满足跨环传输的条件;以及如果满足跨环传输的条件,使得所述第一跨环数据包进行跨环传输,如果不满足跨环传输的条件,使得所述第一跨环数据包进行环内传输。
又一方面,根据本公开的实施例,提供了一种跨环装置,包括:处理器;以及存储器,存储了计算机程序指令,其由所述处理器执行时进行如下步骤:响应于接收到要从第一环形总线的至少一个源节点到第二环形总线的至少一个目的节点的跨环方向上进行跨环传输的多个跨环数据包中的第一跨环数据包的请求,所述跨环装置获得用于所述跨环方向的跨环专用令牌和通用令牌的信息,其中所述跨环专用令牌由所述跨环装置管理用于跨环数据包在所述跨环方向上的跨环传输,所述通用令牌用于数据包在所述跨环方向上的跨环传输和环内传输,其中所述跨环装置位于所述第一环形总线与所述第二环形总线之间;根据跨环专用令牌和通用令牌的信息,判断当前是否满足跨环传输的条件;如果满足跨环传输的条件,使得所述第一跨环数据包进行跨环传输,如果不满足跨环传输的条件,使得所述第一跨环数据包进行环内传输。
根据本公开的实施例的方法、系统和跨环装置,提出了一种避免死锁的机制,而非死锁发生后的处理机制。该机制代价小,容易实现,并且解决了单环形总线的传输效率低和扩展性差的问题。
要理解的是,前面的一般描述和下面的详细描述两者都是示例性的,并且意图在于提供要求保护的技术的进一步说明。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1A和图1B是示出了具有两个总线的环形总线的框图;
图2是示出了根据本公开的实施例的环形互联总线系统的框图;
图3A至图3G是示出了根据本公开的实施例的环形互联总线的避免死锁的方法的流程图;
图4A和图4B是示出了根据本公开的实施例的具有多个总线的环形互联总线系统的框图;以及
图5是示出了根据本公开的实施例的跨环装置的框图。
具体实施方式
下面将结合本公开的实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本公开的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在某些协议的总线系统中,多个数据包的传输会有顺序的要求,比如同一个源节点且同一个目的节点的数据包之间,需要保证先从源节点发出的,先被目的节点接收。
总线系统在多个节点间进行数据包的传输时,有可能发生死锁。例如,节点N1内部只能处理有限的数据包,当接收了足够多请求后,需要释放资源才能再接收新数据包,而想要释放资源又依赖发出新数据包给节点N2,如果此时节点N2也像节点N1一样,等待节点N1处理节点N2的数据包,节点N1与节点N2由于长时间不能接收新数据包会导致总线上保留很多两点之间的数据包,造成无法进行数据包的传输的情况,最终总线和各个节点死锁。关于进行数据包的传输所用的资源,一般可以用令牌(token)表示。源节点想要发起数据包的传输时,需要查看是否有发请求到总线的令牌,有令牌才可以发起请求到总线上。
缓存(cache)一致性互联总线对数据包的传输顺序和接收条件的要求,使得死锁的处理复杂度较高。
对于单独的环形结构,如果采用如下机制可以避免死锁发生:1)目的节点是无条件接收数据包的或者如果数据包不能被接收的时候可以返回到源节点。2)源节点发起请求需要满足有令牌的数量>=2。如果此条件是令牌的数量>=1,那么会有可能死锁,因为环形总线上进行数据包的传输也需要令牌。设想如下的情况:环形总线上存在节点A、B、C,节点A要发送数据包给节点B,节点B要发送数据包给节点C,节点C要发送数据包给节点A,此时如果环形总线上只有1个令牌了,那么数据包的传输还是可以进行的,但是如果此时节点A要新增一个数据包给节点B,占用了最后一个令牌,那么总线就无法再进行数据包的传输了。只要满足上述条件的环形总线,是可以保证没有死锁发生的。
图1A和图1B是示出了具有两个总线的环形总线的框图。
当为了连接更多资源,基于环形总线设置更多通道,以图1A或图1B中的总线0(如图中粗线所示)和总线1(如图中细线所示)为例,方框代表节点。当总线0的请求都以总线1的节点为目的节点,且总线1的数据包也都以总线0的节点为目的节点,总线0和总线1又都只有1个令牌的时候,造成死锁。该死锁可以通过在总线上设置检测机制和缓冲器(Buffer)来解决。当检测到死锁发生,就把总线上的数据包都吸收到缓冲器中,以释放总线的令牌,来解决死锁。
对于上述无死锁的环形总线,虽然其结构简单,但是传输效率低,扩展性不好。并且要求目的节点可以无条件接收数据包,这个也是很多节点设计无法保证的;如果不能保证这一点,又需要设置不被接受后返回源节点的处理,设置设计复杂度。而通过在总线上设置检测机制和缓冲器的方法只能检测并处理死锁,并不能避免死锁的发生,并且硬件消耗大。
参考图2,图2是示出了根据本公开的实施例的环形互联总线结构的框图。
图2中的环形互联总线结构包括环形总线0和环形总线1、多个节点(例如,节点21a和节点21b)以及在环形总线0和环形总线1之间的跨环模块(Cross Unit)20。其中以环形总线0(或环形总线1)中的节点为源节点并且以环形总线0(或环形总线1)中的节点为目的节点传输数据包可以被称为数据包的环内传输,如图2中的虚线箭头所示;以环形总线0(或环形总线1)中的节点为源节点并且以环形总线1(或环形总线0)中的节点为目的节点传输数据包可以被称为数据包的跨环传输,如图2中的实线箭头所示。本文中要进行跨环传输的数据包称为跨环数据包。
参考图3A,图3A是示出了根据本公开的实施例的环形互联总线的避免死锁的方法的流程图。
在步骤S31处,响应于接收到要从第一环形总线的至少一个源节点到第二环形总线的至少一个目的节点的跨环方向上进行跨环传输的多个跨环数据包中的第一跨环数据包的请求,跨环模块获得用于所述跨环方向的跨环专用令牌和通用令牌的信息。其中所述跨环专用令牌由所述跨环模块管理用于跨环数据包在所述跨环方向上的跨环传输,所述通用令牌用于数据包在所述跨环方向上的跨环传输和环内传输,其中所述跨环模块位于所述第一环形总线与所述第二环形总线之间。
其中,跨环模块被配置为使用跨环专用令牌和通用令牌进行跨环数据包的跨环传输,所述通用令牌用于数据包在跨环方向上的跨环传输和环内传输。跨环模块的任意一个跨环传输方向都可以设置一个或多个跨环专用令牌,保证跨环数据包的跨环请求可以被成功处理。跨环模块可以记录跨环专用令牌的使用情况,而通过跨环模块的非跨环传输请求只要有通用令牌就可以传输。
在步骤S32处,根据跨环专用令牌和通用令牌的信息,判断当前是否满足跨环传输的条件。
如果满足跨环传输的条件,则在步骤S33处,使得所述第一跨环数据包进行跨环传输;如果不满足跨环传输的条件,则在步骤S34处,使得所述第一跨环数据包进行环内传输。
该方法通过在跨环模块中设置跨环专用令牌机制,可以使得在没有可用于跨环传输的通用令牌的情况下,也可以通过跨环专用令牌进行跨环数据包的跨环传输,从而避免在没有可用于跨环传输的通用令牌进行跨环输出时,总线出现死锁的情况。同时通过设置轮转机制,使得当需要跨环传输的请求到达跨环模块,而发现无法进行跨环传输时,不必等待,按照环形总线的方向继续进行环内传输,保证环形总线的其他请求可以被处理,提高环形总线的处理效率和传输效率。根据图3A所示的方法,所述跨环传输的条件可以包括跨环专用令牌的数量大于或等于1个或者通用令牌的数量大于或等于2个,其中,当所述通用令牌大于或等于2个时,优先使用通用令牌进行所述多个跨环数据包的跨环传输。
如此,可以尽可能保留跨环专用令牌的数量以用于跨环传输,从而进一步避免由于无跨环专用令牌进行跨环传输而带来的死锁现象。
根据图3A所示的方法,其中,如果使用跨环专用令牌进行所述第一跨环数据包的跨环传输,在所述第一跨环数据包到达目的节点后,继续发送一个跨环专用令牌包把所述跨环专用令牌归还所述跨环模块。
如此,可以将跨环专用令牌回收以用于接下来的跨环传输,以避免之后的跨环传输出现死锁现象。
根据图3A所示的方法,其中,新数据包进入第一环形总线或第二环形总线的条件可以包括通用令牌的总数大于或等于2。
如此,保证新数据包进入环形总线后至少有一个通用令牌可以用于环内传输,而进一步避免发生死锁。
根据图3A所示的方法,具体地,在非跨环传输时,除跨环模块外的其他节点,只要有通用令牌即可进行数据包的环内传输。
如上所述,在跨环传输时,跨环数据包从第一环形总线(或第二环形总线)进入第二环形总线(或第一环形总线)的条件可以包括跨环方向对应的通用令牌的数量>=2。
当跨环模块的通用令牌的数量>2时,可以进行数据包的环内传输,也可以进行数据包的跨环传输。此时可以设置标志(Flag),当Flag=1时,表示至少有一个从第二环形总线/第一环形总线到第一环形总线/第二环形总线的请求,通用令牌的数量=1时可以进行环内传输;当Flag=0时,表示可能没有从第二环形总线/第一环形总线到第一环形总线/第二环形总线的请求,通用令牌的数量=1时不可以进行环内传输。Flag的初始值为0。
在跨环模块的通用令牌的数量=2时,可以进行第一环形总线/第二环形总线的环内传输,也可以进行跨环传输。此时如果进行了跨环请求的传输,则:Flag=1,可以进行第一环形总线/第二环形总线的环内传输,保证第一环形总线/第二环形总线的流转;标记该请求,如果使用了跨环专用令牌进行跨环传输,则完成该请求下的传输后需要生成空数据包回传到跨环模块释放对应的跨环专用令牌;跨环模块获得空包的跨环专用令牌后,删除该数据包,Flag=0。
如此,可以保证环内传输和跨环传输的正常进行,而不发生死锁。
参考图3B,图3B是示出了根据本公开的另一实施例的环形互联总线的避免死锁的方法的流程图。
在多个跨环数据包来自同一个源节点的情况下,步骤S34还可以包括步骤S341和步骤S342。其中,在步骤S341处,响应于不满足所述条件而进行所述第一跨环数据包的环内传输,在所述多个跨环数据包均未被标记的情况下,标记所述第一跨环数据包和所述第一跨环数据包所来自的源节点。在步骤S342处,按顺序进行被标记的第一跨环数据包和所述多个跨环数据包中的其他跨环数据包的环内传输。还可以在跨环模块中标记是否发生了轮转情况,保证跨环数据包的顺序。
该实施例可以通过标记第一跨环数据包而在跨环模块20中设置保序机制,可以使得在之后的跨环传输请求中,跨环模块20能够区分该第一跨环数据包和来自同一源节点的其他跨环数据包并区分该第一跨环数据包所来自的源节点和其他源节点,从而保证后续可以按照预定顺序进行该第一跨环数据包和来自同一个源节点的其他跨环数据包的跨环传输,从而保证来自同一源节点的跨环数据包之间的顺序。当然,在此情况下,可以不一定保证来自不同源节点的跨环数据包相互之间的顺序,即,来自第一源节点的跨环数据包内部的顺序被保持,来自第二源节点的跨环数据包内部的顺序被保持,而第一源节点和第二源节点之间的顺序可以不一定被保持。
参考图3C,图3C是示出了根据本公开的另一实施例的环形互联总线的避免死锁的方法的流程图。
具体地,参考图3B所描述的方法还包括,在步骤S35a处,响应于跨环模块再次接收到被标记的第一跨环数据包的跨环传输请求,由跨环模块获得跨环专用令牌和通用令牌的信息。在步骤S36a处,判断当前是否满足跨环传输的条件。如果满足跨环传输的条件,则在步骤S37a处,进行所述被标记的第一跨环数据包的跨环传输,并在步骤S38a处,消除所述被标记的第一跨环数据包的标记和所述第一跨环数据包所来自的源节点的标记。如果不满足跨环传输的条件,则返回步骤S342。
如此,在如图3B所示地由于不满足所述条件而进行所述第一跨环数据包的环内传输之后,在继续环内传输直到再次到达跨环模块时,跨环模块可以再次判断是否满足进行跨环传输的条件以试图完成跨环传输。如此,在保证来自同一个源节点的多个跨环数据包内的跨环数据包之间的顺序的同时能够不断尝试完成跨环传输,而不会一直进行环内传输。
因此,图3B-图3C描述了更具体的保序机制,跨环模块20通过该保序机制使得进行轮转时,跨环模块20仍然可以在之后按照预定顺序跨环传输来自同一个源节点的多个跨环数据包中的每一个,从而不打乱来自同一个源节点的多个跨环数据包中的每一个的顺序,保证跨环传输的准确性。
参考图3D,图3D是示出了根据本公开的另一实施例的环形互联总线的避免死锁的方法的流程图。
具体地,步骤S341中标记所述第一跨环数据包和所述第一跨环数据包所来自的源节点还包括,在步骤S3411处,在接收到要进行跨环传输的第一跨环数据包的请求之前,在所述多个跨环数据包中的每一个跨环数据包中设置一个首位标志位并在跨环模块20为所述至少一个源节点中的每一个源节点设置一个重放标志位,以及在步骤S3412处,响应于标记所述第一跨环数据包和所述第一跨环数据包所来自的源节点,将所述第一跨环数据包的首位标志位置位并将所述第一跨环数据包所来自的源节点的重放标志位置位。步骤S38a中消除所述被标记的第一跨环数据包的标记和所述第一跨环数据包所来自的源节点的标记包括,在步骤S381a处,将置位的首位标志位清零并将置位的重放标志位清零。
如此,可以通过设置首位标志位和重放标志位更清楚地标记所述第一跨环数据包和所述第一跨环数据包所来自的源节点,在第一跨环数据包继续环内传输直到再次到达跨环模块时,跨环模块可以更准确判断所述第一跨环数据包和所述第一跨环数据包所来自的源节点是否被标记。如此,再根据是否满足跨环传输的条件继续进行跨环传输或环内传输,以保证轮转机制和保序机制的实施。
根据本公开的实施例,具体地,目的节点在第二环形总线的数据包不会轮转超过一圈;目的节点在第一环形总线的数据包,设置一个首位标志位,表示该数据包是否为该数据包的源节点的第一个数据包,初始值为无(false),由跨环模块进行置位和消除;在跨环模块中,为第二环形总线上的所有源节点设置一个重放标志位,表示该源节点是否有请求被重放了;当跨环模块接收到要进入第一环形总线的请求,查看对应源节点的重放标志位;如果重放标志位=0,那么根据令牌的机制,跨环专用令牌的数量大于或等于1,或者通用令牌的数量大于或等于2则进入第一环形总线,否则,无法进行跨环传输,需要将对应源节点的重放标志位=1,将该数据包的首位标志位置位;如果重放标志位=1,那么只接受该源节点的标记了首位标志位的数据包进入第一环形总线,其他数据包继续在第二环形总线上轮转;标记了首位标志位的数据包跨环传输后,将重放标志位和首位标志位清零。
参考图3E,图3E是示出了根据本公开的另一实施例的环形互联总线的避免死锁的方法的流程图。
在多个跨环数据包来自多个源节点的情况下,步骤S34还可以包括步骤S343和步骤S344。其中,在步骤S343处,响应于不满足所述条件而进行所述第一跨环数据包的环内传输,在所述多个跨环数据包均未被标记的情况下,标记所述第一跨环数据包和所述多个源节点。在步骤S344处,按顺序进行被标记的第一跨环数据包和所述多个跨环数据包中的其他跨环数据包的环内传输。
该实施例可以通过标记第一跨环数据包而在跨环模块20中设置保序机制,可以使得在之后的跨环传输请求中,跨环模块20能够区分该第一跨环数据包和来自多个源节点的其他跨环数据包,从而保证后续仍然可以按照预定顺序进行该第一跨环数据包和来自多个源节点的其他跨环数据包的跨环传输,避免破坏跨环数据包的顺序,从而保证来自多个源节点的跨环数据包之间的顺序,即,来自第一源节点的跨环数据包内部的顺序被保持,来自第二源节点的跨环数据包内部的顺序被保持,而第一源节点和第二源节点之间的顺序也可被保持。
参考图3F,图3F是示出了根据本公开的另一实施例的环形互联总线的避免死锁的方法的流程图。
具体地,参考图3D所描述的方法还包括,在步骤S35b处,响应于所述跨环模块再次接收到被标记的第一跨环数据包的跨环传输请求,由所述跨环模块获得跨环专用令牌和通用令牌的信息。在步骤S36b处,判断当前是否满足跨环传输的条件。如果满足跨环传输的条件,则在步骤S37b处,进行所述被标记的第一跨环数据包的跨环传输,并在步骤S38b处,消除所述被标记的第一跨环数据包的标记和所述多个源节点的标记。如果不满足跨环传输的条件,则返回步骤S344。
如此,在如图3E所示地由于不满足所述条件而进行所述第一跨环数据包的环内传输之后,在继续环内传输直到再次到达跨环模块时,跨环模块可以再次判断是否满足进行跨环传输的条件以试图完成跨环传输。如此,在保证来自多个源节点的多个跨环数据包内的跨环数据包之间的顺序地同时能够不断尝试完成跨环传输,而不会一直进行环内传输。
因此,图3E-图3F描述了更具体的保序机制,跨环模块20通过该保序机制使得进行轮转时,跨环模块20仍然可以在之后按照预定顺序跨环传输来自多个源节点的多个跨环数据包中的每一个,从而不打乱来自多个源节点的多个跨环数据包中的每一个的顺序,保证跨环传输的准确性。
参考图3G,图3G是示出了根据本公开的另一实施例的环形互联总线的避免死锁的方法的流程图。
具体地,步骤S343中标记所述第一跨环数据包和所述多个源节点还包括,在步骤S3431处,在接收到要进行跨环传输的第一跨环数据包的请求之前,在所述多个跨环数据包中的每一个跨环数据包中设置一个首位标志位并在跨环模块20中为所述多个源节点设置一个共有的重放标志位,以及在步骤S3432处,响应于标记所述第一跨环数据包和所述多个源节点,将所述第一跨环数据包的首位标志位置位并将所述多个源节点的共有的重放标志位置位。步骤S38b中消除所述被标记的第一跨环数据包的标记和所述多个源节点的标记包括,在步骤S381b处,将置位的首位标志位清零并将置位的共有的重放标志位清零。
如此,可以通过设置首位标志位更清楚地标记所述第一跨环数据包并通过重放标志位确定是否发生了重放,在第一跨环数据包继续环内传输直到再次到达跨环模块时,跨环模块可以更准确判断所述第一跨环数据包是否被标记以及是否发生了重放。如此,再根据是否满足跨环传输的条件继续进行跨环传输或环内传输,以保证轮转机制和保序机制的实施。
如参考图3A-图3G所述的,通过在跨环模块20中设置跨环专用令牌、轮转机制和保序机制,可以使得在没有通用令牌的情况下,也可以通过跨环专用令牌进行跨环数据包的跨环传输,从而避免在没有可用的通用令牌进行跨环输出时,总线出现死锁的情况;可以使得当需要跨环传输的请求到达跨环模块,而发现无法进行跨环传输时,不必等待,按照环形总线的方向继续进行环内传输,保证环形总线的其他请求可以被处理,提高环形总线的处理效率和传输效率;并且可以使得进行轮转时,仍然可以在之后按照预定顺序跨环传输多个跨环数据包中的每一个,从而不打乱多个跨环数据包中的每一个的顺序,保证跨环传输的准确性。
在一个实施例中,再次参考图2,图2示出了根据本公开的实施例的一种环形互联总线系统,包括:环形总线0和环形总线1;跨环模块20,位于环形总线0与环形总线1之间,跨环模块20被配置为:响应于接收到要从环形总线0的至少一个源节点到环形总线1的至少一个目的节点的跨环方向上进行跨环传输的多个跨环数据包中的第一跨环数据包的请求,跨环模块20获得用于所述跨环方向的跨环专用令牌和通用令牌的信息,其中所述跨环专用令牌由跨环模块20管理用于跨环数据包在所述跨环方向上的跨环传输,所述通用令牌用于数据包在所述跨环方向上的跨环传输和环内传输;根据跨环专用令牌和通用令牌的信息,判断当前是否满足跨环传输的条件;以及如果满足跨环传输的条件,使得所述第一跨环数据包进行跨环传输,如果不满足跨环传输的条件,使得所述第一跨环数据包进行环内传输。
在一个实施例中,其中,所述跨环传输的条件包括跨环专用令牌的数量大于或等于1个,或者所述跨环传输的条件包括通用令牌的数量大于或等于2个,其中,当所述通用令牌大于或等于2个时,优先使用通用令牌进行所述多个跨环数据包的跨环传输。
在一个实施例中,其中,所述多个跨环数据包来自同一个源节点,其中,所述如果不满足所述跨环传输的条件、使得所述第一跨环数据包进行环内传输还包括:响应于不满足所述跨环传输的条件而进行所述第一跨环数据包的环内传输,在所述多个跨环数据包均未被标记的情况下:标记所述第一跨环数据包和所述第一跨环数据包所来自的源节点,并按顺序进行被标记的第一跨环数据包和所述多个跨环数据包中的其他跨环数据包的环内传输。
在一个实施例中,跨环模块20还被配置为:响应于再次接收到被标记的第一跨环数据包的跨环传输请求,获得用于所述跨环方向的跨环专用令牌和通用令牌的信息,并判断当前是否满足跨环传输的条件,如果满足跨环传输的条件,则:进行所述被标记的第一跨环数据包的跨环传输,并消除所述被标记的第一跨环数据包的标记和所述第一跨环数据包所来自的源节点的标记,如果不满足跨环传输的条件,则:按顺序进行被标记的第一跨环数据包和所述多个跨环数据包中的其他跨环数据包的环内传输。
在一个实施例中,其中,跨环模块20还被配置为:在接收到要进行跨环传输的第一跨环数据包的请求之前,在所述多个跨环数据包中的每一个跨环数据包中设置一个首位标志位并在跨环模块20中为所述至少一个源节点中的每一个源节点设置一个重放标志位;以及其中,标记所述第一跨环数据包和所述第一跨环数据包所来自的源节点包括:将所述第一跨环数据包的首位标志位置位并将所述第一跨环数据包所来自的源节点的重放标志位置位。
在一个实施例中,其中消除所述被标记的第一跨环数据包的标记和所述第一跨环数据包所来自的源节点的标记包括:将置位的首位标志位清零并将置位的重放标志位清零。
在一个实施例中,其中,所述多个跨环数据包来自多个源节点,其中,所述如果不满足跨环传输的条件、使得所述第一跨环数据包进行环内传输还包括:响应于不满足所述跨环传输的条件而进行所述第一跨环数据包的环内传输,在所述多个跨环数据包均未被标记的情况下:标记所述第一跨环数据包和所述多个源节点,并按顺序进行被标记的第一跨环数据包和所述多个跨环数据包中的其他跨环数据包的环内传输。
在一个实施例中,跨环模块20还被配置为:响应于再次接收到被标记的第一跨环数据包的跨环传输请求,获得用于所述跨环方向的跨环专用令牌和通用令牌的信息,并判断当前是否满足跨环传输的条件,如果满足跨环传输的条件,则:进行所述被标记的第一跨环数据包的跨环传输,并消除所述被标记的第一跨环数据包的标记和所述多个源节点的标记,如果不满足跨环传输的条件,则:按顺序进行被标记的第一跨环数据包和所述多个跨环数据包中的其他跨环数据包的环内传输。
在一个实施例中,跨环模块20还被配置为:在接收到要进行跨环传输的第一跨环数据包的请求之前,在所述多个跨环数据包中的每一个跨环数据包中设置一个首位标志位并在跨环模块20中为所述多个源节点设置一个共有的重放标志位;以及其中,标记所述第一跨环数据包和所述多个源节点包括:将所述第一跨环数据包的首位标志位置位并将所述多个源节点的共有的重放标志位置位。
在一个实施例中,其中消除所述被标记的第一跨环数据包的标记和所述多个源节点的标记包括:将置位的首位标志位清零并将置位的共有的重放标志位清零。
在一个实施例中,其中,如果使用跨环专用令牌进行所述第一跨环数据包的跨环传输,则在所述第一跨环数据包到达目的节点后,继续发送一个跨环专用令牌包把所述跨环专用令牌归还所述跨环模块20。
在一个实施例中,其中,新数据包进入第一环形总线或第二环形总线的条件包括通用令牌的总数大于或等于2。
如参考上述实施例所述的,通过在环形互联总线系统中设置跨环专用令牌、轮转机制和保序机制,可以使得在没有通用令牌的情况下,也可以通过跨环专用令牌进行跨环数据包的跨环传输,从而避免在没有可用的通用令牌进行跨环输出时,总线出现死锁的情况;可以使得当需要跨环传输的请求到达跨环模块,而发现无法进行跨环传输时当临时无法进行跨环传输时,不必等待,按照环形总线的方向继续进行环内传输,保证环形总线的其他请求可以被处理,提高环形总线的处理效率和传输效率;并且可以使得进行轮转时,仍然可以在之后按照预定顺序跨环传输多个跨环数据包中的每一个,从而不打乱多个跨环数据包中的每一个的顺序,保证跨环传输的准确性。
本公开的环形互联总线系统不限于图2所示的环形互联总线系统,还可以包括如图4A所示的由多个环形总线和多个跨环模块(例如,40a、41a、42a和43a)组成的多环形总线结构,以及如图4B所示的由多个环形总线和多个跨环模块(例如,40b、41b、42b和43b)组成的多层结构的环形总线结构。
参考图5,图5示出了根据本公开的实施例的跨环装置50的框图。
跨环装置50包括:处理器51;以及存储器52,存储了计算机程序指令,其由处理器51执行时进行如下步骤:响应于接收到要从第一环形总线的至少一个源节点到第二环形总线的至少一个目的节点的跨环方向上进行跨环传输的多个跨环数据包中的第一跨环数据包的请求,跨环装置50获得用于所述跨环方向的跨环专用令牌和通用令牌的信息,其中所述跨环专用令牌由跨环装置50管理用于跨环数据包在所述跨环方向上的跨环传输,所述通用令牌用于数据包在所述跨环方向上的跨环传输和环内传输,其中跨环装置位于所述第一环形总线与所述第二环形总线之间;根据跨环专用令牌和通用令牌的信息,判断当前是否满足跨环传输的条件;如果满足跨环传输的条件,使得所述第一跨环数据包进行跨环传输,如果不满足跨环传输的条件,使得所述第一跨环数据包进行环内传输。
在一个实施例中,其中,所述跨环传输的条件包括跨环专用令牌的数量大于或等于1个,或者所述跨环传输的条件包括通用令牌的数量大于或等于2个,其中,当所述通用令牌大于或等于2个时,优先使用通用令牌进行所述多个跨环数据包的跨环传输。
在一个实施例中,其中,所述多个跨环数据包来自同一个源节点,其中,所述如果不满足所述跨环传输的条件、使得所述第一跨环数据包进行环内传输还包括:响应于不满足所述跨环传输的条件而进行所述第一跨环数据包的环内传输,在所述多个跨环数据包均未被标记的情况下:标记所述第一跨环数据包和所述第一跨环数据包所来自的源节点,并按顺序进行被标记的第一跨环数据包和所述多个跨环数据包中的其他跨环数据包的环内传输。
在一个实施例中,跨环装置50还被配置为:响应于再次接收到被标记的第一跨环数据包的跨环传输请求,获得用于所述跨环方向的跨环专用令牌和通用令牌的信息,并判断当前是否满足跨环传输的条件,如果满足跨环传输的条件,则:进行所述被标记的第一跨环数据包的跨环传输,并消除所述被标记的第一跨环数据包的标记和所述第一跨环数据包所来自的源节点的标记,如果不满足跨环传输的条件,则:按顺序进行被标记的第一跨环数据包和所述多个跨环数据包中的其他跨环数据包的环内传输。
在一个实施例中,其中,跨环装置50还被配置为:在接收到要进行跨环传输的第一跨环数据包的请求之前,在所述多个跨环数据包中的每一个跨环数据包中设置一个首位标志位并在跨环装置50中为所述至少一个源节点中的每一个源节点设置一个重放标志位;以及其中,标记所述第一跨环数据包和所述第一跨环数据包所来自的源节点包括:将所述第一跨环数据包的首位标志位置位并将所述第一跨环数据包所来自的源节点的重放标志位置位。
在一个实施例中,其中消除所述被标记的第一跨环数据包的标记和所述第一跨环数据包所来自的源节点的标记包括:将置位的首位标志位清零并将置位的重放标志位清零。
在一个实施例中,其中,所述多个跨环数据包来自多个源节点,其中,所述如果不满足跨环传输的条件、使得所述第一跨环数据包进行环内传输还包括:响应于不满足所述跨环传输的条件而进行所述第一跨环数据包的环内传输,在所述多个跨环数据包均未被标记的情况下:标记所述第一跨环数据包和所述多个源节点,并按顺序进行被标记的第一跨环数据包和所述多个跨环数据包中的其他跨环数据包的环内传输。
在一个实施例中,跨环装置50还被配置为:响应于再次接收到被标记的第一跨环数据包的跨环传输请求,获得用于所述跨环方向的跨环专用令牌和通用令牌的信息,并判断当前是否满足跨环传输的条件,如果满足跨环传输的条件,则:进行所述被标记的第一跨环数据包的跨环传输,并消除所述被标记的第一跨环数据包的标记和所述多个源节点的标记,如果不满足跨环传输的条件,则:按顺序进行被标记的第一跨环数据包和所述多个跨环数据包中的其他跨环数据包的环内传输。
在一个实施例中,跨环装置50还被配置为:在接收到要进行跨环传输的第一跨环数据包的请求之前,在所述多个跨环数据包中的每一个跨环数据包中设置一个首位标志位并在跨环模块50中为所述多个源节点设置一个共有的重放标志位;以及其中,标记所述第一跨环数据包和所述多个源节点包括:将所述第一跨环数据包的首位标志位置位并将所述多个源节点的共有的重放标志位置位。
在一个实施例中,其中消除所述被标记的第一跨环数据包的标记和所述多个源节点的标记包括:将置位的首位标志位清零并将置位的共有的重放标志位清零。
在一个实施例中,其中,如果使用跨环专用令牌进行所述第一跨环数据包的跨环传输,则在所述第一跨环数据包到达目的节点后,继续发送一个跨环专用令牌包把所述跨环专用令牌归还所述跨环装置50。
在一个实施例中,其中,新数据包进入第一环形总线或第二环形总线的条件包括通用令牌的总数大于或等于2。
如参考上述实施例所述的,通过在跨环装置50中设置跨环专用令牌、轮转机制和保序机制,可以使得在没有通用令牌的情况下,也可以通过跨环专用令牌进行跨环数据包的跨环传输,从而避免在没有可用的通用令牌进行跨环输出时,总线出现死锁的情况;可以使得当需要跨环传输的请求到达跨环模块,而发现无法进行跨环传输时当临时无法进行跨环传输时,不必等待,按照环形总线的方向继续进行环内传输,保证环形总线的其他请求可以被处理,提高环形总线的处理效率和传输效率;并且可以使得进行轮转时,仍然可以在之后按照预定顺序跨环传输多个跨环数据包中的每一个,从而不打乱多个跨环数据包中的每一个的顺序,保证跨环传输的准确性。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
在本申请所提供的几个实施例中,应该理解到,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,该模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第三等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所附权利要求及其等同物的保护范围为准。

Claims (14)

1.一种环形互联总线的避免死锁的方法,包括:
响应于接收到要从第一环形总线的至少一个源节点到第二环形总线的至少一个目的节点的跨环方向上进行跨环传输的多个跨环数据包中的第一跨环数据包的请求,跨环模块获得用于所述跨环方向的跨环专用令牌和通用令牌的信息,其中所述跨环专用令牌由所述跨环模块管理用于跨环数据包在所述跨环方向上的跨环传输,所述通用令牌用于数据包在所述跨环方向上的跨环传输和环内传输,其中所述跨环模块位于所述第一环形总线与所述第二环形总线之间;
根据跨环专用令牌和通用令牌的信息,判断当前是否满足跨环传输的条件;以及
如果满足跨环传输的条件,使得所述第一跨环数据包进行跨环传输,如果不满足跨环传输的条件,使得所述第一跨环数据包进行环内传输。
2.如权利要求1所述的方法,其中,所述跨环传输的条件包括跨环专用令牌的数量大于或等于1个,或者所述跨环传输的条件包括通用令牌的数量大于或等于2个,其中,当所述通用令牌大于或等于2个时,优先使用通用令牌进行所述多个跨环数据包的跨环传输。
3.如权利要求1所述的方法,其中,所述多个跨环数据包来自同一个源节点,
其中,所述如果不满足所述跨环传输的条件、使得所述第一跨环数据包进行环内传输还包括:
响应于不满足所述跨环传输的条件而进行所述第一跨环数据包的环内传输,在所述多个跨环数据包均未被标记的情况下:
标记所述第一跨环数据包和所述第一跨环数据包所来自的源节点,
按顺序进行被标记的第一跨环数据包和所述多个跨环数据包中的其他跨环数据包的环内传输。
4.如权利要求3所述的方法,还包括:
响应于所述跨环模块再次接收到被标记的第一跨环数据包的跨环传输请求,由所述跨环模块获得用于所述跨环方向的跨环专用令牌和通用令牌的信息,并判断当前是否满足跨环传输的条件,如果满足跨环传输的条件,则:
进行所述被标记的第一跨环数据包的跨环传输,并
消除所述被标记的第一跨环数据包的标记和所述第一跨环数据包所来自的源节点的标记,
如果不满足跨环传输的条件,则:
按顺序进行被标记的第一跨环数据包和所述多个跨环数据包中的其他跨环数据包的环内传输。
5.如权利要求4所述的方法,其中,所述方法还包括:
在接收到要进行跨环传输的第一跨环数据包的请求之前,在所述多个跨环数据包中的每一个跨环数据包中设置一个首位标志位并在所述跨环模块中为所述至少一个源节点中的每一个源节点设置一个重放标志位;以及
其中,标记所述第一跨环数据包和所述第一跨环数据包所来自的源节点包括:
将所述第一跨环数据包的首位标志位置位并将所述第一跨环数据包所来自的源节点的重放标志位置位。
6.如权利要求5所述的方法,其中消除所述被标记的第一跨环数据包的标记和所述第一跨环数据包所来自的源节点的标记包括:
将置位的首位标志位清零并将置位的重放标志位清零。
7.如权利要求1所述的方法,其中,所述多个跨环数据包来自多个源节点,
其中,所述如果不满足所述跨环传输的条件、使得所述第一跨环数据包进行环内传输还包括:
响应于不满足所述跨环传输的条件而进行所述第一跨环数据包的环内传输,在所述多个跨环数据包均未被标记的情况下:
标记所述第一跨环数据包和所述多个源节点,并
按顺序进行被标记的第一跨环数据包和所述多个跨环数据包中的其他跨环数据包的环内传输。
8.如权利要求7所述的方法,还包括:
响应于所述跨环模块再次接收到被标记的第一跨环数据包的跨环传输请求,由所述跨环模块获得用于所述跨环方向的跨环专用令牌和通用令牌的信息,并判断当前是否满足跨环传输的条件,如果满足跨环传输的条件,则:
进行所述被标记的第一跨环数据包的跨环传输,并
消除所述被标记的第一跨环数据包的标记和所述多个源节点的标记,
如果不满足跨环传输的条件,则:
按顺序进行被标记的第一跨环数据包和所述多个跨环数据包中的其他跨环数据包的环内传输。
9.如权利要求8所述的方法,其中所述方法还包括:
在接收到要进行跨环传输的第一跨环数据包的请求之前,在所述多个跨环数据包中的每一个跨环数据包中设置一个首位标志位并在所述跨环模块中为所述多个源节点设置一个共有的重放标志位;以及
其中,标记所述第一跨环数据包和所述多个源节点包括:
将所述第一跨环数据包的首位标志位置位并将所述多个源节点的共有的重放标志位置位。
10.如权利要求9所述的方法,其中消除所述被标记的第一跨环数据包的标记和所述多个源节点的标记包括:
将置位的首位标志位清零并将置位的共有的重放标志位清零。
11.如权利要求1所述的方法,其中,如果使用跨环专用令牌进行所述第一跨环数据包的跨环传输,则在所述第一跨环数据包到达目的节点后,继续发送一个跨环专用令牌包把所述跨环专用令牌归还所述跨环模块。
12.如权利要求1所述的方法,其中,新数据包进入第一环形总线或第二环形总线的条件包括通用令牌的总数大于或等于2。
13.一种环形互联总线的避免死锁的系统,包括:
多个环形总线,包括第一环形总线和第二环形总线;以及
跨环模块,位于所述第一环形总线与所述第二环形总线之间,被配置为:
响应于接收到要从第一环形总线的至少一个源节点到第二环形总线的至少一个目的节点的跨环方向上进行跨环传输的多个跨环数据包中的第一跨环数据包的请求,所述跨环模块获得用于所述跨环方向的跨环专用令牌和通用令牌的信息,其中所述跨环专用令牌由所述跨环模块管理用于跨环数据包在所述跨环方向上的跨环传输,所述通用令牌用于数据包在所述跨环方向上的跨环传输和环内传输;
根据跨环专用令牌和通用令牌的信息,判断当前是否满足跨环传输的条件;以及
如果满足跨环传输的条件,使得所述第一跨环数据包进行跨环传输,如果不满足跨环传输的条件,使得所述第一跨环数据包进行环内传输。
14.一种跨环装置,包括:
处理器;以及
存储器,存储了计算机程序指令,其由所述处理器执行时进行如下步骤:
响应于接收到要从第一环形总线的至少一个源节点到第二环形总线的至少一个目的节点的跨环方向上进行跨环传输的多个跨环数据包中的第一跨环数据包的请求,所述跨环装置获得用于所述跨环方向的跨环专用令牌和通用令牌的信息,其中所述跨环专用令牌由所述跨环装置管理用于跨环数据包在所述跨环方向上的跨环传输,所述通用令牌用于数据包在所述跨环方向上的跨环传输和环内传输,其中所述跨环装置位于所述第一环形总线与所述第二环形总线之间;
根据跨环专用令牌和通用令牌的信息,判断当前是否满足跨环传输的条件;
如果满足跨环传输的条件,使得所述第一跨环数据包进行跨环传输,如果不满足跨环传输的条件,使得所述第一跨环数据包进行环内传输。
CN201811133473.3A 2018-09-27 2018-09-27 环形互联总线的避免死锁的方法、系统和跨环装置 Active CN109039846B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811133473.3A CN109039846B (zh) 2018-09-27 2018-09-27 环形互联总线的避免死锁的方法、系统和跨环装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811133473.3A CN109039846B (zh) 2018-09-27 2018-09-27 环形互联总线的避免死锁的方法、系统和跨环装置

Publications (2)

Publication Number Publication Date
CN109039846A true CN109039846A (zh) 2018-12-18
CN109039846B CN109039846B (zh) 2021-05-04

Family

ID=64614700

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811133473.3A Active CN109039846B (zh) 2018-09-27 2018-09-27 环形互联总线的避免死锁的方法、系统和跨环装置

Country Status (1)

Country Link
CN (1) CN109039846B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109672521A (zh) * 2018-12-26 2019-04-23 贵州华芯通半导体技术有限公司 基于国密加密引擎实现的安全存储系统和方法
CN113691434A (zh) * 2021-08-31 2021-11-23 深圳云天励飞技术股份有限公司 数据传输系统、方法、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020034185A1 (en) * 2000-09-08 2002-03-21 International Business Machines Corporation System for transmitting local area network (LAN) data frames
US20030031209A1 (en) * 2001-07-09 2003-02-13 Zvi Regev High speed ring/bus
CN103577379A (zh) * 2013-10-17 2014-02-12 中国人民解放军国防科学技术大学 一种检测片上网络中死锁的方法
CN106911521A (zh) * 2017-04-17 2017-06-30 西安电子科技大学 基于多环的光片上网络拓扑结构设计方法
CN108400880A (zh) * 2017-02-07 2018-08-14 华为技术有限公司 片上网络、数据传输方法和第一交换节点
CN108512735A (zh) * 2017-02-25 2018-09-07 华为技术有限公司 一种数据传输方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020034185A1 (en) * 2000-09-08 2002-03-21 International Business Machines Corporation System for transmitting local area network (LAN) data frames
US20030031209A1 (en) * 2001-07-09 2003-02-13 Zvi Regev High speed ring/bus
CN103577379A (zh) * 2013-10-17 2014-02-12 中国人民解放军国防科学技术大学 一种检测片上网络中死锁的方法
CN108400880A (zh) * 2017-02-07 2018-08-14 华为技术有限公司 片上网络、数据传输方法和第一交换节点
CN108512735A (zh) * 2017-02-25 2018-09-07 华为技术有限公司 一种数据传输方法和装置
CN106911521A (zh) * 2017-04-17 2017-06-30 西安电子科技大学 基于多环的光片上网络拓扑结构设计方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109672521A (zh) * 2018-12-26 2019-04-23 贵州华芯通半导体技术有限公司 基于国密加密引擎实现的安全存储系统和方法
CN113691434A (zh) * 2021-08-31 2021-11-23 深圳云天励飞技术股份有限公司 数据传输系统、方法、电子设备及存储介质
CN113691434B (zh) * 2021-08-31 2022-09-20 深圳云天励飞技术股份有限公司 数据传输系统、方法、电子设备及存储介质

Also Published As

Publication number Publication date
CN109039846B (zh) 2021-05-04

Similar Documents

Publication Publication Date Title
CN105207873B (zh) 一种报文处理方法和装置
US9888048B1 (en) Supporting millions of parallel light weight data streams in a distributed system
CN107836001A (zh) 硬件加速器上的卷积神经网络
CN100392602C (zh) 用于在网络处理器中动态排序的系统和方法
CN101194245B (zh) 具有宽寄存器组体系结构的分组处理器
TWI392288B (zh) 用於多核心通訊處理的系統及方法
CN108848119A (zh) 跨区块链的交互方法及装置、系统、电子设备
JP4763405B2 (ja) データ・フロー・アプリケーションのためのネットワーク・オン・チップ半自動通信アーキテクチャ
CN109428922A (zh) 一种订阅发布方法及服务器
CN107710237A (zh) 服务器上深度神经网络划分
CN107710238A (zh) 具有堆栈存储器的硬件加速器上的深度神经网络处理
TWI583153B (zh) 用於促進訊息單向排序之裝置、系統和方法
US9042252B2 (en) Inter-packet interval prediction learning algorithm
CN108121608A (zh) 一种队列调度方法以及节点设备
CN109741060A (zh) 信息查询系统、方法、装置、电子设备及存储介质
CN107533538A (zh) 在使用加速部件的系统中处理租户要求
CA2756503A1 (en) Addressing scheme and message routing for a networked device
US20090216893A1 (en) Buffer discovery in a parrallel multi-tasking multi-processor environment
CN104750580B (zh) 用于多核处理器的具有内部和外部访问的后备处理器单元
CN107613529A (zh) 消息处理方法以及基站
CN104461862B (zh) 数据处理系统以及线程崩溃后的资源恢复方法和装置
CN109885786A (zh) 数据缓存处理方法、装置、电子设备及可读存储介质
JP2006512688A5 (zh)
CN109039846A (zh) 环形互联总线的避免死锁的方法、系统和跨环装置
JP2013196167A (ja) 情報処理装置

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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 9th Floor, Building C, Gui'an Center, Plot ZD-64, Big Data Science and Technology Innovation City, Gui'an New Area, Guiyang City, Guizhou Province, 550003 (No. 2 on the south side)

Patentee after: Guizhou Huaxin Semiconductor Technology Co.,Ltd.

Address before: 2nd Floor, Sterling Office Building, Intersection of Qianzhong Avenue and Jinma Avenue, Gui'an New District, Guiyang City, Guizhou Province, 550081

Patentee before: GUIZHOU HUAXINTONG SEMICONDUCTOR TECHNOLOGY Co.,Ltd.