CN115996199A - 片上网络及组播报文传输方法 - Google Patents
片上网络及组播报文传输方法 Download PDFInfo
- Publication number
- CN115996199A CN115996199A CN202111205341.9A CN202111205341A CN115996199A CN 115996199 A CN115996199 A CN 115996199A CN 202111205341 A CN202111205341 A CN 202111205341A CN 115996199 A CN115996199 A CN 115996199A
- Authority
- CN
- China
- Prior art keywords
- multicast
- node
- router
- message
- network
- 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 35
- 230000005540 biological transmission Effects 0.000 title abstract description 15
- 238000012545 processing Methods 0.000 claims abstract description 41
- 239000000872 buffer Substances 0.000 claims description 43
- 230000003139 buffering effect Effects 0.000 claims description 2
- 238000013473 artificial intelligence Methods 0.000 abstract description 12
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000005538 encapsulation Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种片上网络及组播报文传输方法,属于芯片技术领域。所述片上网络包括:至少一个第一处理单元和至少一个组播组;第一处理单元中包括顺序相连的第一节点、适配器和第一路由器;组播组中包括组播网络、第二处理单元和至少一个第三处理单元,第二处理单元中包括顺序相连的第二节点、适配器和第二路由器,第三处理单元中包括顺序相连的第二节点、适配器和第一路由器,第二节点和第二路由器分别与组播网络相连;第一路由器和第二路由器之间通过链路相连;第二路由器用于将第一路由器转发的组播报文转发给组播网络。本申请可以基于人工智能算法设计片上网络,实现源节点向组播组中的目标节点组播报文的目的,可以简化算法,且降低成本。
Description
技术领域
本申请实施例涉及芯片技术领域,特别涉及一种片上网络及组播报文传输方法。
背景技术
片上网络(Network on Chip,NoC)是处理器内部的基础模块。如图1,片上网络中包含节点、适配器(Adapter)、路由器(Router)和链路(Link),节点和适配器相连,适配器和路由器相连,路由器之间通过链路相连。其中,适配器在节点和路由器之间完成数据的封装和解封装,路由器按照一定的策略完成数据的转发,链路是底层的数据通道。
伴随着“摩尔律”和集成电路工业的发展,处理器体系结构在持续演进,从传统的单核发展到多核,各种计算核的增加对片上网络的性能不断提出了新的挑战。在计算资源大幅度提升的情况下,片上网络的效率成为整个系统的瓶颈。片上网络的业务类型主要有单播、组播和广播,在传统通用处理器中单播流量较大,组播和广播业务较少,因此,片上网络的设计以支持单播流量为主,组播和广播流量转化为单播流量进行处理。但是,随着近几年人工智能(Artificial Intelligence,AI)应用的发展,在各种人工智能运算在业务中的占比持续提升,而人工智能运算中有大量的组播流量,再继续使用单播处理组播报文就会影响性能。
相关技术中可以通过一些算法处理组播流量,比如,针对通用场景假定每个节点和其它任意节点之间存在组播流量。但是这种算法并未考虑到人工智能运算的特点,使得算法较为繁琐,且成本较高。
发明内容
本申请实施例提供了一种片上网络及组播报文传输方法,用于解决并未考虑人工智能运算的特点设计片上网络,导致算法繁琐且成本较高的问题。所述技术方案如下:
一方面,提供了一种片上网络,所述片上网络包括:至少一个第一处理单元和至少一个组播组;
所述第一处理单元中包括顺序相连的第一节点、适配器和第一路由器;
所述组播组中包括组播网络、第二处理单元和至少一个第三处理单元,所述第二处理单元中包括顺序相连的第二节点、适配器和第二路由器,所述第三处理单元中包括顺序相连的第二节点、适配器和第一路由器,所述第二节点和所述第二路由器分别与所述组播网络相连;
所述第一路由器和所述第二路由器之间通过链路相连;
所述第二路由器用于接收所述第一路由器转发的组播报文,并将所述组播报文转发给所述组播网络。
在一种可能的实现方式中,所述组播网络中包括组播缓冲器、组播控制器和链接路径,所述组播缓冲器与所述组播控制器相连,所述组播控制器通过所述链接路径与所述第二节点相连;
所述组播控制器用于接收所述第二路由器发送的组播报文,将所述组播报文中的数据净荷发送给所述组播缓冲器;
所述组播缓冲器用于缓存所述数据净荷;
所述组播控制器还用于将所述组播缓冲器中缓存的数据净荷,通过所述链接路径发送给所述第二节点。
在一种可能的实现方式中,所述组播控制器中包括报文收发控制器和分配器,所述报文收发控制器与所述分配器相连;
所述链接路径中包括数据总线、第一控制总线和第二控制总线,所述报文收发控制器通过所述数据总线和所述第一控制总线与所述第二节点相连,所述分配器通过所述第二控制总线与所述第二节点相连;
所述报文收发控制器用于通过所述数据总线向所述第二节点发送所述数据净荷;
所述报文收发控制器用于通过所述第一控制总线向所述第二节点发送第一控制信号,所述第一控制信号用于指示所述第二节点接收所述数据净荷;
所述第二节点用于通过所述第二控制总线向所述分配器发送第二控制信号,所述第二控制信号用于指示所述第二节点处于准备接收数据状态。
在一种可能的实现方式中,所述片上网络还包括移位寄存器,所述移位寄存器与所述第一路由器相连;
所述移位寄存器用于存储右移位数;
当所述组播组的标识信息包括组标识和节点位图,且所述节点位图中的每一位用于指示所述第二节点是否参与当前组播时,所述第一路由器用于将所述标识信息右移所述右移位数,根据右移后得到的所述组标识确定所述组播组中的第二路由器,将所述组播报文发送给所述第二路由器。
一方面,提供了一种组播报文传输方法,用于如上所述的片上网络中,所述方法包括:
所述第一节点通过所述适配器向所述第一路由器发送组播报文,所述组播报文中包括数据净荷和所述组播组的标识信息;
所述第一路由器根据所述标识信息确定所述组播组中的第二路由器,将所述组播报文发送给所述第二路由器;
所述第二路由器将所述组播报文发送给所述组播网络;
所述组播网络将所述组播报文中的数据净荷发送给所述第二节点。
在一种可能的实现方式中,当所述组播网络中包括所述组播缓冲器、所述组播控制器和所述链接路径时,所述组播网络将所述组播报文中的数据净荷发送给所述第二节点,包括:
所述组播控制器接收所述第二路由器发送的所述组播报文,将所述组播报文中的数据净荷发送给所述组播缓冲器;
所述组播缓冲器缓存所述数据净荷;
所述组播控制器将所述组播缓冲器中缓存的数据净荷,通过所述链接路径发送给所述第二节点。
在一种可能的实现方式中,当所述组播控制器中包括所述报文收发控制器和所述分配器时,
所述组播控制器接收所述第二路由器发送的所述组播报文,将所述组播报文中的数据净荷发送给所述组播缓冲器,包括:所述报文收发控制器接收所述第二路由器发送的所述组播报文,将所述组播报文拆分成所述数据净荷和控制信息,将所述数据净荷发送给所述组播缓冲器,将所述控制信息发送给所述分配器;
所述方法还包括:当所述控制信息中包括所述标识信息时,所述分配器根据所述标识信息确定需要接收所述数据净荷的第二节点,向所述报文收发控制器发送第三控制信号;
所述组播控制器将所述组播缓冲器中缓存的数据净荷,通过所述链接路径发送给所述第二节点,包括:所述报文收发控制器根据所述第三控制信号从所述报文缓冲器中获取所述数据净荷,通过所述链接路径将所述数据净荷发送给确定的所述第二节点。
在一种可能的实现方式中,当所述组播组的标识信息包括所述组标识和所述节点位图时,所述分配器根据所述标识信息确定需要接收所述数据净荷的第二节点,包括:
所述分配器获取所述标识信息中的节点位图,根据所述节点位图中每一位的数值确定所述第二节点。
在一种可能的实现方式中,当所述链接路径包括所述数据总线、所述第一控制总线和所述第二控制总线时,
所述向所述报文收发控制器发送第三控制信号,包括:在所述分配器通过所述第二控制总线接收到每个第二节点发送的第二控制信号后,所述分配器向所述报文收发控制器发送所述第三控制信号,所述第二控制信号用于指示所述第二节点处于准备接收数据状态;
所述通过所述链接路径将所述数据净荷发送给确定的所述第二节点,包括:所述报文收发控制器通过所述数据总线向每个确定的第二节点发送所述数据净荷,通过所述第一控制总线向每个确定的第二节点发送所述第一控制信号,所述第一控制信号用于指示所述第二节点接收所述数据净荷。
在一种可能的实现方式中,当所述片上网络还包括所述移位寄存器,且所述组播组的标识信息包括所述组标识和所述节点位图时,所述第一路由器根据所述标识信息确定所述组播组中的第二路由器,包括:
所述第一路由器从所述移位寄存器中获取所述右移位数;
所述第一路由器将所述标识信息右移所述右移位数,得到所述组标识;
所述第一路由器从预存的组播转发表中查找与所述组标识对应的第二路由器。
在一种可能的实现方式中,所述第一节点通过所述适配器向所述第一路由器发送组播报文,包括:
所述第一节点通过所述适配器向所述第一路由器发送报文和报文类型标识,所述报文类型标识用于指示所述报文是组播报文或单播报文;
所述第一路由器接收所述报文和所述报文类型标识,在根据所述报文类型标识确定所述报文是组播报文时,确定接收到所述组播报文。
本申请实施例提供的技术方案的有益效果至少包括:
在人工智能运算中,通常是一个固定的源节点向多个固定的目标节点发送输入数据、权重、中间结果,且目标节点向源节点或其他目标节点发送中间结果。可见,源节点需要通过组播方式向目标节点发送数据,目标节点需要通过单播方式向源节点或其他目标节点发送数据。基于人工智能算法的上述特点,可以设计片上网络包括至少一个第一处理单元和至少一个组播组;第一处理单元中包括顺序相连的第一节点、适配器和第一路由器;组播组中包括组播网络、第二处理单元和至少一个第三处理单元,第二处理单元中包括顺序相连的第二节点、适配器和第二路由器,,第三处理单元中包括顺序相连的第二节点、适配器和第一路由器,第二节点和第二路由器分别与组播网络相连;第一路由器和第二路由器之间通过链路相连。这样,第一节点作为源节点,组播组中的第二节点作为目标节点,且源节点可以通过第一路由器向第二路由器发送组播报文,第二路由器将组播报文发送给组播网络,组播网络再将组播报文发送给各个第二节点,实现了源节点向组播组中的目标节点组播报文的目的,从而可以简化算法,且降低了成本。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是相关技术中示出的一种片上网络的结构示意图;
图2是本申请一个实施例提供的一种片上网络的结构示意图;
图3是本申请一个实施例提供的一种组播网络的结构示意图;
图4是本申请一个实施例提供的一种组播控制器和第二节点的连接示意图;
图5是本申请一个实施例提供的组播报文传输方法的方法流程图;
图6是本申请一个实施例提供的组播报文传输方法的方法流程图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
请参考图2,其示出了本申请一个实施例提供的片上网络的结构示意图,该片上网络可以应用于芯片中。该片上网络可以包括:至少一个第一处理单元210和至少一个组播组220。
第一处理单元210中包括顺序相连的第一节点、适配器和第一路由器。其中,第一节点是计算节点,适配器在第一节点和第一路由器之间完成数据的封装和解封装,路由器按照一定的策略完成数据的转发,链路是底层的数据通道。片上网络中的至少一个第一节点为源节点,即以组播方式向其他节点发送组播报文的节点。
组播组220中包括组播网络221、第二处理单元222和至少一个第三处理单元223,第二处理单元222中包括顺序相连的第二节点、适配器和第二路由器,第三处理单元223中包括顺序相连的第二节点、适配器和第一路由器,第二节点和第二路由器分别与组播网络221相连;第一路由器和第二路由器之间通过链路相连;第二路由器用于接收第一路由器转发的组播报文,并将组播报文转发给组播网络221。其中,第二节点是计算节点,适配器在第二节点和第二路由器之间以及第二节点和第一路由器之间完成数据的封装和解封装,第二路由器和第一路由器按照一定的策略完成数据的转发,链路是底层的数据通道。第二节点为目标节点,即接收组播报文的节点。
其中,第一路由器可以包括多个端口,且通过其中的一个端口与第一节点或第二节点相连,通过剩余端口分别与相邻的第一路由器或第二路由器相连。以第一路由器包括五个端口为例,则通过一个端口与第一节点或第二节点相连,通过剩余四个端口分别与东南西北四个方向的相邻的第一路由器或第二路由器相连。
第二路由器与第一路由器相比增加了一个组播端口,通过该组播端口与组播网络221相连,从而在第二路由器接收到第一路由器转发的组播报文时,通过该组播端口将该组播报文发送给组播网络221。
图2中以片上网络为二维mesh(网状)网络且包括64个处理单元,且处理单元1-4和组播网络1组成组播组1,处理单元5-8和组播网络2组成组播组2为例进行说明,则处理单元1中的第二路由器router1通过组播端口与组播网络221相连,以通过组播端口将组播报文发送给组播网络1,节点1-4为与组播网络1相连的第二节点,以接收组播网络1发送的组播报文。处理单元5中的第二路由器router5通过组播端口与组播网络221相连,以通过组播端口将组播报文发送给组播网络2,节点5-8为与组播网络2相连的第二节点,以接收组播网络2发送的组播报文。
需要说明的第一点是,图2中的组播网络221与连续的第二处理单元222和第三处理单元223相连,实际实现时,组播网络221也可以与不连续的第二处理单元222和第三处理单元223相连。
需要说明的第二点是,图2中的组播网络221与多个第二节点相连,且第一节点可以根据需求向部分或全部的第二节点发起组播。比如,源节点为节点64,则节点64可以向节点1-4或其内部的节点任意组合发起组播,节点64也可以向节点5-8或其内部的节点任意组合发起组播。
本实施例中,可以结合人工智能运算单向组播的特点,把处理器的多个运算核根据业务模型进行组播组的划分,有针对性的设计组播组。另外,还在第二路由器中设计专门的组播算法和组播端口,只对特定节点转发组播流量,转发效率更高且路由器的组播设计精简。这样,通过一个特殊设计的组播组可以实现组播报文的高效收发,充分利用了总线拓扑的优点。
综上所述,本申请实施例提供的片上网络,可以基于人工智能算法的特点进行设计,这样,第一节点作为源节点,组播组中的第二节点作为目标节点,且源节点可以通过第一路由器向第二路由器发送组播报文,第二路由器将组播报文发送给组播网络,组播网络再将组播报文发送给各个第二节点,实现了源节点向组播组中的目标节点组播报文的目的,从而可以简化算法,且降低了成本。
请参考图3,在一个可选的实施例中,组播网络221中包括组播缓冲器310、组播控制器320和链接路径(Linkpath)330,组播缓冲器310与组播控制器320相连,组播控制器320通过链接路径330与第二节点相连。其中,组播缓冲器310用于缓存组播报文中的数据净荷,链接路径330是组播控制器320和各个第二节点之间的数据链路。
具体的,组播控制器320用于接收第二路由器发送的组播报文,将组播报文中的数据净荷发送给组播缓冲器310;组播缓冲器310用于缓存数据净荷;组播控制器320还用于将组播缓冲器310中缓存的数据净荷,通过链接路径330发送给第二节点。
请参考图4,在一个可选的实施例中,组播控制器320中包括报文收发控制器321和分配器322,报文收发控制器321与分配器322相连。对应的,链接路径330中包括数据总线(Data)331、第一控制总线(Valid)332和第二控制总线(Ready)333,报文收发控制器321通过数据总线331和第一控制总线332与第二节点相连,分配器322通过第二控制总线333与第二节点相连。
具体的,报文收发控制器321用于通过数据总线331向第二节点发送数据净荷,通过第一控制总线332向第二节点发送第一控制信号,第一控制信号用于指示第二节点接收数据净荷;第二节点用于通过第二控制总线333向分配器322发送第二控制信号,第二控制信号用于指示第二节点处于准备接收数据状态。
如图4所示,每个第二节点各对应于一对ready-valid信号,其中,ready信号(即第二控制信号)是第二节点的输出信号,被送入分配器322,表示第二节点可以接收新的数据;valid信号(即第一控制信号)是第二节点的输入信号,由报文收发控制器321产生,表示数据总线331上有新的数据需要对应的第二节点接收。
当报文收发控制器321通过第二节点的组播端口接收组播报文时,将组播报文分拆成控制信息和数据净荷,该控制信息中至少包括组播组220的标识信息。报文收发控制器321将控制信息发送给分配器322,将数据净荷发送给组播缓冲器310。分配器322接收控制信息后,根据控制信息计算需要接收组播报文的第二节点,当通过第二控制总线333接收到计算出的所有第二节点发送的第二控制信号时,确定所有第二节点处于ready状态时,向报文收发控制器321发送第三控制信号,以通知报文收发控制器321准备发送对应的数据净荷。当报文收发控制器321接收到分配器322发送的第三控制信号后,从组播缓冲器310中获取数据净荷,在数据总线331上向对应的第二节点发送数据净荷,同时在第一控制总线332上向对应的第二节点发送第一控制信号,第二节点发现第一控制信号时开始接收数据总线331上的数据净荷。
为了便于区分组播组220,还可以为每个组播组220分配一个标识信息。在一种可能的实现方式中,标识信息由两个域组成,第一个域表示组播组220在片上网络中的组标识,第二个域表示组播组220内需要参加当前组播的节点位图。
组标识可以用至少一位数据表示,且数据的位数与组播组220的数量相关。比如,片上网络中包括2个组播组220时,可以用一位数据区分,如0标识组播组1,1标识组播组2;片上网络中包括4个组播组220时,可以用两位数据区分,如00标识组播组1,01标识组播组2,10标识组播组3,11标识组播组4。
节点位图中的每一位对应于组播组220中的一个第二节点,且每一位的数值可以表示对应的第二节点是否参与当前组播。以数值0和1为例,则当节点位图中的某一位为0时,表示对应的第二节点不参与当前组播;当节点位图中的某一位为1时,表示对应的第二节点参与当前组播。
以图2中的组播组1和组播组2为例,则组播组1的标识信息为0xxxx,组播组2的标识信息为1xxxx,且xxxx的取值为0000-1111。
在确定了标识信息之后,还需要在第一路由器中设置组播路由表,该组播路由表中包含组标识与第二路由器之间的映射关系。由于第一路由器只能从组播报文中获取标识信息,所以,第一路由器还需要对标识信息进行处理,从而得到其中的组标识。
在一种实现方式中,可以在片上网络中设置移位寄存器,移位寄存器与第一路由器相连,且移位寄存器用于存储右移位数。这样,当组播组的标识信息包括组标识和节点位图,且节点位图中的每一位用于指示第二节点是否参与当前组播时,第一路由器用于将标识信息右移该右移位数,根据右移后得到的组标识确定组播组中的第二路由器,将组播报文发送给第二路由器。其中,右移位数的作用是屏蔽标识信息中的节点位图,使得第一路由器可以根据标识信息确定组标识,再在组播路由表中查找到对应的第二路由器。
以图2中的组播组1为例,假设组播组1的标识信息为01111,表示组标识为0,节点1-4参与当前组播,且右移位数为4,则第一路由器可以将01111右移四位,得到组标识0,再在组播路由表中查找到对应的第二路由器是router1。
请参考图5,其示出了本申请一个实施例提供的组播报文传输方法的方法流程图,该组播报文传输方法可以应用于片上网络中。该组播报文传输方法,可以包括:
步骤501,第一节点通过适配器向第一路由器发送组播报文,组播报文中包括数据净荷和组播组的标识信息。
步骤502,第一路由器根据标识信息确定组播组中的第二路由器,将组播报文发送给第二路由器。
步骤503,第二路由器将组播报文发送给组播网络。
步骤504,组播网络将组播报文中的数据净荷发送给第二节点。
综上所述,本申请实施例提供的组播报文传输方法,可以基于人工智能算法的特点进行设计,即,第一节点作为源节点,组播组中的第二节点作为目标节点,且源节点可以通过第一路由器向第二路由器发送组播报文,第二路由器将组播报文发送给组播网络,组播网络再将组播报文发送给各个第二节点,实现了源节点向组播组中的目标节点组播报文的目的,从而可以简化算法,且降低了成本。
请参考图6,其示出了本申请一个实施例提供的组播报文传输方法的方法流程图,该组播报文传输方法可以应用于服务器中。该组播报文传输方法,可以包括:
步骤601,第一节点通过适配器向第一路由器发送组播报文,组播报文中包括数据净荷和组播组的标识信息。
第一节点可以生成单播报文,也可以生成组播报文,为了便于区分,第一节点还可以在发送报文时发送报文类型标识,从而通过报文类型标识来指示报文是单播报文还是组播报文。
具体的,第一节点通过适配器向第一路由器发送组播报文,可以包括:第一节点通过适配器向第一路由器发送报文和报文类型标识,报文类型标识用于指示报文是组播报文或单播报文;第一路由器接收报文和报文类型标识,在根据报文类型标识确定报文是组播报文时,确定接收到组播报文。
需要说明的是,若第一路由器确定报文是组播报文,则继续执行步骤602;若第一路由器确定报文是单播报文,则遵循默认的转发规则根据目的节点计算下一跳转发端口,此后的流程可以参考现有技术中的实现流程,此处不作赘述。
其中,组播报文中除了包含数据净荷,还需要包含组播组的标识信息。在实际实现时,可以由第一节点将组播组的标识信息添加到组播报文的头部中,也可以由适配器将组播组的标识信息添加到组播报文中的头部中,本实施例不作限定。
步骤602,第一路由器根据标识信息确定组播组中的第二路由器,将组播报文发送给第二路由器。
具体的,第一路由器根据标识信息确定组播组中的第二路由器,可以包括:第一路由器从移位寄存器中获取右移位数;第一路由器将标识信息右移该右移位数,得到组标识;第一路由器从预存的组播转发表中查找与组标识对应的第二路由器。
以图2中的组播组1为例,假设组播组1的标识信息为01111,表示组标识为0,节点1-4参与当前组播,且右移位数为4,则第一路由器可以将01111右移四位,得到组标识0,再在组播路由表中查找到对应的第二路由器是router1。
在确定第二路由器后,第一路由器可以根据第二路由器的目的地址计算下一条转发端口,从而将组播报文发送给下一路由器。下一路由器在接收到组播报文后,先根据目的地址确定自身是不是第二路由器,若自身是第二路由器,则执行步骤603;若不是第二路由器,则继续计算下一条转发端口。
步骤603,第二路由器将组播报文发送给组播网络。
第二路由器可以通过组播端口将组播报文发送给组播网络。
步骤604,组播网络中的报文收发控制器接收第二路由器发送的组播报文,将组播报文拆分成数据净荷和控制信息,将数据净荷发送给组播缓冲器,将控制信息发送给分配器。
步骤605,组播缓冲器缓存数据净荷。
步骤606,当控制信息中包括标识信息时,分配器根据标识信息确定需要接收数据净荷的第二节点,向报文收发控制器发送第三控制信号。
具体的,分配器根据标识信息确定需要接收数据净荷的第二节点,可以包括:分配器获取标识信息中的节点位图,根据节点位图中每一位的数值确定第二节点。
比如,标识信息为01111,则分配器确定节点1-4都参与当前组播,将节点1-4确定为第二节点。
具体的,向报文收发控制器发送第三控制信号,可以包括:在分配器通过第二控制总线接收到每个第二节点发送的第二控制信号后,分配器向报文收发控制器发送第三控制信号,第二控制信号用于指示第二节点处于准备接收数据状态。
以图4为例,则在分配器接收到每个第二节点发送的ready信号后,向报文收发控制器发送第三控制信号。
步骤607,报文收发控制器根据第三控制信号从报文缓冲器中获取数据净荷,通过链接路径将数据净荷发送给确定的第二节点。
具体的,通过链接路径将数据净荷发送给确定的第二节点,可以包括:报文收发控制器通过数据总线向每个确定的第二节点发送数据净荷,通过第一控制总线向每个确定的第二节点发送第一控制信号,第一控制信号用于指示第二节点接收数据净荷。
当报文收发控制器接收到分配器发送的第三控制信号后,从组播缓冲器中获取数据净荷,在数据总线上向对应的第二节点发送数据净荷,同时在第一控制总线上向对应的第二节点发送第一控制信号,第二节点发现第一控制信号时开始接收数据总线上的数据净荷。
综上所述,本申请实施例提供的组播报文传输方法,可以基于人工智能算法的特点进行设计,即,第一节点作为源节点,组播组中的第二节点作为目标节点,且源节点可以通过第一路由器向第二路由器发送组播报文,第二路由器将组播报文发送给组播网络,组播网络再将组播报文发送给各个第二节点,实现了源节点向组播组中的目标节点组播报文的目的,从而可以简化算法,且降低了成本。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述并不用以限制本申请实施例,凡在本申请实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请实施例的保护范围之内。
Claims (11)
1.一种片上网络,其特征在于,所述片上网络包括:至少一个第一处理单元和至少一个组播组;
所述第一处理单元中包括顺序相连的第一节点、适配器和第一路由器;
所述组播组中包括组播网络、第二处理单元和至少一个第三处理单元,所述第二处理单元中包括顺序相连的第二节点、适配器和第二路由器,所述第三处理单元中包括顺序相连的第二节点、适配器和第一路由器,所述第二节点和所述第二路由器分别与所述组播网络相连;
所述第一路由器和所述第二路由器之间通过链路相连;
所述第二路由器用于接收所述第一路由器转发的组播报文,并将所述组播报文转发给所述组播网络。
2.根据权利要求1所述的片上网络,其特征在于,所述组播网络中包括组播缓冲器、组播控制器和链接路径,所述组播缓冲器与所述组播控制器相连,所述组播控制器通过所述链接路径与所述第二节点相连;
所述组播控制器用于接收所述第二路由器发送的组播报文,将所述组播报文中的数据净荷发送给所述组播缓冲器;
所述组播缓冲器用于缓存所述数据净荷;
所述组播控制器还用于将所述组播缓冲器中缓存的数据净荷,通过所述链接路径发送给所述第二节点。
3.根据权利要求2所述的片上网络,其特征在于,所述组播控制器中包括报文收发控制器和分配器,所述报文收发控制器与所述分配器相连;
所述链接路径中包括数据总线、第一控制总线和第二控制总线,所述报文收发控制器通过所述数据总线和所述第一控制总线与所述第二节点相连,所述分配器通过所述第二控制总线与所述第二节点相连;
所述报文收发控制器用于通过所述数据总线向所述第二节点发送所述数据净荷;
所述报文收发控制器用于通过所述第一控制总线向所述第二节点发送第一控制信号,所述第一控制信号用于指示所述第二节点接收所述数据净荷;
所述第二节点用于通过所述第二控制总线向所述分配器发送第二控制信号,所述第二控制信号用于指示所述第二节点处于准备接收数据状态。
4.根据权利要求1所述的片上网络,其特征在于,所述片上网络还包括移位寄存器,所述移位寄存器与所述第一路由器相连;
所述移位寄存器用于存储右移位数;
当所述组播组的标识信息包括组标识和节点位图,且所述节点位图中的每一位用于指示所述第二节点是否参与当前组播时,所述第一路由器用于将所述标识信息右移所述右移位数,根据右移后得到的所述组标识确定所述组播组中的第二路由器,将所述组播报文发送给所述第二路由器。
5.一种组播报文传输方法,其特征在于,用于如权利要求1至4中任一项所述的片上网络中,所述方法包括:
所述第一节点通过所述适配器向所述第一路由器发送组播报文,所述组播报文中包括数据净荷和所述组播组的标识信息;
所述第一路由器根据所述标识信息确定所述组播组中的第二路由器,将所述组播报文发送给所述第二路由器;
所述第二路由器将所述组播报文发送给所述组播网络;
所述组播网络将所述组播报文中的数据净荷发送给所述第二节点。
6.根据权利要求5所述的方法,其特征在于,当所述组播网络中包括所述组播缓冲器、所述组播控制器和所述链接路径时,所述组播网络将所述组播报文中的数据净荷发送给所述第二节点,包括:
所述组播控制器接收所述第二路由器发送的所述组播报文,将所述组播报文中的数据净荷发送给所述组播缓冲器;
所述组播缓冲器缓存所述数据净荷;
所述组播控制器将所述组播缓冲器中缓存的数据净荷,通过所述链接路径发送给所述第二节点。
7.根据权利要求6所述的方法,其特征在于,当所述组播控制器中包括所述报文收发控制器和所述分配器时,
所述组播控制器接收所述第二路由器发送的所述组播报文,将所述组播报文中的数据净荷发送给所述组播缓冲器,包括:所述报文收发控制器接收所述第二路由器发送的所述组播报文,将所述组播报文拆分成所述数据净荷和控制信息,将所述数据净荷发送给所述组播缓冲器,将所述控制信息发送给所述分配器;
所述方法还包括:当所述控制信息中包括所述标识信息时,所述分配器根据所述标识信息确定需要接收所述数据净荷的第二节点,向所述报文收发控制器发送第三控制信号;
所述组播控制器将所述组播缓冲器中缓存的数据净荷,通过所述链接路径发送给所述第二节点,包括:所述报文收发控制器根据所述第三控制信号从所述报文缓冲器中获取所述数据净荷,通过所述链接路径将所述数据净荷发送给确定的所述第二节点。
8.根据权利要求7所述的方法,其特征在于,当所述组播组的标识信息包括所述组标识和所述节点位图时,所述分配器根据所述标识信息确定需要接收所述数据净荷的第二节点,包括:
所述分配器获取所述标识信息中的节点位图,根据所述节点位图中每一位的数值确定所述第二节点。
9.根据权利要求7所述的方法,其特征在于,当所述链接路径包括所述数据总线、所述第一控制总线和所述第二控制总线时,
所述向所述报文收发控制器发送第三控制信号,包括:在所述分配器通过所述第二控制总线接收到每个第二节点发送的第二控制信号后,所述分配器向所述报文收发控制器发送所述第三控制信号,所述第二控制信号用于指示所述第二节点处于准备接收数据状态;
所述通过所述链接路径将所述数据净荷发送给确定的所述第二节点,包括:所述报文收发控制器通过所述数据总线向每个确定的第二节点发送所述数据净荷,通过所述第一控制总线向每个确定的第二节点发送所述第一控制信号,所述第一控制信号用于指示所述第二节点接收所述数据净荷。
10.根据权利要求5所述的方法,其特征在于,当所述片上网络还包括所述移位寄存器,且所述组播组的标识信息包括所述组标识和所述节点位图时,所述第一路由器根据所述标识信息确定所述组播组中的第二路由器,包括:
所述第一路由器从所述移位寄存器中获取所述右移位数;
所述第一路由器将所述标识信息右移所述右移位数,得到所述组标识;
所述第一路由器从预存的组播转发表中查找与所述组标识对应的第二路由器。
11.根据权利要求10所述的方法,其特征在于,所述第一节点通过所述适配器向所述第一路由器发送组播报文,包括:
所述第一节点通过所述适配器向所述第一路由器发送报文和报文类型标识,所述报文类型标识用于指示所述报文是组播报文或单播报文;
所述第一路由器接收所述报文和所述报文类型标识,在根据所述报文类型标识确定所述报文是组播报文时,确定接收到所述组播报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111205341.9A CN115996199A (zh) | 2021-10-15 | 2021-10-15 | 片上网络及组播报文传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111205341.9A CN115996199A (zh) | 2021-10-15 | 2021-10-15 | 片上网络及组播报文传输方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115996199A true CN115996199A (zh) | 2023-04-21 |
Family
ID=85992589
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111205341.9A Pending CN115996199A (zh) | 2021-10-15 | 2021-10-15 | 片上网络及组播报文传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115996199A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118585357A (zh) * | 2024-08-02 | 2024-09-03 | 北京开源芯片研究院 | 验证环境中的组件通信方法、装置、设备及存储介质 |
-
2021
- 2021-10-15 CN CN202111205341.9A patent/CN115996199A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118585357A (zh) * | 2024-08-02 | 2024-09-03 | 北京开源芯片研究院 | 验证环境中的组件通信方法、装置、设备及存储介质 |
CN118585357B (zh) * | 2024-08-02 | 2024-10-15 | 北京开源芯片研究院 | 验证环境中的组件通信方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6535504B1 (en) | Link aggregation path selection method | |
US6778532B1 (en) | Packet relaying apparatus and high speed multicast system | |
US7911977B2 (en) | Designated router assignment per multicast group address/range | |
CN109873771B (zh) | 一种片上网络系统及其通信方法 | |
JPWO2011148583A1 (ja) | バス制御装置およびバス制御装置に指示を出力する制御装置 | |
CN101019385B (zh) | 在整个设备堆栈中的端口聚合 | |
CN104883304A (zh) | 用于部分纠缠量子对桥接通信网络的路由方法 | |
US10637739B2 (en) | Network topology system and building method for topologies and routing tables thereof | |
WO2022121707A1 (zh) | 报文传输方法、设备及系统 | |
CN115996199A (zh) | 片上网络及组播报文传输方法 | |
CN103609063A (zh) | 协议无关组播最后一跳路由器发现 | |
CN116094987A (zh) | 转发路径的确定方法及装置 | |
CN114079634B (zh) | 一种报文转发方法、装置及计算机可读存储介质 | |
CN111464443B (zh) | 基于服务功能链的报文转发方法、装置、设备及存储介质 | |
CN113285878A (zh) | 负载分担的方法、第一网络设备 | |
CN110324249B (zh) | 一种蜻蜓网络架构及其组播路由方法 | |
CN110996266A (zh) | 自组网系统的多播组数据传输方法 | |
CN114697300B (zh) | 一种高时效通信系统的数据组播实现方法 | |
CN115225708B (zh) | 一种报文转发方法计算机设备及存储介质 | |
WO2022257854A1 (zh) | 一种报文发布方法、转发路径处理方法及装置 | |
WO2022267083A1 (zh) | 确定路径的方法和装置 | |
CN114697347B (zh) | 一种具备网内存储能力的数据传输系统 | |
CN110191069B (zh) | 一种带有多条通道的环形片上网络 | |
CN116828024A (zh) | 业务连接的标识方法、装置、系统及存储介质 | |
CN104052671B (zh) | Trill网络中的组播转发表项的处理方法及路由桥 |
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 |