CN113285880A - 多播路由方法、互连设备、网状网络系统及其配置方法 - Google Patents

多播路由方法、互连设备、网状网络系统及其配置方法 Download PDF

Info

Publication number
CN113285880A
CN113285880A CN202110811612.9A CN202110811612A CN113285880A CN 113285880 A CN113285880 A CN 113285880A CN 202110811612 A CN202110811612 A CN 202110811612A CN 113285880 A CN113285880 A CN 113285880A
Authority
CN
China
Prior art keywords
interconnect device
determining
interconnect
routing policy
response
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
CN202110811612.9A
Other languages
English (en)
Other versions
CN113285880B (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.)
Beijing Bilin Technology Development Co ltd
Shanghai Bi Ren Technology Co ltd
Original Assignee
Beijing Bilin Technology Development Co ltd
Shanghai Biren Intelligent 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 Beijing Bilin Technology Development Co ltd, Shanghai Biren Intelligent Technology Co Ltd filed Critical Beijing Bilin Technology Development Co ltd
Priority to CN202110811612.9A priority Critical patent/CN113285880B/zh
Publication of CN113285880A publication Critical patent/CN113285880A/zh
Application granted granted Critical
Publication of CN113285880B publication Critical patent/CN113285880B/zh
Priority to US17/858,014 priority patent/US11811512B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/14Routing performance; Theoretical aspects

Landscapes

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

Abstract

本发明提供了一种用于网状网络系统的多播路由方法、互连设备、网状网络系统及其配置方法。该方法包括,在每个处理子系统的多个互连设备中的每个内部互连设备处:响应于接收到针对多个存储器中的一个目的存储器的多播访问请求,基于网状网络系统的拓扑结构确定从内部互连设备到目的存储器的最短路径,其中内部互连设备没有链路与外部处理子系统相连;确定最短路径的数量是否大于一;响应于确定最短路径的数量等于一,将多播访问请求沿着最短路径路由到目的存储器;响应于确定最短路径的数量大于一,基于第二静态路由策略确定多播访问请求的下一跳互连设备,第二静态路由策略不同于第一静态路由策略。

Description

多播路由方法、互连设备、网状网络系统及其配置方法
技术领域
本发明概括而言涉及多处理器领域,更具体地,涉及一种用于网状网络系统的多播路由方法、该网状网络系统的互连设备,该网状网络系统以及配置该网状网络系统的方法。
背景技术
在许多需要快速执行大量运算的领域,已经广泛使用了多处理器系统。一种典型的多处理器系统包括多个处理器和多个存储器,它们通过由交换机和物理传输链路构成的互连网络连接在一起。多个处理器通常执行相同的程序,并以完全相同的顺序访问存储器中的相同数据。例如,在人工智能(AI)领域对神经网络进行模型并行处理的并行计算系统中,多个处理器被编程为从存储器中读取相同的神经网络模型参数,并使用它们来处理不同批次的数据。这些处理器以完全相同的顺序读取相同的参数数据。
然而,在这样的多处理器系统中,如果多个处理器需要从同一存储器获取特定数据,则每个处理器需要分别从该存储器读取该数据,从而导致存储器访问带宽和网络链路带宽的消耗比每个单独处理器所需的带宽高很多倍,对整个网络造成巨大的负担。
针对上述问题的一种方法是在存储器处添加高速缓存。当第一次从该存储器读取某一数据时,读出的数据被存储在高速缓存中。随后其他处理器对该数据的读取请求可以直接从该高速缓存中获取,而无需再次访问较低带宽的存储器。然而,一方面,这种方法只能缓解低速存储器的带宽瓶颈,不能解决整个网络的链路带宽的消耗问题。另一方面,高速缓存的实现成本很高,但是它可以提供的数据访问带宽通常仅比低速存储器高几倍,可以缓存的数据量比低速存储器低2-3个数量级。因此,对于诸如神经网络处理之类的应用,这种方法也不能完全解决存储器访问带宽问题。
针对上述问题的另一种方法是使用通用多播写入技术。一个处理器或多播协处理器从某一存储器读取数据,然后通过多播写操作将该数据发送到多个请求处理器。然而,这种方法对多处理器系统的编程方式需要进行重大更改,多个处理器必须协调以发起和完成数据访问,这显著增加了编程复杂度,并使编程模型与现有软件不兼容。此外,如果互连网络不支持多播写入(例如几乎所有片上互连网络都不支持多播写入),则不能减少互连网络链路上的传输带宽消耗。
针对上述问题,本发明的权利人在其在先专利(授权公告号CN112073321B)中已经提出了一种用于互连网络的互连设备,其中通过在互连设备中配置专用的请求处理模块和响应处理模块来将多播组中的处理器的数据访问请求进行合并并将响应数据分发给各个请求处理器,从而降低了存储器访问带宽消耗和互连网络上的传输带宽消耗。
然而,在上述专利公开的方案中,整个互连网络使用静态路由,这在一些情况下可能造成某些链路拥堵,从而降低网络性能。
发明内容
针对上述问题中的至少一个,本发明提供了一种用于网状网络系统的多播路由方法、用于该网状网络系统的互连设备以及配置该网状网络系统的方法,其通过根据网状网络系统中的每个处理子系统内的互连设备是否与外部处理子系统相连为这些互连设备配置不同的路由策略,使得各个处理子系统内的链路的响应数据负载更加均衡,从而提高了网络性能。
根据本发明的一个方面,提供了一种用于网状网络系统的多播路由方法。所述网状网络系统包括多个处理子系统和多个存储器,每个处理子系统包括多个处理器和连接所述多个处理器的多个互连设备,所述多个处理子系统之间的路由使用第一静态路由策略。所述方法包括,在每个处理子系统的多个互连设备中的每个内部互连设备处:响应于接收到针对所述多个存储器中的一个目的存储器的多播访问请求,基于所述网状网络系统的拓扑结构确定从所述内部互连设备到所述目的存储器的最短路径,其中所述内部互连设备没有链路与外部处理子系统相连;确定所述最短路径的数量是否大于一;响应于确定所述最短路径的数量等于一,将所述多播访问请求沿着所述最短路径路由到所述目的存储器;响应于确定所述最短路径的数量大于一,基于第二静态路由策略确定所述多播访问请求的下一跳互连设备,所述第二静态路由策略不同于所述第一静态路由策略。
在一些实施例中,所述方法还包括,在每个处理子系统的多个互连设备中的每个外联互连设备处:响应于接收到针对所述多个存储器中的一个目的存储器的多播访问请求,基于所述网状网络系统的拓扑结构确定从所述外联互连设备沿最短路径到所述目的存储器的下一跳互连设备,其中所述外联互连设备具有至少一条链路与外部处理子系统相连;确定存在一个还是多个下一跳互连设备;响应于确定仅存在一个下一跳互连设备,将所述多播访问请求路由至所述下一跳互连设备;响应于确定存在多个下一跳互连设备,确定所述多个下一跳互连设备是否包括位于所述处理子系统内部的另一互连设备;以及响应于确定所述多个下一跳互连设备包括位于所述处理子系统内部的另一互连设备,将所述多播访问请求路由至所述另一互连设备。
根据本发明的另一个方面,提供了一种用于网状网络系统的互连设备,其中所述网状网络系统包括多个处理子系统和多个存储器,每个处理子系统包括多个处理器和连接所述多个处理器的多个互连设备,所述多个处理子系统之间的路由使用第一静态路由策略。所述互连设备被配置为:当所述互连设备没有链路与外部处理子系统相连时,响应于接收到针对所述多个存储器中的一个目的存储器的多播访问请求,基于所述网状网络系统的拓扑结构确定从所述互连设备到所述目的存储器的最短路径;确定所述最短路径的数量是否大于一;响应于确定所述最短路径的数量等于一,将所述多播访问请求沿着所述最短路径路由到所述目的存储器;响应于确定所述最短路径的数量大于一,基于第二静态路由策略确定所述多播访问请求的下一跳互连设备,所述第二静态路由策略不同于所述第一静态路由策略。
在一些实施例中,所述互连设备还被配置为:当所述互连设备具有至少一条链路与外部处理子系统相连时,响应于接收到针对所述多个存储器中的一个目的存储器的多播访问请求,基于所述网状网络系统的拓扑结构确定从所述互连设备沿最短路径到所述目的存储器的下一跳互连设备;确定是否存在一个或多个下一跳互连设备;响应于确定存在一个下一跳互连设备,将所述多播访问请求路由至所述下一跳互连设备;响应于确定存在多个下一跳互连设备,确定所述多个下一跳互连设备是否包括位于所述处理子系统内部的另一互连设备;以及响应于确定所述多个下一跳互连设备包括位于所述处理子系统内部的另一互连设备,将所述多播访问请求路由至所述另一互连设备。
根据本发明的再一个方面,提供了一种网状网络系统。所述网状网络系统包括多个处理子系统和多个存储器,每个处理子系统包括多个处理器和连接所述多个处理器的多个互连设备,并且所述多个处理子系统之间的路由使用第一静态路由策略,所述多个互连设备包括内部互连设备和外联互连设备,所述内部互连设备没有链路与外部处理子系统相连,所述外联互连设备具有至少一条链路与外部处理子系统相连,其中所述内部互连设备被配置为:响应于接收到针对所述多个存储器中的一个目的存储器的多播访问请求,基于所述网状网络系统的拓扑结构确定从所述内部互连设备到所述目的存储器的最短路径;确定所述最短路径的数量是否大于一;响应于确定所述最短路径的数量等于一,将所述多播访问请求沿着所述最短路径路由到所述目的存储器;以及响应于确定所述最短路径的数量大于一,基于第二静态路由策略确定所述多播访问请求的下一跳互连设备,所述第二静态路由策略不同于所述第一静态路由策略,并且其中所述外联互连设备被配置为:响应于接收到针对所述多个存储器中的一个目的存储器的多播访问请求,基于所述网状网络系统的拓扑结构确定从所述外联互连设备沿最短路径到所述目的存储器的下一跳互连设备;确定存在一个还是多个下一跳互连设备;响应于确定仅存在一个下一跳互连设备,将所述多播访问请求路由至所述下一跳互连设备;响应于确定存在多个下一跳互连设备,确定所述多个下一跳互连设备是否包括位于所述处理子系统内部的另一互连设备;以及响应于确定所述多个下一跳互连设备包括位于所述处理子系统内部的另一互连设备,将所述多播访问请求路由至所述另一互连设备。
根据本发明的又一个方面,提供了一种配置网状网络系统的方法,所述网状网络系统包括多个处理子系统和多个存储器,每个处理子系统包括多个处理器和连接所述多个处理器的多个互连设备,并且所述多个处理子系统之间的路由使用第一静态路由策略,所述方法包括:基于所述网状网络系统的拓扑结构确定所述多个互连设备中的一个互连设备是内部互连设备还是外联互连设备,其中所述内部互连设备没有链路与外部处理子系统相连,所述外联互连设备具有至少一条链路与外部处理子系统相连;响应于确定所述互连设备是内部互连设备,将所述内部互连设备配置为:响应于接收到针对所述多个存储器中的一个目的存储器的多播访问请求,基于所述网状网络系统的拓扑结构确定从所述内部互连设备到所述目的存储器的最短路径;确定所述最短路径的数量是否大于一;响应于确定所述最短路径的数量等于一,将所述多播访问请求沿着所述最短路径路由到所述目的存储器;以及响应于确定所述最短路径的数量大于一,基于第二静态路由策略确定所述多播访问请求的下一跳互连设备,所述第二静态路由策略不同于所述第一静态路由策略;以及响应于确定所述互连设备是外联互连设备,将所述外联互连设备配置为:响应于接收到针对所述多个存储器中的一个目的存储器的多播访问请求,基于所述网状网络系统的拓扑结构确定从所述外联互连设备沿最短路径到所述目的存储器的下一跳互连设备;确定存在一个还是多个下一跳互连设备;响应于确定仅存在一个下一跳互连设备,将所述多播访问请求路由至所述下一跳互连设备;响应于确定存在多个下一跳互连设备,确定所述多个下一跳互连设备是否包括位于所述处理子系统内部的另一互连设备;以及响应于确定所述多个下一跳互连设备包括位于所述处理子系统内部的另一互连设备,将所述多播访问请求路由至所述另一互连设备。
在一些实施例中,所述第一静态路由策略是横-纵路由策略和纵-横路由策略中的一种,所述第二静态路由策略是横-纵路由策略和纵-横路由策略中的另一种。
附图说明
通过参考下列附图所给出的本发明的具体实施方式的描述,将更好地理解本发明,并且本发明的其他目的、细节、特点和优点将变得更加显而易见。
图1示出了一种网状网络系统的示意图。
图2示出了根据本发明一些实施例的用于网状网络系统的多播路由方法的流程图。
图3示出了根据本发明另一些实施例的用于网状网络系统的多播路由方法的流程图。
图4示出了根据本发明的实施例的网状网络系统的数据流向的示意图。
图5示出了根据本发明一些实施例的互连设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的优选实施例。虽然附图中显示了本发明的优选实施例,然而应该理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本发明更加透彻和完整,并且能够将本发明的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一些实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。
在一些情况下,整个网络中的一部分处理器可能会被划分专用于执行特定应用,或者,一部分处理器被分配给特定主体控制和使用,在这种情况下,该网络中的处理器可能会被划分为多个处理子系统,这些处理子系统中的处理器形成一个多播组,并且与其他处理子系统共享相同的存储资源。
图1示出了一种网状网络系统100的示意图。如图1中所示,网状网络系统100包括多个处理子系统(图1中示例性示出了处理子系统10和20)和多个存储器(图1中示例性示出了存储器32、34和36)。其中每个处理子系统包括多个处理器和连接该多个处理器的多个互连设备。如图1中所示,处理子系统10包括处理器112、114、116和118和连接这些处理器的互连设备122、124、126和128,处理子系统20包括处理器212和216和连接这些处理器的互连设备222和226。处理器与互连设备之间、各个互连设备之间以及互连设备和存储器之间可以通过物理链路相连,注意,图1中仅对各个互连设备之间以及互连设备和存储器之间的物理链路140至149进行了编号,而省略了处理器与互连设备之间的编号。此外,图1中所示的每个处理子系统中的处理器和互连设备的数量和连接关系也是示例性的,并不用于限制本发明的范围。
一个处理子系统中的部分或者所有处理器可以构成一个多播组,一个多播组中的处理器可以同时对一个目的存储器(如存储器32、34或36)中的一个目标数据单元发起数据访问请求,称为多播访问请求。各个互连设备可以将一个多播组的各个处理器的多播访问请求合并为一个单播请求以从目的存储器中获取该目标数据单元,作为响应数据的该目标数据单元又可以被各个互连设备路由和多播传输给各个请求处理器。
在根据现有技术的静态路由策略中,为了完成各个处理子系统内的多播访问请求的合并,对这些多播访问请求必须使用相同的静态路由策略。在这种情况下,来自存储器32、34和36的响应数据可能会通过相同的链路,从而可能造成链路阻塞从而降低了链路性能。例如,假设图1的网状网络系统100使用的静态路由策略是纵-横静态路由(即y-x路由),则处理子系统10中的处理器112对于存储器32的多播访问请求将从互连设备122经由链路142和147到达存储器32,相应地,来自存储器32的响应数据将经由链路147和142到达互连设备122;处理器112对于存储器34的多播访问请求将从互连设备122经由链路142、145和148到达存储器34,相应地,来自存储器34的响应数据将经由链路148、145和142到达互连设备122;处理器112对于存储器36的多播访问请求将从互连设备122经由链路142、145、146和149到达存储器36,相应地,来自存储器36的响应数据将经由链路149、146、145和142到达互连设备122。
可以看出,在链路142上,可能有来自存储器32、34和36的三个响应数据,而在链路140、141、143和144上不存在响应数据,从而造成不同链路上的响应数据负载差别很大,降低了网络性能。
此外,各个处理子系统的划分通常是基于具体应用或者使用者来划分的。例如,作为资源提供者,网状网络系统100的拥有者可以根据不同客户的需求为其分配不同的处理子系统。也就是说,不同的处理子系统具有不同的使用者。在这种情况下,一个处理子系统中的多播组发出的多播访问请求需要在该处理子系统内完成合并。
针对上述问题,本发明提出了一种用于网状网络系统的多播路由方法,其通过根据每个处理子系统内的互连设备的不同连接关系(即是否与外部处理子系统相连)为这些互连设备配置不同的路由策略,使得各个处理子系统内的链路的响应数据负载更加均衡并且使得一个处理子系统内的多播访问请求能够在该处理子系统内完成合并,从而提高了网络性能。
具体地,在如图1所示的网状网络系统100中,对于各个处理子系统之间的数据路由,仍然利用原有的静态路由策略(以下称为第一静态路由策略),而在各个处理子系统内部的各个互连设备处,基于该互连设备是否与外部处理子系统相连而使用各自不同的路由策略。这些路由策略例如可以在网状网络系统100初始化,或者在网状网络系统100整体拓扑结构或者处理子系统的划分方式发生变化(以下将网状网络系统100的整体拓扑结构以及其中的处理子系统的划分方式统称为网状网络系统100的拓扑结构)时由更高层的控制器(如主CPU)来配置,以使得各个互连设备在接收到多播访问请求时执行相应的多播路由方法。
在配置各个互连设备的路由方法之前,可以基于网状网络系统100的拓扑结构确定一个互连设备是内部互连设备还是外联互连设备。这里,内部互连设备是指没有链路与外部处理子系统相连的互连设备,而外联互连设备是指具有至少一条链路与外部处理子系统相连的互连设备(也可以称为边缘互连设备)。在本文中,可以将一个互连设备所属的处理子系统(也可以称为本地处理子系统)之外的任意其他处理子系统称为外部处理子系统。
例如,在图1所示的网状网络系统100中,对于计算子系统10中的互连设备122来说,其具有三条链路,其中链路140与同一处理子系统10内的互连设备124相连,链路142与同一处理子系统10内的互连设备126相连,此外还通过另一链路与同一处理子系统10内的处理器112相连。也就是说,互连设备122没有链路与外部处理子系统相连,因此可以将互连设备122确定为内部互连设备。类似地,对于计算子系统10中的互连设备126来说,其具有四条链路,其中链路142与同一处理子系统10内的互连设备122相连,链路145与同一处理子系统10内的互连设备128相连,链路147与存储器32相连,此外还通过另一链路与同一处理子系统10内的处理器116相连。即,互连设备126也没有链路与其他处理子系统相连,因此可以将互连设备126确定为内部互连设备。
又例如,对于计算子系统10中的互连设备124来说,其具有四条链路,其中链路140和143分别与同一处理子系统10内的互连设备122和128相连,链路141与另一处理子系统20内的互连设备222相连,此外还通过另一链路与同一处理子系统10内的处理器114相连。即,互连设备124具有一条链路与外部处理子系统20相连,因此可以将互连设备124确定为外联互连设备。类似地,互连设备128也可以被确定为外联互连设备。
图2示出了根据本发明一些实施例的用于网状网络系统100的多播路由方法200的流程图。多播路由方法200由内部互连设备(如互连设备122和126)在接收到多播访问请求时执行。以下以内部互连设备122为例对多播路由方法200进行描述。
如图2中所示,在步骤210,当接收到针对多个存储器32、34和36中的一个目的存储器的多播访问请求时,该内部互连设备122可以基于网状网络系统100的拓扑结构确定从内部互连设备122到该目的存储器的最短路径。例如,如图1中所示,如果该多播访问请求的目的存储器是存储器32,则从内部互连设备122到目的存储器32的最短路径是通过链路142和147到存储器32。如果该多播访问请求的目的存储器是存储器34,则从内部互连设备122到目的存储器34的最短路径是通过链路142、145和148到存储器34或者通过链路140、143和148到存储器34。
在步骤220,内部互连设备122可以确定步骤210确定的最短路径的数量是否大于一。如上所述,在目的存储器是存储器32的情况下,最短路径的数量等于一,而在目的存储器是存储器34的情况下,最短路径的数量等于二。
如果确定步骤210确定的最短路径的数量大于一(步骤220的判断为“是”),则在步骤230,内部互连设备122可以基于第二静态路由策略确定该多播访问请求的下一跳互连设备。
这里,与前述对于整个网状网络系统100使用相同的静态路由策略不同,在步骤230中使用的第二静态路由策略与用于处理子系统之间的路由的第一静态路由策略不同。例如,假设第一静态路由策略为纵-横路由策略(也称为y-x路由),即多播访问请求首先纵向传输,然后横向传输,则第二静态路由策略可以是横-纵路由策略(也称为x-y路由),即多播访问请求首先横向传输,然后纵向传输。在这种情况下,在目的存储器是存储器34的情况下,内部互连设备122可以基于第二静态路由策略确定从内部互连设备122到目的存储器34的路径为通过链路140、143和148到目的存储器34,从而确定该多播访问请求的下一跳互连设备是通过链路140的互连设备124。
在具有多个最短路径时,通过在内部互连设备处选择不同的路由策略,能够使得各个链路上的负载均衡,避免多个响应数据在同一链路上发生冲突。
另一方面,如果确定步骤210确定的最短路径的数量等于一(步骤220的判断为“否”),则在步骤240,内部互连设备122可以沿着该最短路径将该多播访问请求路由至目的存储器。
例如,在目的存储器是存储器32的情况下,最短路径是通过链路142和147到达目的存储器32,即最短路径的数量等于一。在这种情况下,内部互连设备122可以沿着该最短路径将接收到的多播访问请求路由至目的存储器32。
这里,该最短路径可以是符合第一静态路由策略的,也可以是符合第二静态路由策略的。也就是说,在这种情况下,第一静态路由策略仍可能满足多播访问请求的路由需求和合并需求,因此这时使用的路由策略并不局限于第一或者第二静态路由策略。
通过这种方式,可以使得处理子系统中的内部互连设备的路由策略更加灵活,以使得按照相同路径返回的响应数据在各个链路上的分布更加均匀。
图3示出了根据本发明另一些实施例的用于网状网络系统100的多播路由方法300的流程图。多播路由方法300可以由外联互连设备(如互连设备124和128)在接收到多播访问请求时执行。以下以外联互连设备124为例对多播路由方法300进行描述。注意,这里虽然将多播路由方法300和多播路由方法200分开描述,但是本领域技术人员可以理解,多播路由方法300可以与多播路由方法200组合以用于整个网状网络系统100。
如图3中所示,在步骤310,当接收到针对多个存储器32、34和36中的一个目的存储器的多播访问请求时,该外联互连设备124可以基于网状网络系统100的拓扑结构确定从外联互连设备124沿最短路径到该目的存储器的下一跳互连设备。例如,如图1中所示,如果该多播访问请求的目的存储器是存储器34,则从外联互连设备124沿最短路径到目的存储器34的下一跳互连设备是互连设备128。如果该多播访问请求的目的存储器是存储器36,则从外联互连设备124沿最短路径到目的存储器36的下一跳互连设备是互连设备128或者互连设备222,即从外联互连设备124到目的存储器36有两条最短路径。
在步骤320,外联互连设备124可以确定步骤310确定的下一跳互连设备的数量是一个还是多个。如上所述,在目的存储器是存储器34的情况下,下一跳互连设备的数量是一个,而在目的存储器是存储器36的情况下,下一跳互连设备的数量是二个。
如果确定仅存在一个下一跳互连设备(步骤320的判断为“一个”),则在步骤330,外联互连设备124可以直接将该多播访问请求路由至该下一跳互连设备。例如,在目的存储器是存储器34的情况下,外联互连设备124可以直接将该多播访问请求路由至下一跳互连设备128。
另一方面,如果确定存在多个下一跳互连设备(步骤320的判断为“多个”),则在步骤340,外联互连设备124可以进一步确定该多个下一跳互连设备中是否包括位于本地处理子系统10内部的另一互连设备。
例如,在目的存储器是存储器36的情况下,外联互连设备124的下一跳互连设备包括处理子系统10内部的互连设备128和处理子系统20内部的互连设备222。即,包括位于本地处理子系统10内部的另一互连设备128。
在这种情况下,在步骤350,外联互连设备124可以将该多播访问请求路由至该另一互连设备128。这样,该多播访问请求可以在另一互连设备128处与该多播组的针对同一目的存储器的同一目标数据单元的其他多播访问请求进行合并。
另一方面,如果多个下一跳互连设备不包括位于本地处理子系统10内部的另一互连设备(步骤240的判断为“否”),即,下一跳互连设备都是外部处理子系统中的互连设备,则在步骤360,外联互连设备124可以基于第一静态路由策略从多个下一跳互连设备中选择一个下一跳互连设备。
注意,以上虽然结合外联互连设备对方法300进行了描述,但是在本发明的一些实施方式中,处理子系统中的任一互连设备均可执行上述方法300。即,该互连设备在转发该多播访问请求时,可以确定下一跳互连设备是否是可能接收该多播组中的其他处理器的多播访问请求的互连设备,并且在确定该下一跳互连设备可能接收到其他多播访问请求时,将接收到的多播访问请求转发给该下一跳互连设备。
通过这种方式,可以使得一个多播组的多播访问请求能够在一个处理子系统内完成合并,以实现多播数据访问。这对于不同处理子系统具有不同使用者的情况尤其有利。
利用上述多播路由方法,假设第一静态路由策略是y-x路由,第二静态路由策略是x-y路由,则处理子系统10中的处理器112对于存储器32的多播访问请求将从互连设备122经由链路142和147到达存储器32,相应地,来自存储器32的响应数据将经由链路147和142到达互连设备122;处理器112对于存储器34的多播访问请求将从互连设备122经由链路140、143和148到达存储器34,相应地,来自存储器34的响应数据将经由链路148、143和140到达互连设备122;处理器112对于存储器36的多播访问请求将从互连设备122经由链路140、143、146和149到达存储器36,相应地,来自存储器36的响应数据将经由链路149、146、143和140到达互连设备122。
图4示出了根据本发明的实施例的网状网络系统100的数据流向的示意图。其中,以带箭头的虚线表示多播访问请求的流向,以带箭头的实线表示对于多播访问请求的响应数据的流向,其中带箭头的实线旁的数字(X1、X2)表示该链路上的响应数据的数量。可以看出,在链路142和146上只有一个响应数据,而在链路140和143上最多有两个响应数据,从而与前述静态路由策略相比,各个链路上的响应数据负载更加均衡。
以上以第一静态路由策略是y-x路由,第二静态路由策略是x-y路由为例对本发明的方法进行了描述,然而本领域技术人员可以理解,本发明并不局限于此,第一静态路由策略也可以是x-y路由,相应地第二静态路由策略可以是y-x路由,或者,还可以将第一静态路由策略和第二静态路由策略设置为其他静态路由策略,只要二者不同并且能保证多播请求合并能在本处理子系统内完成即可。此外,在不同的网络拓扑或者处理子系统的划分方式下,如果一种静态路由策略即可保证多播请求合并在一个处理子系统内完成,则可以对处理子系统内和处理子系统之间都采用相同的路由策略。
图5示出了根据本发明一些实施例的互连设备500的结构示意图。互连设备500可以是如上所述的互连设备122、124、126、128、222或者226。
如图5中所示,互连设备500可以包括一个或多个处理单元510。处理单元510控制互连设备500的操作和功能。例如,在某些实施例中,处理单元510可以借助于与其耦合的一个或多个存储单元520中所存储的指令530来执行各种操作。存储单元520可以是适用于本地技术环境的任何合适的类型,并且可以利用任何合适的数据存储技术来实现,包括但不限于基于半导体的存储器件、磁存储器件和系统、光存储器件和系统。尽管图5中仅仅示出了一个处理单元510和一个存储单元520,但是在互连设备500中可以有更多个物理不同的处理单元510和存储单元520。
处理单元510可以是适用于本地技术环境的任何合适的类型,并且可以包括但不限于微处理器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)等。
当互连设备500用来执行根据本发明所述的方案时,处理单元510可被配置(例如,由存储单元520中的指令530来配置)以实现上文参考图2和/或图3描述的方法200和/或300的功能。上文参考图2至图3所描述的所有特征均适用于互连设备500,在此不再赘述。
以上结合附图1至5对根据本发明的用于网状网络系统的多播路由方法、互连设备、网状网络系统及其配置方法进行了描述,上述描述仅仅着重于网状网络系统或者互连设备中的路由方法的描述,而省略了多播访问请求的合并过程以及响应数据的分发过程的描述,关于后者可以参考本发明的权利人的在先专利(授权公告号CN112073321B)。
本领域技术人员可以理解,这里所描述的方法步骤不仅仅局限于附图中所示例性示出的顺序,而是可以按照任何其他可行的顺序来执行。
在一个或多个示例性设计中,可以用硬件、软件、固件或它们的任意组合来实现本发明所述的功能。例如,如果用软件来实现,则可以将所述功能作为一个或多个指令或代码存储在计算机可读介质上,或者作为计算机可读介质上的一个或多个指令或代码来传输。
本文公开的互连设备的各个组成部分可以使用分立硬件组件来实现,也可以集成地实现在一个硬件组件上。例如,可以用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或者晶体管逻辑、分立硬件组件或用于执行本文所述的功能的任意组合来实现或执行结合本发明所描述的各种示例性的逻辑块、模块和电路。
本领域普通技术人员还应当理解,结合本发明的实施例描述的各种示例性的逻辑块、模块、电路和算法步骤可以实现成电子硬件、计算机软件或二者的组合。
本发明的以上描述用于使本领域的任何普通技术人员能够实现或使用本发明。对于本领域普通技术人员来说,本发明的各种修改都是显而易见的,并且本文定义的一般性原理也可以在不脱离本发明的精神和保护范围的情况下应用于其它变形。因此,本发明并不限于本文所述的实例和设计,而是与本文公开的原理和新颖性特性的最广范围相一致。

Claims (10)

1.一种用于网状网络系统的多播路由方法,其中所述网状网络系统包括多个处理子系统和多个存储器,每个处理子系统包括多个处理器和连接所述多个处理器的多个互连设备,所述多个处理子系统之间的路由使用第一静态路由策略,所述方法包括,在每个处理子系统的多个互连设备中的每个内部互连设备处:
响应于接收到针对所述多个存储器中的一个目的存储器的多播访问请求,基于所述网状网络系统的拓扑结构确定从所述内部互连设备到所述目的存储器的最短路径,其中所述内部互连设备没有链路与外部处理子系统相连;
确定所述最短路径的数量是否大于一;
响应于确定所述最短路径的数量等于一,将所述多播访问请求沿着所述最短路径路由到所述目的存储器;以及
响应于确定所述最短路径的数量大于一,基于第二静态路由策略确定所述多播访问请求的下一跳互连设备,所述第二静态路由策略不同于所述第一静态路由策略。
2.如权利要求1所述的多播路由方法,所述方法还包括,在每个处理子系统的多个互连设备中的每个外联互连设备处:
响应于接收到针对所述多个存储器中的一个目的存储器的多播访问请求,基于所述网状网络系统的拓扑结构确定从所述外联互连设备沿最短路径到所述目的存储器的下一跳互连设备,其中所述外联互连设备具有至少一条链路与外部处理子系统相连;
确定仅存在一个下一跳互连设备还是存在多个下一跳互连设备;
响应于确定仅存在一个下一跳互连设备,将所述多播访问请求路由至所述下一跳互连设备;
响应于确定存在多个下一跳互连设备,确定所述多个下一跳互连设备是否包括位于所述处理子系统内部的另一互连设备;以及
响应于确定所述多个下一跳互连设备包括位于所述处理子系统内部的另一互连设备,将所述多播访问请求路由至所述另一互连设备。
3.如权利要求1所述的多播路由方法,其中所述第一静态路由策略是横-纵路由策略和纵-横路由策略中的一种,所述第二静态路由策略是横-纵路由策略和纵-横路由策略中的另一种。
4.一种用于网状网络系统的互连设备,其中所述网状网络系统包括多个处理子系统和多个存储器,每个处理子系统包括多个处理器和连接所述多个处理器的多个互连设备,所述多个处理子系统之间的路由使用第一静态路由策略,所述互连设备被配置为:
当所述互连设备没有链路与外部处理子系统相连时,响应于接收到针对所述多个存储器中的一个目的存储器的多播访问请求,基于所述网状网络系统的拓扑结构确定从所述互连设备到所述目的存储器的最短路径;
确定所述最短路径的数量是否大于一;
响应于确定所述最短路径的数量等于一,将所述多播访问请求沿着所述最短路径路由到所述目的存储器;
响应于确定所述最短路径的数量大于一,基于第二静态路由策略确定所述多播访问请求的下一跳互连设备,所述第二静态路由策略不同于所述第一静态路由策略。
5.如权利要求4所述的互连设备,其中所述互连设备还被配置为:
当所述互连设备具有至少一条链路与外部处理子系统相连时,响应于接收到针对所述多个存储器中的一个目的存储器的多播访问请求,基于所述网状网络系统的拓扑结构确定从所述互连设备沿最短路径到所述目的存储器的下一跳互连设备;
确定仅存在一个下一跳互连设备还是存在多个下一跳互连设备;
响应于确定仅存在一个下一跳互连设备,将所述多播访问请求路由至所述下一跳互连设备;
响应于确定存在多个下一跳互连设备,确定所述多个下一跳互连设备是否包括位于所述处理子系统内部的另一互连设备;以及
响应于确定所述多个下一跳互连设备包括位于所述处理子系统内部的另一互连设备,将所述多播访问请求路由至所述另一互连设备。
6.如权利要求4所述的互连设备,其中所述第一静态路由策略是横-纵路由策略和纵-横路由策略中的一种,所述第二静态路由策略是横-纵路由策略和纵-横路由策略中的另一种。
7.一种网状网络系统,所述网状网络系统包括多个处理子系统和多个存储器,每个处理子系统包括多个处理器和连接所述多个处理器的多个互连设备,并且所述多个处理子系统之间的路由使用第一静态路由策略,所述多个互连设备包括内部互连设备和外联互连设备,所述内部互连设备没有链路与外部处理子系统相连,所述外联互连设备具有至少一条链路与外部处理子系统相连,其中
所述内部互连设备被配置为:
响应于接收到针对所述多个存储器中的一个目的存储器的多播访问请求,基于所述网状网络系统的拓扑结构确定从所述内部互连设备到所述目的存储器的最短路径;
确定所述最短路径的数量是否大于一;
响应于确定所述最短路径的数量等于一,将所述多播访问请求沿着所述最短路径路由到所述目的存储器;以及
响应于确定所述最短路径的数量大于一,基于第二静态路由策略确定所述多播访问请求的下一跳互连设备,所述第二静态路由策略不同于所述第一静态路由策略,并且其中
所述外联互连设备被配置为:
响应于接收到针对所述多个存储器中的一个目的存储器的多播访问请求,基于所述网状网络系统的拓扑结构确定从所述外联互连设备沿最短路径到所述目的存储器的下一跳互连设备;
确定仅存在一个下一跳互连设备还是存在多个下一跳互连设备;
响应于确定仅存在一个下一跳互连设备,将所述多播访问请求路由至所述下一跳互连设备;
响应于确定存在多个下一跳互连设备,确定所述多个下一跳互连设备是否包括位于所述处理子系统内部的另一互连设备;以及
响应于确定所述多个下一跳互连设备包括位于所述处理子系统内部的另一互连设备,将所述多播访问请求路由至所述另一互连设备。
8.如权利要求7所述的网状网络系统,其中所述第一静态路由策略是横-纵路由策略和纵-横路由策略中的一种,所述第二静态路由策略是横-纵路由策略和纵-横路由策略中的另一种。
9.一种配置网状网络系统的方法,所述网状网络系统包括多个处理子系统和多个存储器,每个处理子系统包括多个处理器和连接所述多个处理器的多个互连设备,并且所述多个处理子系统之间的路由使用第一静态路由策略,所述方法包括:
基于所述网状网络系统的拓扑结构确定所述多个互连设备中的一个互连设备是内部互连设备还是外联互连设备,其中所述内部互连设备没有链路与外部处理子系统相连,所述外联互连设备具有至少一条链路与外部处理子系统相连;
响应于确定所述互连设备是内部互连设备,将所述内部互连设备配置为:
响应于接收到针对所述多个存储器中的一个目的存储器的多播访问请求,基于所述网状网络系统的拓扑结构确定从所述内部互连设备到所述目的存储器的最短路径;
确定所述最短路径的数量是否大于一;
响应于确定所述最短路径的数量等于一,将所述多播访问请求沿着所述最短路径路由到所述目的存储器;以及
响应于确定所述最短路径的数量大于一,基于第二静态路由策略确定所述多播访问请求的下一跳互连设备,所述第二静态路由策略不同于所述第一静态路由策略;以及
响应于确定所述互连设备是外联互连设备,将所述外联互连设备配置为:
响应于接收到针对所述多个存储器中的一个目的存储器的多播访问请求,基于所述网状网络系统的拓扑结构确定从所述外联互连设备沿最短路径到所述目的存储器的下一跳互连设备;
确定仅存在一个下一跳互连设备还是存在多个下一跳互连设备;
响应于确定仅存在一个下一跳互连设备,将所述多播访问请求路由至所述下一跳互连设备;
响应于确定存在多个下一跳互连设备,确定所述多个下一跳互连设备是否包括位于所述处理子系统内部的另一互连设备;以及
响应于确定所述多个下一跳互连设备包括位于所述处理子系统内部的另一互连设备,将所述多播访问请求路由至所述另一互连设备。
10.如权利要求9所述的方法,其中所述第一静态路由策略是横-纵路由策略和纵-横路由策略中的一种,所述第二静态路由策略是横-纵路由策略和纵-横路由策略中的另一种。
CN202110811612.9A 2021-07-19 2021-07-19 多播路由方法、互连设备、网状网络系统及其配置方法 Active CN113285880B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110811612.9A CN113285880B (zh) 2021-07-19 2021-07-19 多播路由方法、互连设备、网状网络系统及其配置方法
US17/858,014 US11811512B2 (en) 2021-07-19 2022-07-05 Multicast routing method, interconnection device, mesh network system and configuration method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110811612.9A CN113285880B (zh) 2021-07-19 2021-07-19 多播路由方法、互连设备、网状网络系统及其配置方法

Publications (2)

Publication Number Publication Date
CN113285880A true CN113285880A (zh) 2021-08-20
CN113285880B CN113285880B (zh) 2021-10-15

Family

ID=77286658

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110811612.9A Active CN113285880B (zh) 2021-07-19 2021-07-19 多播路由方法、互连设备、网状网络系统及其配置方法

Country Status (2)

Country Link
US (1) US11811512B2 (zh)
CN (1) CN113285880B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2337272A1 (en) * 2009-12-18 2011-06-22 Alcatel Lucent System and method for routing data units
US20130159550A1 (en) * 2011-12-20 2013-06-20 Cisco Technology, Inc. Assisted intelligent routing for minimalistic connected object networks
CN112073321A (zh) * 2020-11-16 2020-12-11 北京壁仞科技开发有限公司 信息处理方法、互连设备和计算机可读存储介质
CN112491714A (zh) * 2020-11-13 2021-03-12 安徽大学 SDN环境下基于深度强化学习的智能QoS路由优化方法、系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107005474B (zh) * 2015-07-06 2020-10-16 华为技术有限公司 路由控制的方法、设备和系统
CN112448886B (zh) * 2019-08-30 2023-08-01 中兴通讯股份有限公司 最短路径计算方法、路由获取装置及服务器
US11516114B2 (en) * 2020-09-30 2022-11-29 Juniper Networks, Inc. Bandwidth constraint for multipath segment routing
US11870683B2 (en) * 2021-06-03 2024-01-09 Microsoft Technology Licensing, Llc 3GPP network function set adaptation for pre-5G network elements

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2337272A1 (en) * 2009-12-18 2011-06-22 Alcatel Lucent System and method for routing data units
US20130159550A1 (en) * 2011-12-20 2013-06-20 Cisco Technology, Inc. Assisted intelligent routing for minimalistic connected object networks
CN112491714A (zh) * 2020-11-13 2021-03-12 安徽大学 SDN环境下基于深度强化学习的智能QoS路由优化方法、系统
CN112073321A (zh) * 2020-11-16 2020-12-11 北京壁仞科技开发有限公司 信息处理方法、互连设备和计算机可读存储介质

Also Published As

Publication number Publication date
US11811512B2 (en) 2023-11-07
CN113285880B (zh) 2021-10-15
US20230027355A1 (en) 2023-01-26

Similar Documents

Publication Publication Date Title
US10282338B1 (en) Configuring routing in mesh networks
US11003604B2 (en) Procedures for improving efficiency of an interconnect fabric on a system on chip
US8737392B1 (en) Configuring routing in mesh networks
US7287255B2 (en) System and method for dynamic ordering in a network processor
US8151088B1 (en) Configuring routing in mesh networks
US5583990A (en) System for allocating messages between virtual channels to avoid deadlock and to optimize the amount of message traffic on each type of virtual channel
KR900006792B1 (ko) 패킷 스위칭 노드용 로드 평형 회로장치
US7921251B2 (en) Globally unique transaction identifiers
US20140331027A1 (en) Asymmetric mesh noc topologies
CN104937572A (zh) 业务和/或工作负荷处理
US20090016355A1 (en) Communication network initialization using graph isomorphism
Liu et al. A fair arbitration for network-on-chip routing with odd-even turn model
US20150242318A1 (en) System and a method for data processing with management of a cache consistency in a network of processors with cache memories
Ruaro et al. Distributed SDN architecture for NoC-based many-core SoCs
CN113285880B (zh) 多播路由方法、互连设备、网状网络系统及其配置方法
JPS63501663A (ja) マルチプロセッサ通信装置
CN114826825B (zh) 云网络的组网方法、装置及云网络
Winter et al. A network-on-chip channel allocator for run-time task scheduling in multi-processor system-on-chips
CN113395183B (zh) 网络仿真平台vlan互联的虚拟节点调度方法与系统
Hu et al. Probabilistic odd–even: an adaptive wormhole routing algorithm for 2D mesh network-on-chip
US9268600B2 (en) Picoengine pool transactional memory architecture
US11762560B2 (en) Optimizing NOC performance using crossbars
US9164794B2 (en) Hardware prefix reduction circuit
US20240028881A1 (en) Deep neural network (dnn) compute loading and traffic-aware power management for multi-core artificial intelligence (ai) processing system
Sánchez et al. Dynamic reconfiguration of node location in wormhole networks

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: Room 0106-508, 1st floor, No.26, shangdixin Road, Haidian District, Beijing 100085

Patentee after: Beijing Bilin Technology Development Co.,Ltd.

Country or region after: China

Patentee after: Shanghai Bi Ren Technology Co.,Ltd.

Address before: Room 0106-508, 1st floor, No.26, shangdixin Road, Haidian District, Beijing 100085

Patentee before: Beijing Bilin Technology Development Co.,Ltd.

Country or region before: China

Patentee before: Shanghai Bilin Intelligent Technology Co.,Ltd.