CN117793010A - 流量控制方法和装置 - Google Patents
流量控制方法和装置 Download PDFInfo
- Publication number
- CN117793010A CN117793010A CN202211143837.2A CN202211143837A CN117793010A CN 117793010 A CN117793010 A CN 117793010A CN 202211143837 A CN202211143837 A CN 202211143837A CN 117793010 A CN117793010 A CN 117793010A
- Authority
- CN
- China
- Prior art keywords
- node
- routing
- switching path
- nodes
- available
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000012545 processing Methods 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 abstract description 13
- 230000005540 biological transmission Effects 0.000 description 39
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 238000013461 design Methods 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 229910044991 metal oxide Inorganic materials 0.000 description 5
- 150000004706 metal oxides Chemical class 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 229910000577 Silicon-germanium Inorganic materials 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- JBRZTFJDHDCESZ-UHFFFAOYSA-N AsGa Chemical compound [As]#[Ga] JBRZTFJDHDCESZ-UHFFFAOYSA-N 0.000 description 1
- LEVVHYCKPQWKOP-UHFFFAOYSA-N [Si].[Ge] Chemical compound [Si].[Ge] LEVVHYCKPQWKOP-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- 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
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/122—Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例公开了流量控制方法和装置,涉及通信技术领域,能够避免片上网络出现网络拥塞,该方法应用于片上网络,片上网络包括多个路由节点,多个路由节点包括多个配置有外部接口的第一节点,第一节点:首先通过外部接口接收待发送的数据包;然后根据数据包确定目的信息;之后根据目的信息、预设路由表和多个路由节点中的至少一个路由节点的转发状态信息确定是否转发数据包。其中,转发状态信息用于指示路由节点和其至少一个相邻路由节点之间的交换路径是否可用。
Description
技术领域
本申请实施例涉及通信技术领域,尤其涉及流量控制方法和装置。
背景技术
片上网络(Network-on-Chip,NoC)是片上***(system-on-chip,Soc)的一种新的通信方法。它是多核技术的主要组成部分。随着超大规模集成电路技术的快速发展,处理器芯片的规模也不断增加。单个芯片内部集成了多个处理器核,NoC方法作为一种全新的片上通信方法,显著优于传统总线式***(bus)的性能,因此被用来替代总线在处理器核之间提供数据传输服务。
片上网络本质上也是一个网络,片上网络存在多个节点同时向一个节点发送数据包的情况,这种情况下接收数据包的节点会面临流量突发,导致片上网络拥塞。因此,如何避免片上网络出现网络拥塞是本领域人员亟需解决的问题之一。
发明内容
本申请实施例提供了流量控制方法和装置,能够避免片上网络出现网络拥塞。为达到上述目的,本申请实施例采用如下技术方案:
第一方面,本申请实施例提供了一种流量控制方法,应用于片上网络,所述片上网络包括多个路由节点,所述多个路由节点包括多个配置有外部接口的第一节点,所述第一节点:首先通过所述外部接口接收待发送的数据包;然后根据所述数据包确定目的信息;之后根据所述目的信息、预设路由表和所述多个路由节点中的至少一个路由节点的转发状态信息确定是否转发所述数据包;其中,所述转发状态信息用于指示所述路由节点和其至少一个相邻路由节点之间的交换路径是否可用。
可以看出,在本申请实施例提供的流量控制方法中,第一节点在接收待发送的数据包会根据路由节点的交换路径的状态决定是否转发报文,这样可以避免第一节点在路由节点的交换路径的状态较差(如交换路径拥塞、交换路径可用带宽不足)时发送数据包导致片上网络出现网络拥塞。
在一种可能的实现方式中,所述转发状态信息用于指示所述多个第一节点中的至少一个第一节点和其至少一个相邻路由节点之间的交换路径是否可用。
可以看出,第一节点在接收待发送的数据包会根据第一节点与其相邻路由节点之间的交换路径的状态决定是否转发报文,这样可以避免第一节点在与其相邻路由节点之间的交换路径的状态较差(如交换路径拥塞、交换路径可用带宽不足)时发送数据包导致片上网络出现网络拥塞。
在另一种可能的实现方式中,所述转发状态信息用于指示所述多个路由节点中预设的路由节点和其至少一个相邻路由节点之间的交换路径是否可用。
可以看出,在本申请实施例提供的流量控制方法中,第一节点在接收待发送的数据包会根据预设路由节点的交换路径的状态决定是否转发报文,这样可以避免第一节点在预设路由节点的交换路径的状态较差(如交换路径拥塞、交换路径可用带宽不足)时发送数据包导致片上网络出现网络拥塞。
在一种可能的实现方式中,所述第一节点根据所述目的信息和预设路由表确定所述数据包的交换路径。所述第一节点根据所述多个路由节点中的至少一个路由节点的转发状态信息确定所述交换路径是否可用。所述第一节点在所述交换路径可用的情况下,转发所述数据包。所述第一节点在所述交换路径不可用的情况下,不转发所述数据包。
可以看出,第一节点通过目的信息和预设路由表可以确定数据包的交换路径,根据路由节点的转发状态信息可以确定数据包的交换路径所经过的预设路由节点是否可用并由此确定数据包的交换路径是否可用,然后再数据包的交换路径可用的情况下,转发数据包,这样可以避免第一节点在数据包的交换路径所经过的预设路由节点与其相邻路由节点之间的交换路径的状态较差(如交换路径拥塞、交换路径可用带宽不足)时发送数据包导致片上网络出现网络拥塞。
在一种可能的实现方式中,所述方法还包括:所述第一节点向所述多个第一节点中的其他第一节点广播第一信息,所述第一信息用于指示所述多个路由节点中的至少一个路由节点的转发状态信息。
示例性地,所述第一节点可以在第一节点的转发状态信息发生变化的情况下,向所述多个第一节点中的其他第一节点广播第一信息,所述第一信息用于指示所述多个路由节点中的至少一个路由节点的转发状态信息。
本申请实施例提供的流量控制方法中,第一节点可以通过广播第一信息向片上网络的多个第一节点中的其他第一节点发送片上网络的路由节点的转发状态信息,以使多个第一节点中的其他第一节点根据得到的路由节点的转发状态信息转发收到的数据包,从而避免片上网络出现网络拥塞。
可选地,第一信息可以为以太网ethernet协议或者网际互连协议(InternetProtocol,IP)的信息。
在一种可能的实现方式中,所述方法还包括:所述第一节点根据接收到的所述第一信息更新所述多个路由节点中的至少一个路由节点的转发状态信息,所述第一信息用于指示所述多个路由节点中的至少一个路由节点的转发状态信息。
本申请实施例提供的流量控制方法中,第一节点可以通过广播第一信息向片上网络的其他第一节点发送片上网络的路由节点的转发状态信息,以使其他第一节点根据得到的路由节点的转发状态信息转发收到的数据包,从而避免片上网络出现网络拥塞。
在一种可能的实现方式中,所述方法还包括:所述第一节点根据路由节点的目标信息,确定所述路由节点的转发状态信息。
本申请实施例提供的流量控制方法中,第一节点可以收到的第一信息确定片上网络的路由节点的转发状态信息,然后根据片上网络的路由节点的转发状态信息转发收到的数据包,从而避免片上网络出现网络拥塞。
在一种可能的实现方式中,所述转发状态信息用于指示所述路由节点和其至少一个相邻路由节点之间的交换路径的可用字节数发送量和/或可用报文发送量是否小于预定的阈值。
示例性地,所述转发状态信息用于指示所述路由节点和其至少一个相邻路由节点之间的交换路径的可用字节数发送量小于预定的阈值。
又示例性地,所述转发状态信息用于指示所述路由节点和其至少一个相邻路由节点之间的交换路径的可用报文发送量是否小于预定的阈值。
又示例性地,所述转发状态信息用于指示所述路由节点和其至少一个相邻路由节点之间的交换路径的可用字节数发送量和可用报文发送量是否小于预定的阈值。
可以理解是的,在交换路径存在足够的可用字节数发送量和可用报文发送量时,通过交换路径传输数据包不会造成该交换路径拥塞,因此本申请实施例提供的流量控制方法中第一节点可以路由节点可用字节数发送量和/或可用报文发送量确定片上网络的路由节点的转发状态信息。
第二方面,本申请实施例提供了一种流量控制装置,应用于片上网络的第一节点,所述片上网络包括多个路由节点,所述多个路由节点包括多个配置有外部接口的第一节点,该装置包括:收发单元和处理单元。所述收发单元,用于通过所述外部接口接收待发送的数据包。所述处理单元,用于根据所述数据包确定所述目的信息。所述处理单元,还用于根据目的信息、预设路由表和所述多个路由节点中的至少一个路由节点的转发状态信息确定是否控制所述收发单元转发所述数据包。其中,所述转发状态信息用于指示所述路由节点和其至少一个相邻路由节点之间的交换路径是否可用。
具体地,上述流量控制装置可以为上述第一节点或者上述第一节点中的芯片或者功能模块。
在一种可能的实现方式中,所述转发状态信息用于指示所述多个第一节点中的至少一个第一节点和其至少一个相邻路由节点之间的交换路径是否可用。
在另一种可能的实现方式中,所述转发状态信息用于指示所述多个路由节点中预设的路由节点和其至少一个相邻路由节点之间的交换路径是否可用。
在一种可能的实现方式中,所述处理单元具体用于:根据所述目的信息和预设路由表确定所述数据包的交换路径;根据所述多个路由节点中的至少一个路由节点的转发状态信息确定所述交换路径是否可用;在所述交换路径可用的情况下,控制上述收发单元转发所述数据包。
在一种可能的实现方式中,所述收发单元还用于:向所述多个第一节点中的其他第一节点广播第一信息,所述第一信息用于指示所述转发状态信息。
在一种可能的实现方式中,所述处理单元还用于:根据接收到的所述第一信息更新所述转发状态信息。
在一种可能的实现方式中,所述转发状态信息用于指示所述路由节点和其至少一个相邻路由节点之间的交换路径的可用字节数发送量和/或可用报文发送量是否小于预定的阈值。
第三方面,本申请实施例还提供一种流量控制装置,该流量控制装置包括:至少一个处理器,当所述至少一个处理器执行程序代码或指令时,实现上述第一方面或其任意可能的实现方式中所述的方法。
可选地,该流量控制装置还可以包括至少一个存储器,该至少一个存储器用于存储该程序代码或指令。
第四方面,本申请实施例还提供一种芯片,包括:输入接口、输出接口、至少一个处理器。可选地,该芯片还包括存储器。该至少一个处理器用于执行该存储器中的代码,当该至少一个处理器执行该代码时,该芯片实现上述第一方面或其任意可能的实现方式中所述的方法。
可选地,上述芯片还可以为集成电路。
第五方面,本申请实施例还提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序包括用于实现上述第一方面或其任意可能的实现方式中所述的方法。
第六方面,本申请实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机实现上述第一方面或其任意可能的实现方式中所述的方法。
本实施例提供的流量控制装置、计算机存储介质、计算机程序产品和芯片均用于执行上文所提供的方法,因此,其所能达到的有益效果可参考上文所提供的方法中的有益效果,此处不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种片上网络的结构示意图;
图2为本申请实施例提供的另一种片上网络的结构示意图;
图3为本申请实施例提供的又一种片上网络的结构示意图;
图4为本申请实施例提供的一种流量控制方法的流程示意图;
图5为本申请实施例提供的一种流量控制装置的结构示意图;
图6为本申请实施例提供的一种芯片的结构示意图;
图7为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请实施例保护的范围。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请实施例的说明书以及附图中的术语“第一”和“第二”等是用于区别不同的对象,或者用于区别对同一对象的不同处理,而不是用于描述对象的特定顺序。
此外,本申请实施例的描述中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选的还包括其他没有列出的步骤或单元,或可选的还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
需要说明的是,本申请实施例的描述中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优先或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。
首先对本申请实施例涉及的一些术语进行解释。
令牌桶(Token Bucket):令牌桶算法的原理是***会以一个恒定的速度往桶里放入令牌,而如果请求需要被处理,则需要先从桶里获取一个令牌,当桶里没有令牌可取时,则拒绝服务。当桶满时,新添加的令牌被丢弃或拒绝。
令牌桶算法是一个存放固定容量令牌(token)的桶,按照固定速率往桶里添加令牌。令牌桶算法基本可以用下面的几个概念来描述:
令牌将按照固定的速率被放入令牌桶中。比如每秒放10个。
桶中最多存放b个令牌,当桶满时,新添加的令牌被丢弃或拒绝。
当一个n个字节大小的数据包到达,将从桶中删除n个令牌,接着数据包被发送到网络上。
如果桶中的令牌不足n个,则不会删除令牌,且该数据包将被限流(要么丢弃,要么缓冲区等待)。
推拉混合模式(Pull on Push,POP);发送端允许通过推的方式,将少量不受控的报文发送到目的端;同时,这些非受控的报文也承担了Pull的请求信息,目的端收到请求信息后,根据出口能力,从发送节点拉数据。
推(Push);表示发送节点,不受控制,直接将报文推到网络中。
拉(Pull):表示发送节点,完全受控;发送节点将自己的发送请求传递给目的节点,目的节点根据自己出口的能力,从发送节点拉报文过来。
片上网络是片上***的一种新的通信方法。它是多核技术的主要组成部分。随着超大规模集成电路技术的快速发展,处理器芯片的规模也不断增加。单个芯片内部集成了多个处理器核,NoC方法作为一种全新的片上通信方法,显著优于传统总线式***的性能,因此被用来替代总线在处理器核之间提供数据传输服务。
片上网络本质上也是一个网络,片上网络存在多个节点同时向一个节点发送数据包的情况,这种情况下接收数据包的节点会面临流量突发,导致片上网络拥塞。
为此,本申请实施例提供了一种流量控制方法,能够避免片上网络出现网络拥塞。该流量控制方法适用于片上网络,图1示出了该片上网络的一种可能的存在形式。如图1所示该片上网络包括多个路由节点。多个路由节点中包括多个第一节点,第一节点为所述多个路由节点中设置有外部端口的路由节点。
在一种可能的实现方式中,第一节点可以为上述多个路由节点中设置有外部端口且通过外部端口与路由节点外部的资源节点连接的路由节点。
可以理解的是,一种场景中上述路由节点的结构不同,只有与外部的资源节点连接的路由节点才配置有外部端口,因此可以确定上述多个路由节点中设置有外部端口的路由节点为第一节点。在另一种场景中上述路由节点的结构相同,均设置有外部端口,因此无法仅通过路由节点有无外部端口确定路由节点是否为第一节点,而是要通过路由节点是否连接外部资源节点而确定路由节点是否为第一节点。
路由节点可以包括外部端口和内部端口,路由节点的可以通过内部端口与其他路由节点进行通信。路由节点可以通过外部端口和资源节点进行通信。
其中,上述资源节点可以包括计算节点和存储节点。
计算节点可以包括各类知识产权核(Intellectual Property,IP)即处理器核,如可以包括中央处理器(central processing unit,CPU)核,应用处理器(applicationprocessor,AP)核,调制解调处理器核,图形处理器(graphics processing unit,GPU)核,图像信号处理器(image signal processor,ISP)核,视频编解码器核,数字信号处理器(digital signal processor,DSP)核,基带处理器核,和/或神经网络处理器(neural-network processing unit,NPU)核等。
存储节点可以包括各类存储单元。如可以包括只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、动态随机存取存储器(DynamicRandom Access Memory,DRAM)和同步动态随机存取内存(synchronous dynamic random-access memory,SDRAM)。
需要说明的是,上述资源节点为路由节点外部的资源节点,路由节点内部的各处理器核和各存储单元均不属于资源节点。
图1中示出的组成结构并不构成对该片上网络的限定,除图1所示部件之外,该片上网络可以包括比图1所示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图2所示,片上网络可以包括多个路由节点和多个处理器核,多个处理器核可以通过片上网络连接。第一节点可以通过外部端口与处理器核连接,通过外部端口接收处理器核发送的数据包。
上述多个处理器核可以包括中央处理器(central processing unit,CPU)核,应用处理器(application processor,AP)核,调制解调处理器核,图形处理器(graphicsprocessing unit,GPU)核,图像信号处理器(image signal processor,ISP)核,视频编解码器核,数字信号处理器(digital signal processor,DSP)核,基带处理器核,和/或神经网络处理器(neural-network processing unit,NPU)核等。
如图3所示,片上网络可以包括多个路由节点、多个处理器核和多个存储单元,多个处理器核和多个存储单元可以通过片上网络连接。第一节点可以通过外部端口与处理器核或存储单元连接,通过外部端口接收处理器核或存储单元发送的数据包。
上述多个存储单元可以包括只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、动态随机存取存储器(Dynamic Random Access Memory,DRAM)和同步动态随机存取内存(synchronous dynamic random-access memory,SDRAM)。
图4为本申请实施例提供的一种流量控制方法,该方法可以应用与上述片上网络。如图4所示该方法包括:
S401、第一节点通过外部接口接收待发送数据包。
示例性地,第一节点可以通过外部端口从与其连接的处理器核接收待发送数据包。
又示例性地,第一节点可以通过外部端口从与其连接的存储单元接收待发送数据包。
S402、第一节点根据上述数据包确定目的信息。
示例性地,第一节点可以根据数据包的五元组确定目的信息。
S403、第一节点根据目的信息、预设路由表和多个路由节点中的至少一个路由节点的转发状态信息确定是否转发数据包。
其中,上述转发状态信息用于指示上述路由节点和与其至少一个相邻路由节点之间的交换路径(以下简称为路由节点的交换路径)是否可用。
在一种可能的实现方式中,上述转发状态信息用于指示上述多个第一节点中的至少一个第一节点和其至少一个相邻路由节点之间的交换路径是否可用。
可以看出,第一节点在接收待发送的数据包会根据第一节点与其相邻路由节点之间的交换路径的状态决定是否转发报文,这样可以避免第一节点在与其相邻路由节点之间的交换路径的状态较差(如交换路径拥塞、交换路径可用带宽不足)时发送数据包导致片上网络出现网络拥塞。
在另一种可能的实现方式中,上述转发状态信息用于指示上述多个路由节点中预设的路由节点和其至少一个相邻路由节点之间的交换路径是否可用。
可以看出,在本申请实施例提供的流量控制方法中,第一节点在接收待发送的数据包会根据预设路由节点的交换路径的状态决定是否转发报文,这样可以避免第一节点在预设路由节点的交换路径的状态较差(如交换路径拥塞、交换路径可用带宽不足)时发送数据包导致片上网络出现网络拥塞。
在一种可能的实现方式中,第一节点可以先根据数据包的目的信息和预设路由表确定数据包的交换路径。然后根据上述多个路由节点中的至少一个路由节点的转发状态信息确定数据包的交换路径是否可用。之后在数据包的交换路径可用的情况下,转发上述数据包至数据包的目的节点。在数据包的交换路径不可用的情况下,不转发上述数据包。
可以看出,第一节点通过目的信息和预设路由表可以确定数据包的交换路径,根据路由节点的转发状态信息可以确定数据包的交换路径所经过的预设路由节点是否可用并由此确定数据包的交换路径是否可用,然后再数据包的交换路径可用的情况下,转发数据包,这样可以避免第一节点在数据包的交换路径所经过的预设路由节点与其相邻路由节点之间的交换路径的状态较差(如交换路径拥塞、交换路径可用带宽不足)时发送数据包导致片上网络出现网络拥塞。
在一种可能的实现方式中,第一节点可以在数据包的交换路径不可用或不转发上述数据包的情况下,将数据包丢弃或存入第一节点的缓存区中。
在一种可能的实现方式中,第一节点可以确定上述交换路径经过的每个路由节点的交换路径的是否可用,在交换路径经过的每个预设路由节点的交换路径均可用的情况下,确定数据包的交换路径是否可用。
需要说明的是,本申请实施例提供的流量控制方法,可以仅监测部分容易产生拥塞的预设路由节点(如第一节点)相关的交换路径的状态,对其余路由节点的相关的交换路径的状态不进行监测,由此降低监控片上网络中各节点的交换路径状态所需的资源消耗。
确定上述多个路由节点中的至少一个路由节点的转发状态信息的具体方法可以采用本领域技术人员能够想到的任何一种方法进行处理,本申请实施例对此不作具体限定。
在一种可能的实现方式中,上述转发状态信息用于指示上述路由节点和其至少一个相邻路由节点之间的交换路径的可用字节数发送量和/或可用报文发送量是否小于预定的阈值。
示例性地,上述转发状态信息用于指示上述路由节点和其至少一个相邻路由节点之间的交换路径的可用字节数发送量小于预定的阈值。
又示例性地,上述转发状态信息用于指示上述路由节点和其至少一个相邻路由节点之间的交换路径的可用报文发送量是否小于预定的阈值。
又示例性地,上述转发状态信息用于指示上述路由节点和其至少一个相邻路由节点之间的交换路径的可用字节数发送量和可用报文发送量是否小于预定的阈值。
在一种可能的实现方式中,可以为路由节的交换路径设置一个Token Bucket,然后通过路由节点的交换路径对应Token Bucket的等级确定路由节点的交换路径状态。
例如,在路由节点的交换路径对应Token Bucket的等级大于预设等级的情况下,确定路由节点的交换路径状态中该交换路径为可用。
在路由节点的交换路径对应Token Bucket的等级小于预设等级的情况下,确定路由节点的交换路径状态中该交换路径为不可用。
在一种可能的实现方式中,可以用交换路径的可用字节数发送量确定(更新)路由节点的交换路径的Token Bucket的等级。
例如,可以在路由节点的交换路径的可用字节数发送量大于第一阈值的情况下,确定(更新)该交换路径对应Token Bucket的为第一等级,即确定(更新)路由节点的交换路径状态中该交换路径为可用。其中,第一等级大于上述预设等级。
又例如,可以在路由节点的交换路径的可用字节数发送量小于第二阈值的情况下,确定(更新)该交换路径对应Token Bucket的为第二等级,即确定(更新)路由节点的交换路径状态中该交换路径为不可用。其中,第二等级小于上述预设等级。
其中,上述第一阈值大于或等于上述第二阈值。
可选地,第一等级和第二等级之间可以包括一个或多个等级。
例如,第一等级和第二等级之间可以包括第三等级、第四等级和第五等级。
在另一种可能的实现方式中,可以用交换路径的可用报文发送量确定(更新)交换路径的Token Bucket的等级。
例如,可以在路由节点的交换路径的可用报文发送量大于第三阈值的情况下,确定(更新)该交换路径对应Token Bucket的为第一等级,即确定(更新)路由节点的交换路径状态中该交换路径为可用。
又例如,可以在路由节点的交换路径的可用报文发送量小于第四阈值的情况下,确定(更新)该交换路径对应Token Bucket的为第二等级,即确定(更新)路由节点的交换路径状态中该交换路径为不可用。
其中,上述第三阈值大于或等于上述第四阈值。
在又一种可能的实现方式中,可以用路由节点交换路径的可用字节数发送量和可用报文发送量确定(更新)路由节点的交换路径的Token Bucket的等级。
例如,可以在路由节点的交换路径的可用字节数发送量大于第一阈值且可用报文发送量大于第三阈值的情况下,确定(更新)路由节点的交换路径状态中该交换路径为可用。
又例如,可以在路由节点的交换路径的可用字节数发送量小于第二阈值或交换路径的可用报文发送量小于第四阈值的情况下,确定(更新)路由节点的交换路径状态中该交换路径为不可用。
在一种可能的实现方式中,路由节点可以在发送数据包后,更新路由节点的交换路径的可用字节数发送量。
例如,路由节点可以在通过发送数据包后,将更新路由节点的交换路径的可用字节数发送量更新为当前可用字节数发送量-PktLen。其中,PktLen为路由节点的交换路径发送的数据包的大小。
需要说明的是,路由节点的交换路径的初始可用字节数发送量可以为路由节点的交换路径的最大可用字节数,路由节点的交换路径的最大可用字节数可以由路由节点的交换能力确定。
在另一种可能的实现方式中,路由节点可以在发送数据包后,更新路由节点的交换路径的可用报文发送量。
例如,路由节点可以在发送数据包后,将更新路由节点的交换路径的可用报文发送量更新为当前可用报文发送量-MN。其中,MN为路由节点的交换路径发送的报文数量。
需要说明的是,路由节点的交换路径的初始可用报文发送量可以为路由节点的交换路径的最大可用报文发送量,路由节点的交换路径的最大可用报文发送量可以由路由节点的交换能力确定。
在一种可能的实现方式中,每个路由节点可以存储片上网络的多个路由节点中其他路由节点(如第一节点和预设路由节点)的转发状态信息或片上网络中其他路由节点的交换路径的Token Bucket的等级。
例如,每个第一节点可以存储片上网络的多个第一节点中其他第一节点或多个路由节点中预设路由节点的转发状态信息。
又例如,每个第一节点可以存储片上网络的多个第一节点中其他第一节点或多个路由节点中预设路由节点的交换路径的Token Bucket的等级。
在一种可能的实现方式中,路由节点可以周期性地增加路由节点的交换路径的可用字节数发送量。
例如,路由节点可以周期性地按照路由节点的交换路径的Token Bucket等级和该路由节点存储的其他路由节点交换路径的Token Bucket等级增加路由节点的交换路径的可用字节数发送量。
可选地,路由节点的交换路径每个周期增加的可用字节数发送量可以为该路由节点的交换路径的最大可用字节数发送量*(该路由节点的交换路径的Token Bucket等级/该路由节点存储的其他路由节点交换路径的Token Bucket等级之和)。
例如,第一节点1的交换路径的最大可用字节数发送量为1000G,第一节点1存储了第一节点1、第一节点2、第一节点3和第一节点4的交换路径的Token Bucket等级,第一节点1、第一节点2、第一节点3和第一节点4的交换路径的Token Bucket等级均为1,则第一节点1的交换路径每个周期增加的可用字节数发送量为1000*(1/4)=250G。
在一种可能的实现方式中,路由节点可以在路由节点的交换路径的可用字节数发送量大于路由节点的交换路径的最大可用字节数发送量时,将交换路径的当前可用字节数发送量调整为交换路径的最大可用字节数发送量。
在一种可能的实现方式中,路由节点可以周期性地增加路由节点的交换路径的可用报文发送量。
可选地,路由节点的交换路径每个周期增加的可用报文发送量可以为该路由节点的交换路径的最大可用报文发送量*(该路由节点的交换路径的Token Bucket等级/该路由节点存储的其他路由节点交换路径的Token Bucket等级之和)。
例如,第一节点1的交换路径的最大可用报文发送量为600,第一节点1存储了第一节点1、第一节点2、第一节点3和第一节点4的交换路径的Token Bucket等级,第一节点1、第一节点2、第一节点3的交换路径的Token Bucket等级均为1,第一节点4的交换路径的TokenBucket等级为0,则第一节点1的交换路径每个周期增加的可用字节数发送量为600*(1/3)=200。
可以看出,在本申请实施例提供的流量控制方法中,第一节点在接收待发送的数据包会根据路由节点的交换路径的状态决定是否转发报文,这样可以避免第一节点在路由节点的交换路径的状态较差(如交换路径拥塞、交换路径可用带宽不足)时发送数据包导致片上网络出现网络拥塞。
在一种可能的实现方式中,路由节点可以在路由节点的交换路径的可用报文发送量大于路由节点的交换路径的最大可用报文发送量时,将交换路径的当前可用报文发送量调整为交换路径的最大可用报文发送量。
可选地,该方法还可以包括:
S404、第一节点向片上网络的多个第一节点中的其他第一节点广播第一信息。
其中,上述第一信息用于指示上述多个路由节点中的至少一个路由节点的转发状态信息。
在一种可能的实现方式中,第一节点可以在第一节点的交换路径的状态发生变化时,向片上网络的多个第一节点中的其他第一节点广播的第一信息。
示例性地,片上网络包括第一节点1、第一节点2、第一节点3和第一节点4。第一节点1在第一节点1的交换路径1的状态由可用更新为不可用后,可以向第一节点2、第一节点3和第一节点4广播第一信息以告知第一节点2、第一节点3和第一节点4,第一节点1的交换路径的状态由不可用。相应地,第一节点2、第一节点3和第一节点4在收到第一信息后,可以根据第一信息将存储的第一节点1的转发状态信息中交换路径1的状态由可用更新为不可用。
可选地,上述第一信息用于指示上述多个路由节点中的至少一个路由节点的转发路径等级。
在一种可能的实现方式中,第一节点可以在第一节点的交换路径等级发生变化时,向片上网络的多个第一节点中的其他第一节点广播的第一信息。
示例性地,片上网络包括第一节点1、第一节点2、第一节点3和第一节点4。第一节点1在第一节点1的交换路径1的路径等级由第一等级变为第二等级后,可以向第一节点2、第一节点3和第一节点4广播第一信息以告知第一节点2、第一节点3和第一节点4,第一节点1的交换路径的等级由第一等级变为第二等级,第一节点2、第一节点3和第一节点4在收到第一信息后,可以根据第一信息将存储的第一节点1的转发状态信息中交换路径1的路径等级由第一等级更新为第二等级。
可选地,第一信息可以为ethernet协议或者IP协议的信息。
S405、第一节点根据接收到的第一信息更新多个路由节点中的至少一个路由节点的转发状态信息。
示例性地,片上网络包括第一节点1和第一节点2。第一节点1在收到第一节点2发送的用于指示第一节点2的交换路径5的状态由可用更新为不可用的第一信息后,第一节点1可以根据该信息将存储的第一节点2的转发状态信息中交换路径1的状态由可用更新为不可用。
在一种可能的实现方式中,第一节点之间可以进行POP调度。
下面将结合图5介绍用于执行上述流量控制方法的流量控制装置。
可以理解的是,流量控制装置为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
本申请实施例可以根据上述方法示例对流量控制装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块可以采用硬件的形式实现。需要说明的是,本实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图5示出了上述实施例中涉及的流量控制装置的一种可能的组成示意图,如图5所示,该流量控制装置500可以包括:收发单元501和处理单元502。
具体地,上述流量控制装置500可以为上述第一节点或者上述第一节点中的芯片或者功能模块。
收发单元501,用于通过上述外部接口接收待发送的数据包。
处理单元502,用于根据上述数据包确定上述目的信息。
处理单元501,还用于根据目的信息、预设路由表和上述多个路由节点中的至少一个路由节点的转发状态信息确定是否控制上述收发单元501转发上述数据包。
其中,上述转发状态信息用于指示上述路由节点和其至少一个相邻路由节点之间的交换路径是否可用。
在一种可能的实现方式中,上述转发状态信息用于指示上述多个第一节点中的至少一个第一节点和其至少一个相邻路由节点之间的交换路径是否可用。
在另一种可能的实现方式中,上述转发状态信息用于指示上述多个路由节点中预设的路由节点和其至少一个相邻路由节点之间的交换路径是否可用。
在一种可能的实现方式中,上述处理单元501具体用于:根据上述目的信息和预设路由表确定上述数据包的交换路径。根据上述多个路由节点中的至少一个路由节点的转发状态信息确定上述交换路径是否可用。在上述交换路径可用的情况下,控制上述收发单元转发上述数据包。
在一种可能的实现方式中,上述收发单元501还用于:向上述多个第一节点中的其他第一节点广播第一信息,上述第一信息用于指示上述转发状态信息。
在一种可能的实现方式中,上述处理单元502还用于:根据接收到的上述第一信息更新上述转发状态信息。
在一种可能的实现方式中,第一信息为以太网协议或者网际互连协议的信息。
在一种可能的实现方式中,上述转发状态信息用于指示上述路由节点和其至少一个相邻路由节点之间的交换路径的可用字节数发送量和/或可用报文发送量是否小于预定的阈值。
本申请实施例还提供了一种芯片。该芯片可以为交换机芯片、路由器芯片、网元芯片、网卡芯片或其他芯片。
图6示出了一种芯片600的结构示意图。芯片600包括一个或多个处理器601以及接口电路602。可选的,上述芯片600还可以包含总线603。
处理器601可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述流量控制方法的各步骤可以通过处理器601中的硬件的集成逻辑电路或者软件形式的指令完成。
可选地,上述的处理器601可以是通用处理器、数字信号处理(digital signalprocessing,DSP)器、集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
接口电路602可以用于数据、指令或者信息的发送或者接收,处理器601可以利用接口电路602接收的数据、指令或者其他信息,进行加工,可以将加工完成信息通过接口电路602发送出去。
可选的,芯片还包括存储器,存储器可以包括只读存储器和随机存取存储器,并向处理器提供操作指令和数据。存储器的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,NVRAM)。
可选的,存储器存储了可执行软件模块或者数据结构,处理器可以通过调用存储器存储的操作指令(该操作指令可存储在操作***中),执行相应的操作。
可选的,芯片可以使用在本申请实施例涉及的流量控制装置中。可选的,接口电路602可用于输出处理器601的执行结果。关于本申请实施例的一个或多个实施例提供的流量控制方法可参考前述各个实施例,这里不再赘述。
需要说明的,处理器601、接口电路602各自对应的功能既可以通过硬件设计实现,也可以通过软件设计来实现,还可以通过软硬件结合的方式来实现,这里不作限制。
图7为本申请实施例提供的一种电子设备的结构示意图,该电子设备700可以为流量控制装置或者流量控制装置中的芯片或者功能模块。如图7所示,该电子设备700包括处理器701,收发器702以及通信线路703。
其中,处理器701用于执行如图1所示的方法实施例中的任一步骤,且在执行步骤时,可选择调用收发器702以及通信线路703来完成相应操作。
进一步的,该电子设备700还可以包括存储器704。其中,处理器701,存储器704以及收发器702之间可以通过通信线路703连接。
其中,处理器701是中央处理器(central processing unit,CPU)、通用处理器、网络处理器(network processor,NP)、数字信号处理器(digital signal processing,DSP)、微处理器、微控制器、可编程逻辑器件(programmable logic device,PLD)或它们的任意组合。处理器701还可以是其他具有处理功能的装置,例如电路、器件或软件模块,不予限制。
收发器702,用于与其他设备或其他通信***进行通信,其他通信***可以为以太网,无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN)等。收发器702可以是模块、电路、收发器或者任何能够实现通信的装置。
收发器702主要用于数据的收发,可以包括发射器和接收器,分别进行信号的发送和接收;除信号收发之外的操作由处理器实现,如信息处理,计算等。
通信线路703,用于在电子设备700所包括的各部件之间传送信息。
在一种设计中,可以将处理器看做逻辑电路,收发器看做接口电路。
存储器704,用于存储指令。其中,指令可以是计算机程序。
其中,存储器704可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLD RAM)和直接内存总线随机存取存储器(direct rambus RAM,DRRAM)。存储器704还可以是只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或其他磁存储设备等。应注意,本文描述的***和方法的存储器旨在包括但不限于这些和任意其他适合类型的存储器。
需要指出的是,存储器704可以独立于处理器701存在,也可以和处理器701集成在一起。存储器704可以用于存储指令或者程序代码或者一些数据等。存储器704可以位于电子设备700内,也可以位于电子设备700外,不予限制。处理器701,用于执行存储器704中存储的指令,以实现本申请上述实施例提供的方法。
在一种示例中,处理器701可以包括一个或多个处理器,例如图7中的CPU0和CPU1。
作为一种可选的实现方式,电子设备700包括多个处理器,例如,除图7中的处理器701之外,还可以包括处理器707。
作为一种可选的实现方式,电子设备700还包括输出设备705和输入设备706。示例性地,输入设备706是键盘、鼠标、麦克风或操作杆等设备,输出设备705是显示屏、扬声器(speaker)等设备。
需要指出的是,电子设备700可以是芯片***或有图7中类似结构的设备。其中,芯片***可以由芯片构成,也可以包括芯片和其他分立器件。本申请的各实施例之间涉及的动作、术语等均可以相互参考,不予限制。本申请的实施例中各个设备之间交互的消息名称或消息中的参数名称等只是一个示例,具体实现中也可以采用其他的名称,不予限制。此外,图7中示出的组成结构并不构成对该电子设备700的限定,除图7所示部件之外,该电子设备700可以包括比图7所示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本申请中描述的处理器和收发器可实现在集成电路(integrated circuit,IC)、模拟IC、射频集成电路、混合信号IC、专用集成电路(application specific integratedcircuit,ASIC)、印刷电路板(printed circuit board,PCB)、电子设备等上。该处理器和收发器也可以用各种IC工艺技术来制造,例如互补金属氧化物半导体(complementary metaloxide semiconductor,CMOS)、N型金属氧化物半导体(nMetal-oxide-semiconductor,NMOS)、P型金属氧化物半导体(positive channel metal oxide semiconductor,PMOS)、双极结型晶体管(Bipolar Junction Transistor,BJT)、双极CMOS(BiCMOS)、硅锗(SiGe)、砷化镓(GaAs)等。
本申请实施例还提供一种流量控制装置,该装置包括:至少一个处理器,当上述至少一个处理器执行程序代码或指令时,实现上述相关方法步骤实现上述实施例中的流量控制方法。
可选地,该装置还可以包括至少一个存储器,该至少一个存储器用于存储该程序代码或指令。
本申请实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在流量控制装置上运行时,使得流量控制装置执行上述相关方法步骤实现上述实施例中的流量控制方法。
本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的流量控制方法。
本申请实施例还提供一种流量控制装置,这个装置具体可以是芯片、集成电路、组件或模块。具体的,该装置可包括相连的处理器和用于存储指令的存储器,或者该装置包括至少一个处理器,用于从外部存储器获取指令。当装置运行时,处理器可执行指令,以使芯片执行上述各方法实施例中的流量控制方法。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件,或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其他的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
上述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (19)
1.一种流量控制方法,应用于片上网络,所述片上网络包括多个路由节点,所述多个路由节点包括多个配置有外部接口的第一节点,其特征在于,所述第一节点:
通过所述外部接口接收待发送的数据包;
根据所述数据包确定目的信息;
根据所述目的信息、预设路由表和所述多个路由节点中的至少一个路由节点的转发状态信息,确定是否转发所述数据包;
其中,所述转发状态信息用于指示所述路由节点和其至少一个相邻路由节点之间的交换路径是否可用。
2.根据权利要求1所述的方法,其特征在于,所述转发状态信息用于指示所述路由节点和其至少一个相邻路由节点之间的交换路径是否可用,包括:
所述转发状态信息用于指示所述多个第一节点中的至少一个第一节点和其至少一个相邻路由节点之间的交换路径是否可用。
3.根据权利要求1所述的方法,其特征在于,所述转发状态信息用于指示所述路由节点和其至少一个相邻路由节点之间的交换路径是否可用,包括:
所述转发状态信息用于指示所述多个路由节点中预设的路由节点和其至少一个相邻路由节点之间的交换路径是否可用。
4.根据权利要求3所述的方法,其特征在于,所述根据所述目的信息、预设路由表和所述多个路由节点中的至少一个路由节点的转发状态信息确定是否转发所述数据包,包括:
根据所述目的信息和预设路由表确定所述数据包的交换路径;
根据所述多个路由节点中的至少一个路由节点的转发状态信息确定所述交换路径是否可用;
在所述交换路径可用的情况下,转发所述数据包;
在所述交换路径不可用的情况下,不转发所述数据包。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
向所述多个第一节点中的其他第一节点广播第一信息,所述第一信息用于指示所述转发状态信息。
6.根据权利要5所述的方法,其特征在于,所述方法还包括:
根据接收到的所述第一信息更新所述转发状态信息。
7.根据权利要求5或6所述的方法,其特征在于,所述第一信息为以太网协议或者网际互连协议的信息。
8.根据权利要求1至7任一项所述的方法,其特征在于,所述转发状态信息用于指示所述路由节点和其至少一个相邻路由节点之间的交换路径是否可用包括:
所述转发状态信息用于指示所述路由节点和其至少一个相邻路由节点之间的交换路径的可用字节数发送量和/或可用报文发送量是否小于预定的阈值。
9.一种流量控制装置,应用于片上网络的第一节点,所述片上网络包括多个路由节点,所述多个路由节点包括多个配置有外部接口的第一节点,其特征在于,所述流量控制装置包括:收发单元和处理单元;
所述收发单元,用于通过所述外部接口接收待发送的数据包;
所述处理单元,用于根据所述数据包确定所述目的信息;
所述处理单元,还用于根据目的信息、预设路由表和所述多个路由节点中的至少一个路由节点的转发状态信息确定是否控制所述收发单元转发所述数据包;
其中,所述转发状态信息用于指示所述路由节点和其至少一个相邻路由节点之间的交换路径是否可用。
10.根据权利要求9所述的装置,其特征在于,所述转发状态信息用于指示所述路由节点和其至少一个相邻路由节点之间的交换路径是否可用,包括:
所述转发状态信息用于指示所述多个第一节点中的至少一个第一节点和其至少一个相邻路由节点之间的交换路径是否可用。
11.根据权利要求9所述的装置,其特征在于,所述转发状态信息用于指示所述路由节点和其至少一个相邻路由节点之间的交换路径是否可用,包括:
所述转发状态信息用于指示所述多个路由节点中预设的路由节点和其至少一个相邻路由节点之间的交换路径是否可用。
12.根据权利要求11所述的装置,其特征在于,所述处理单元具体用于:
根据所述目的信息和预设路由表确定所述数据包的交换路径;
根据所述多个路由节点中的至少一个路由节点的转发状态信息确定所述交换路径是否可用;
在所述交换路径可用的情况下,控制所述收发单元转发所述数据包;
在所述交换路径不可用的情况下,控制所述收发单元不转发所述数据包。
13.根据权利要求9至12中任一项所述的装置,其特征在于,所述收发单元还用于:
向所述多个第一节点中的其他第一节点广播第一信息,所述第一信息用于指示所述转发状态信息。
14.根据权利要求13所述的装置,其特征在于,所述处理单元还用于:
根据接收到的所述第一信息更新所述转发状态信息。
15.根据权利要求13或14所述的装置,其特征在于,所述第一信息为以太网协议或者网际互连协议的信息。
16.根据权利要求9至15中任一项所述的装置,其特征在于,所述转发状态信息用于指示所述路由节点和其至少一个相邻路由节点之间的交换路径是否可用包括:
所述转发状态信息用于指示所述路由节点和其至少一个相邻路由节点之间的交换路径的可用字节数发送量和/或可用报文发送量是否小于预定的阈值。
17.一种流量控制装置,包括至少一个处理器和存储器,其特征在于,所述至少一个处理器执行存储在存储器中的程序或指令,以使得所述流量控制装置实现上述权利要求1至8中任一项所述的方法。
18.一种计算机可读存储介质,用于存储计算机程序,其特征在于,当所述计算机程序在计算机或处理器运行时,使得所述计算机或所述处理器实现上述权利要求1至8中任一项所述的方法。
19.一种计算机程序产品,所述计算机程序产品中包含指令,其特征在于,当所述指令在计算机或处理器上运行时,使得所述计算机或所述处理器实现上述权利要求1至8中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211143837.2A CN117793010A (zh) | 2022-09-20 | 2022-09-20 | 流量控制方法和装置 |
PCT/CN2023/101647 WO2024060730A1 (zh) | 2022-09-20 | 2023-06-21 | 流量控制方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211143837.2A CN117793010A (zh) | 2022-09-20 | 2022-09-20 | 流量控制方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117793010A true CN117793010A (zh) | 2024-03-29 |
Family
ID=90393329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211143837.2A Pending CN117793010A (zh) | 2022-09-20 | 2022-09-20 | 流量控制方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117793010A (zh) |
WO (1) | WO2024060730A1 (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103986664B (zh) * | 2014-05-15 | 2017-06-27 | 厦门大学 | 一种用于片上网络的混合互连Mesh拓扑结构及其路由算法 |
CN105450555B (zh) * | 2014-09-26 | 2018-11-30 | 杭州华为数字技术有限公司 | 一种片上网络***,及片上网络通信链路的建立方法 |
WO2016078070A1 (zh) * | 2014-11-21 | 2016-05-26 | 华为技术有限公司 | 路由数据包的方法、节点和通信*** |
CN105900383B (zh) * | 2014-11-21 | 2019-05-24 | 华为技术有限公司 | 通信***、控制节点和通信方法 |
US10944693B2 (en) * | 2018-11-13 | 2021-03-09 | Advanced Micro Devices, Inc. | Routing flits in a network-on-chip based on operating states of routers |
CN111522775B (zh) * | 2020-04-22 | 2023-05-16 | 合肥工业大学 | 片上网络路由装置及其控制方法 |
-
2022
- 2022-09-20 CN CN202211143837.2A patent/CN117793010A/zh active Pending
-
2023
- 2023-06-21 WO PCT/CN2023/101647 patent/WO2024060730A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024060730A1 (zh) | 2024-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7924708B2 (en) | Method and apparatus for flow control initialization | |
US8953631B2 (en) | Interruption, at least in part, of frame transmission | |
US20070276973A1 (en) | Managing queues | |
CN111865810B (zh) | 一种拥塞信息采集方法、***、相关设备及计算机存储介质 | |
KR100961712B1 (ko) | 선호하는 경로 소스 라우팅, 다중의 보증 QoS와 자원유보, 관리 및 배포를 구비하는 고 성능의 통신 버스를제공하는 장치, 방법 및 컴퓨터 프로그램 생성물 | |
EP3525406A1 (en) | Method and apparatus for determining tcp congestion window | |
EP3979577B1 (en) | Queue congestion control method, device and storage medium | |
CN110855568B (zh) | 报文转发方法及*** | |
US11444874B2 (en) | Packet transmission method, and communications apparatus and system | |
US20100329262A1 (en) | System and Method for Parsing Frames | |
CN116915708A (zh) | 路由数据包的方法、处理器及可读存储介质 | |
CN111431921B (zh) | 一种配置同步方法 | |
US20130024541A1 (en) | Sending request messages to nodes indicated as unresolved | |
CN114513440A (zh) | 一种报文传输的方法、发送端和网络设备 | |
CN117793010A (zh) | 流量控制方法和装置 | |
US20030091067A1 (en) | Computing system and method to select data packet | |
CN115914087A (zh) | 报文转发方法、装置、设备、***及存储介质 | |
CN114760249A (zh) | 一种基于sdn网络的数据处理方法和装置及设备 | |
US8959251B2 (en) | Implementation of switches in a communication network | |
TW202116088A (zh) | 網路服務裝置、連線管理裝置及其操作方法 | |
US8830838B2 (en) | Node interface indicators | |
EP4319056A1 (en) | Collective communication method and communication apparatus | |
WO2024021878A1 (zh) | 一种发送负载信息的方法、发送报文的方法及装置 | |
WO2024021984A1 (zh) | 报文处理方法和服务器 | |
TW201101890A (en) | A switch fabric with wireless intra-connectivity |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |