用于芯片间通信的处理系统及通信方法与流程

文档序号:35073520发布日期:2023-08-09 17:39阅读:22来源:国知局
本公开涉及芯片互连网络中的信息处理和通信领域,尤其涉及用于芯片间通信的处理系统及通信方法。
背景技术
::1、许多电子技术,例如,数字计算机、计算器、音频设备、视频设备和电话系统,有助于在商业、科学、教育和娱乐的大多数领域中提高对数据与信息进行分析与通信的生产率,降低成本。电子元件可用于许多重要应用(例如,医疗程序、车辆辅助操作、金融应用,等等),这些活动频繁地涉及处理和存储大量信息。为了应对大量的处理过程,系统可以包括许多互连的处理芯片。在许多应用中,系统快速且准确地处理信息是非常重要的。快速且准确地处理信息的能力通常取决于处理芯片之间的通信。在芯片互连网络中建立快速且可靠的信息通信可能存在问题和困难。2、图1是示出可以用于加速神经网络的常规系统100的框图。通常,系统100包括多个服务器,并且每个服务器包括多个并行计算单元(parallel computing unit,ppu)。在图1的示例中,系统100包括服务器101和服务器102。服务器101包括连接到外围组件互连高速(peripheral component interconnect express,pcie)总线111的多个并行处理单元ppu_0至ppu_n,并且服务器102包括连接到pcie总线112的类似的ppu阵列。每个ppu包括诸如处理核和存储器(未示出)等的元件。在一个实施例中,ppu可以是神经网络处理单元(neuralnetwork processing unit,npu)。在一个示例性的实施例中,多个npu被布置为并行配置。系统100中的每个服务器包括主中央处理单元 (cpu),并且如图1所示,系统100中的每个服务器经由相应的网络接口控制器或卡(network interface controller card,nic)连接到网络130。3、系统100包括统一存储器寻址空间,该统一存储器寻址空间例如采用分区全局地址空间(partitioned global address space,pgas)编程模型。因此,在图1的示例中,服务器101的每个ppu可以从服务器101或服务器102的任何其他ppu上的存储器读取数据或向服务器101或服务器102的任何其他ppu上的存储器写入数据,反之亦然。例如,为了将数据从服务器101的ppu_0写入ppu_n,通过pcie总线111将数据从 ppu_0发送到ppu_n;以及为了将数据从服务器101的ppu_0写入服务器102的ppu_m 上的存储器,通过pcie总线111将数据从ppu_0发送到nic 121,然后通过网络130将数据发送到nic 122,然后通过pcie总线112将数据发送到ppu_m。4、系统100可以用于诸如图形分析和图形神经网络的应用,更具体地,系统100可以用于诸如在线购物引擎、社交网络、推荐引擎、映射引擎、故障分析、网络管理和搜索引擎的应用。这些应用执行大量存储器访问请求(例如,读和写请求),因此其还传送(例如,读和写)大量用于处理的数据。尽管常规通信(例如,pcie,等等)带宽和数据传输速率相当高,但其仍然限制这些应用。事实上,对于这些应用来说,pcie通常速度太慢且其带宽太窄。技术实现思路1、本公开的系统能够实现高效和有效的网络通信。在一个实施例中,系统包括:第一芯片中的多个并行处理单元和芯片互连网络(inter-chip network,icn)中的多个互连。多个并行处理单元包括在第一芯片中,且多个并行处理单元中的每个并行处理单元包括多个处理核和多个存储器,其中多个存储器的第一存储器组耦合到多个处理核的第一处理核组。芯片互连网络中的多个互连被配置为通信耦合多个并行处理单元。多个并行处理单元中的每个并行处理单元被配置为根据存储且驻留在相应并行处理单元的寄存器中的相应路由表(routing table)通过芯片互连网络进行通信。相应路由表包括可用于转发从并行处理单元到另一个并行处理单元的通信的最小链路的指示。并行处理单元可以包括相应的多个出口端口,多个出口端口被配置为与芯片互连网络通信耦合,其中,相应路由表包括最小链路和相应的多个出口端口之间的相关性的指示。2、在一个实施例中,系统包括:芯片中的第一并行处理单元(ppu)和芯片互连网络(icn)中的多个互连,多个互连被配置为通信耦合经由芯片互连网络彼此通信的多个并行处理单元。相应的通信可根据路由表配置。路由表可以存储并驻留在第一并行处理单元中的芯片互连网络子系统的寄存器中,并且路由表可以包括可用于转发从第一并行处理单元到另一并行处理单元的通信的最小链路的指示。相应路由表包括最小链路和多个出口端口中相应出口端口之间的相关性的指示,多个出口端口可用于通信耦合至作为可能的目标并行处理单元的相应并行处理单元。路由表可以包括每个相应信息通信流的两个并行处理单元之间的单一路径的指示。在一个实施例中,第一并行处理单元包括在多个并行处理单元的第一并行处理单元组中,且多个并行处理单元的第一并行处理单元组包括在第一计算节点中,多个并行处理单元的第二并行处理单元组包括在多个并行处理单元的第二节点中。多个并行处理单元中相应的并行处理单元可以包括相应的路由表。3、互连可以被配置用于单流均衡(single-flow balancing),其中源ppu支持的并行通信流的数量多达源并行处理单元和目标并行处理单元之间的最窄链路数。互连可被配置用于多流均衡(many-flow balancing),其中,中继并行处理单元运行路由以均衡出口之间的流。可以根据提供均衡的工作负载、有保证的依赖性和有保证的访问顺序的路由方案来处理通信。4、在一个实施例中,通信方法包括:执行包括创建静态预定路由表的设置(setup)操作;从源并行处理单元(ppu)转发通信包(packet);以及在目标并行处理单元(ppu) 处接收通信包。通信包可以根据静态预定路由表来形成和转发。网络中的多个处理单元的对应处理单元中可以包括源并行处理单元和目标并行处理单元。在一个示例性实施例中,多个处理核的第一处理核组包括在第一芯片中,且多个处理核的第二处理核组包括在第二芯片中。多个并行处理单元可以通过多个互连进行通信。相应的通信可以根据静态预定路由表配置。在源并行处理单元处的路由方案可以通过以下步骤确定:创建与通过互连的唯一通信路径相关联的流id(identifier,标识),其中流id是通过哈希物理地址中选定的多个比特来建立的;利用相应路由表来确定到目标的最小链路路径;以及基于流id和最小链路路径建立路由选择。中继并行处理单元处的路由方案可以包括选择出口端口。选择出口端口的步骤可以包括:创建流id,该流id与经由互连的唯一通信路径相关联,且该流id是通过哈希物理地址中选定的多个比特来建立的;映射源并行处理单元id和流id;基于映射确定可用的多个可能出口端口;利用相应路由表来确定到目标的最小链路路径;以及基于流id、多个可能出口端口和最小链路路径建立路由选择。通信方法还可以包括:均衡通信包的转发,均衡通信包的转发包括通过基于物理地址的交织来分发通信包。通过经由最小链路的多流(multi-flow through minimal links)以及流id与源并行处理单元 (ppu)id的交织,可以提供均衡的工作负载。通过使用与流id交织并且在源并行处理单元(ppu)进行了哈希算法的物理地址(pa),可以提供有保证的依赖性。可以通过使用沿路由的流id和可拆分的远程屏障(remote-fence),提供有保证的访问顺序。5、通过上述方案,可以在不使用pcie总线的情况下实现系统中的神经网络处理单元之间的通信,从而避免其带宽限制和相对速度不足,从而提高芯片间通信的数据传输速率和传输带宽。并行处理单元根据相应路由表通过芯片互连网络进行通信,从而提供均衡的工作负载、有保证的依赖性和有保证的访问顺序。6、本领域普通技术人员在阅读在各附图中示出的实施例的以下详细描述后,将认识到本公开的各种实施例的这些和其他目的和优点。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1