CN107113210B - 用于配置高阶快捷pci网络的非透明桥式方法和装置 - Google Patents
用于配置高阶快捷pci网络的非透明桥式方法和装置 Download PDFInfo
- Publication number
- CN107113210B CN107113210B CN201580059369.2A CN201580059369A CN107113210B CN 107113210 B CN107113210 B CN 107113210B CN 201580059369 A CN201580059369 A CN 201580059369A CN 107113210 B CN107113210 B CN 107113210B
- Authority
- CN
- China
- Prior art keywords
- address
- pcie
- interchanger
- switch
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
-
- 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/48—Routing tree calculation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40143—Bus networks involving priority mechanisms
- H04L12/4015—Bus networks involving priority mechanisms by scheduling the transmission of messages at the communication node
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L12/462—LAN interconnection over a bridge based backbone
- H04L12/4625—Single bridge functionality, e.g. connection of two networks over a single bridge
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- 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/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/15—Interconnection of switching modules
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本文中呈现的描述包含高阶快捷PCI(PCI‑Express,PCIe)网络实施方案的说明。新方法能促进高效协议(例如,PCIe等)的利用,同时实现可能原本并不与所述协议兼容的各种特性和特征(例如,类似于胖树拓扑结构、CLOS拓扑结构、二维和三维拓扑结构等的特性和特征)的实施。例如,能够实现并利用替代路径的实施,同时保持符合可能原本并不与替代路径的使用兼容的协议(例如,PCIe等)。所述替代路径能促进灵活的拓扑结构实施和网络域扩展,同时实现改进的通信延时。在一个实施例中,所呈现的系统和方法促进非透明桥式电路的利用,所述非透明桥式电路相对于来自至少一个设备的通信配置为端点同时促进所述通信到至少一个其它设备上的传输。
Description
相关申请案的交叉申请
本发明要求2014年11月7日递交的发明名称为“用于配置高阶快捷PCI网络的非透明桥式方法和装置(NON-TRANSPARENT BRIDGE METHOD AND APPARATUS FOR CONFIGURINGHIGH-DIMENSIONAL PCI-EXPRESS NETWORKS)”的美国申请14/536,516的在先申请优先权,该在先申请的内容以全文引入的方式并入本文本中。
技术领域
本发明大体上涉及通信领域,且更具体来说,涉及网络通信领域。
背景技术
电子系统和电路已经对现代社会的进步做出巨大贡献,并且在许多应用中用于获得有利结果。数字计算机、计算器、音频设备、视频设备和电话系统等许多电子技术有助于在企业、科学、教育和娱乐的大多数领域中分析和传送数据、构想和趋势时提高效率并降低成本。这些活动经常涉及信息和数据在部件之间的传送,并且信息如何传送会影响效能。
存在用于传送信息的各种传统的通信或互连拓扑结构(例如,基本树、胖树、CLOS、二维或三维环面等)。还存在用于实施所述拓扑结构的各种协议(例如,外围部件互连标准(Peripheral Component Interconnect,PCI)、快捷PCI(PCI-Express,PCIe)等)。这些协议中的一些可以在相对简单的通信环境网络中实施。PCIe是中央处理单元(centralprocessing unit,CPU)与其直接外围设备之间最广泛使用的互连机构之一。这些CPU和直接外围设备通常主要部署在单个设备或壳体(例如,单个PC、单个服务器等)内的印刷电路板(printed circuit board,PCB)层级处,并且PCIe技术最初设计为车载互连技术。传统PCIe环境或网络通常仅具有单个PCIe交换机和相对少量节点(例如,CPU和I/O设备)。在这些有限且受限的应用中,一些传统PCIe方法尝试为高通量、低延时、基于封包的交换互连技术。然而,实际情况是,可以用传统PCIe方法实施的拓扑结构的类型和复杂度基本上是有限的(例如,具有相对较少的层级和端点的小的基本树拓扑结构等)。
随着网络的大小和复杂度增加(例如,通过网络互连的端点和路径的数目增加等),传统基本树拓扑结构和PCI类型协议的尝试通常变得效率低下且不切实际。传统基本树拓扑结构和PCI类型协议的限制通常具有限制在一些情况下具有不利影响(例如,通信路径会变得非常长,具有很多跳,等)的通信作业和路径选择(例如,禁止部件之间的替代路径或多个通信路径等)的约束。
图1是基本树拓扑结构的传统尝试的一个实例的方块图。如图1中所示,在交换机115和交换机127之间存在通信必须遍历的具有相对多量的多个介于中间的跳(例如,至交换机121、122、124等)的单个通信路径。还如图1中所示,在端点181和端点191之间也存在通信必须遍历的具有相对多量的多个介于中间的跳(例如,至交换机129、128、121、115、131、133等)的单个通信路径。实际情况是,交换机与端点之间的路径变得过长(在跳方面等)并且部件(例如,接近根的链接等)变得过载。
一些用于网络工程的传统方法尝试使用其它拓扑结构(例如,胖树、CLOS、二维或三维环面等)。然而,尝试使用传统的遵从PCIe技术构建此类拓扑结构因PCIe与基本树拓扑结构相关联的约束以及其无能力处理替代连接而存在巨大挑战。
发明内容
所呈现的系统和方法能便于高效通信。在一个实施例中,一种用于传送信息的PCIe网络包含非透明桥式电路、多个交换机和多个端点设备。所述非透明桥式电路包括:第一网络连接、第二网络连接、处理电路和存储器。第一网络连接被连接到PCIe网络的第一树支中的第一交换机,第二网络连接被连接到PCIe网络的第二树支中的第二交换机。相对于第一交换机为非透明桥式电路指配第一范围地址并且相对于第二交换机为非透明桥式电路指配第二范围地址。所述处理电路用于:从第一交换机接收第一数据包,所述第一数据包包含第一有效负载部分和在指配给非透明桥的第一范围地址内的第一目的地地址;将第一目的地地址转译为第一转译目的地地址,其中所述第一转译目的地地址属于第二树支中的且连接到第二交换机的终端设备;产生包含第一有效负载部分和第一转译目的地地址的第一修改数据包;以及将第一修改数据包转发到第二交换机以用于递送到第二树支中的终端设备。将修改数据包转发到第二交换机可以绕过第二树枝中的介于中间的第三交换机并且保持遵从PCIe。
处理器还可以用于:从第二交换机接收第二数据包,所述第二数据包包含第二有效负载部分和在指配给非透明桥的第二范围地址内的第二目的地地址;将第二目的地地址转译为第二转译目的地地址,其中所述第二转译目的地地址属于第一树支中的且连接到第一交换机的另一个终端设备;产生包含第二有效负载部分和第二转译目的地地址的修改数据包;以及将第二修改数据包转发到第一交换机以用于递送到第一树支中的终端设备。存储器存储用于处理电路的信息。存储器可以存储将第一目的地地址映射到第一转译目的地地址的地址转译表。可以利用地址转译表中的单个条目来存储第一数据包中含有的第一目的地地址。非透明桥式电路可以具有呈各种配置(例如,单独实体、并入多个交换机中的一个中,等)的各种实施方案(例如,芯片、ASIC、CPU等)。
在一个示例性实施方案中,装置(例如,非透明桥式电路等)参与通信过程或方法中。所述方法在遵从PCIe的网络中执行。数据包经由遵从PCIe的网络中的非透明桥式电路传输到耦合到所述非透明桥式电路的多个交换机和端点。在非透明桥式电路的处理部件中接收来自遵从PCIe的网络中的多个交换机中的第一交换机的数据包。所述数据包包含在与非透明桥式电路相关联的一对地址范围中的一个地址范围内的第一地址。可以通过PCIe根联合体控制器对指配给非透明桥式电路的所述对地址范围进行指配(其可以将所述对地址范围视为端点地址范围)。
用第二地址替代第一地址以形成修改数据包,第二地址与遵从PCIe的网络中的多个交换机中包含的交换机中的第二交换机相关联。修改数据包经由第一交换机与第二交换机之间的第一数据路径从处理部件转发到第二交换机。所述转发可以绕过连接到多个交换机中的第一交换机和多个交换机中的第二交换机的第二数据路径中的介于中间的第三交换机。第一数据路径和第二数据路径实现遵从PCIe的网络中的多径路由。
在一个实施例中,第一数据路径和第二数据路径实现遵从PCIe的网络中的多径路由。遵从PCIe的网络中的第一数据路径可以比第二数据路径少至少一个跳。映射可以防止数据包通过至少部分地由第一数据路径和第二数据路径形成的环形传输路径传输。将第一地址映射到第二地址,并且利用所述映射用第二地址转译第一地址。通过用第二地址替代数据包中的第一地址来产生修改数据包。
应了解,地址和地址范围可以具有各种配置。所述对地址范围中的所述一个地址范围的大小可以等于或大于分配给耦合到非透明桥的多个资源的开始地址和结束地址之间的差。所述对地址范围中的一个地址范围的大小可以相当于分配给耦合到非透明桥的多个资源的地址的总和。在一个示例性实施方案中,第二交换机包含于所述多个资源中。所述对地址范围中的一个地址范围的长度相当于指配给非透明桥的一个通信侧上的资源的地址的长度,并且所述对地址范围中的另一个的长度相当于指配给非透明桥的相反通信侧上的资源的地址的长度。
在一个实施例中,一种遵从PCIe的网络系统通过在包含两个交换机之间的多个不同路径的拓扑结构中配置的部件传送信息。所述遵从PCIe的网络系统包括:多个交换机设备,其耦合到一起以形成具有多个支路的遵从PCIe的树形拓扑结构;多个端点设备,其耦合到所述多个支路的末端;以及非透明桥,其通过指配给非透明桥的第一范围地址接触多个交换机中的第一交换机,并且通过指配给非透明桥的第二范围地址接触多个交换机中的第二交换机。通过将指配给非透明桥的第一范围地址内的目的地地址转译为与耦合到多个交换机中的第二交换机的资源相关联的转译目的地地址,并且将指配给非透明桥的第二范围地址内的目的地地址转译为与耦合到多个交换机中的第一交换机的资源相关联的转译目的地地址,所述非透明桥在遵从PCIe的网络中在多个交换机中的第一交换机与多个交换机中的第二交换机之间传送信息。
所述非透明桥式电路包括:第一网络连接、第二网络连接、处理器和存储器。第一网络连接被连接到遵从PCIe的网络的多个支路中的第一支路中的多个交换机中的第一交换机,第二网络连接被连接到遵从PCIe的网络的多个支路中的第二支路中的多个交换机中的第二交换机。处理电路用于:从多个交换机中的第一交换机接收数据包;基于转译第一范围地址内的目的地地址的结果产生修改数据包;以及将修改数据包转发到第二交换机以用于递送到资源。数据包包含第一有效负载部分和在指配给非透明桥的第一范围地址内的目的地地址。修改数据包包含第一有效负载部分和与耦合到多个交换机中的第二交换机的资源相关联的转译目的地地址。所述资源可包含端点设备。
可以通过协调对多个交换机、多个端点和非透明桥的地址指配的主根联合体电路指配第一范围地址和第二范围地址。第一范围地址和第二范围地址可以是使非透明桥能够模拟一对端点的一对地址范围。多个不同路径可包含多个交换机、多个端点设备和非透明桥之间的传输连接以形成遵从PCIe的高阶拓扑结构。可以在多个交换机中的第一交换机与多个交换机中的第二交换机之间建立多个不同路径中除通过非透明桥外的替代路径。遵从PCIe的网络系统可以包含由包含第一交换机的至多256个节点组成的第一遵从PCIe的网络域和由包含第二交换机的至多256个节点组成的第二遵从PCIe的网络域,并且非透明桥可以根据第一地址到第二地址的转译跨第一遵从PCIe的网络域和第二遵从PCIe的网络域的边界转发有效负载部分。
附图说明
包含在本说明书中并形成本说明书的一部分的附图用于示例性地阐述本发明的原理,而不是用于将本发明限制到其示出的特定实施。除非另有具体说明,否则附图不是按比例绘制的。
图1是基本树拓扑结构的传统尝试的一个实例的方块图。
图2是根据一个实施方案的示例性网络的方块图。
图3是另一个示例性网络的方块图。
图4是又一示例性网络的方块图。
图5A是以说明与简单胖树方法类似的特性的方式呈现的示例性网络拓扑结构表示的方块图。
图5B是以说明与基本树方法类似的特性的另一方式呈现的示例性网络拓扑结构表示的方块图。
图6是示例性地址分配和映射的图形表示。
图7是根据一个实施例的示例性装置的方块图。
图8是装置的示例性操作的方块图。
图9是根据一个实施例的示例性通信过程的方块图。
图10是根据一个实施方案的用于通过遵从PCIe的传输系统中的桥传输数据包的示例性方法的流程图。
图11是根据一个实施例的示例性方法的流程图。
图12是根据一个实施方案的又一示例性网络的方块图。
具体实施方式
现将详细地对本发明的各种实施例、附图示出的示例做出参考。虽然会结合这些实施例进行描述,但可以理解的是它们并不用于将本发明限制于这些实施例。相反,本发明旨在覆盖可以包含在由所附权利要求书限定的本发明的精神和范围内的替代物、修改和等同物。另外,在以下本发明的详细描述中,阐述了许多特定细节以便提供对本发明的透彻理解。然而,可以理解的是,实际应用中,可以不包括本发明的这些特定细节。在其它实例中没有详细描述众所周知的方法、流程、部件和电路,以免对本发明的各方面造成不必要地模糊。
本文中呈现的描述包含能便于高效协议(例如,PCIe等)的利用同时实现可能原本并不与所述协议兼容的各种特性和特征(例如,类似于胖树拓扑结构、CLOS拓扑结构、二维和三维拓扑结构等的特性和特征)的实施的方法。可以使用可能原本并不与替代路径的使用兼容的协议(例如,PCI、PCIe等)实现并利用替代路径的实施。例如,实现简单互连(例如,类似于基本树拓扑结构等)和替代路径互连(例如,类似于胖树拓扑结构等)两者,同时保持与PCIe协议要求兼容。在一个实施例中,所呈现的系统和方法便于利用非透明桥式电路,所述非透明桥式电路相对于来自至少一个设备的通信配置为端点同时便于所述通信到至少一个其它设备上的传输。在详细描述的后续部分中阐述新方法的各种方面的额外说明。
图2是根据一个实施例的示例性网络300A的方块图。网络300A包含根联合体(rootcomplex,RC)310、多个交换机(例如,315、321、322、323、324、325、327、328、329、331、332和333)、多个端点设备(例如,381、382、383、384、385、387、388、389、391、392、393、394、395、398和399)以及非透明桥式电路351和352。网络300A与各种树型拓扑结构协议或要求(例如,与PCI、PCIe等相关联的要求)兼容。非透明桥式电路(例如,351、352等)可以通信地耦合到各种设备,例如交换机或端点设备(例如,321、327、389等)。
应了解,可以各种方式实施新的非透明桥式电路。新配置方法可以构建到交换机中(例如,类似于315、321等)或可以是具有到另一个交换机的单独连接的独立设备(例如,351、352等)。非透明桥式电路的实施可以类似于桥配置(例如,桥式电路、非透明桥(Non-Transparent Bridge,NTB)等)。如图3中所示,非透明桥式电路(例如,351、352等)可以用于促进设备之间的替代路径或连接。例如,从交换机321到交换机327,存在第一路径(例如,通过非透明桥式电路351)和第二路径(例如,通过交换机322和324)。
如图3中所示,网络300A的拓扑结构包含与基本树拓扑结构的一些类似性。例如,网络300A具有含多个支路的树的单个根联合体115。每个支路可以跨越多个跳,并且在每个分支的末端存在叶。跳可以包含节点之间的多个通信连接(例如,根联合体、交换机、端点设备等之间的通信连接)。叶可以包含端点设备(例如,输入/输出(input/output,I/O)设备、CPU、加速器等)。在功能上,网络300A拓扑结构的根负责控制和管理网络(因此称为根联合体(Root Complex,RC))。根联合体的主要任务中的一些是枚举连接到网络的资源(例如,交换机、端点设备等)并且对这些资源指配标识符(例如,存储器地址等)。在一个实施例中,考虑根联合体为主根联合体电路或PCIe根联合体控制器,其协调对多个交换机、多个端点和非透明桥的地址指配。PCIe根联合体控制器可以将指配给非透明桥的一对地址范围视为端点地址范围。
虽然网络300A的拓扑结构可以具有与基本树拓扑结构的一些类似性,但是还存在重大差别,例如替代路径。在一个示例性实施方案中,当构建网络或系统时利用新方法以类似于基本树拓扑结构的配置开始并且添加交换机之间的额外或替代连接。如上文所指示,可以利用非透明桥式电路以促进替代的多个路径的实施。在网络300A中,存在由交换机321、322、324和327形成的默认或基本路径。存在由交换机321、非透明桥式电路351和交换机327形成的替代路径。经由包含非透明桥式电路351的替代路径从交换机321到交换机327(反之亦然)的通信比包含交换机322和324的默认路径短或少一个跳。
在一个实施例中,非透明桥式电路可以使支路相交。在网络300A中,存在从交换机333到交换机328的由交换机331、315、321和328形成的路径。存在由非透明桥式电路352形成的替代路径。经由包含非透明桥式电路352的替代路径从交换机333到交换机328(反之亦然)的通信比包含交换机331、315和321的默认路径短或少两个跳。
应了解,可以各种配置实施新方法。在一个示例性实施方案中,非透明桥式电路在一个通信侧上耦合到交换机设备并且在另一通信侧上耦合到端点设备。图3是根据一个实施例的示例性网络300B的方块图。网络300B类似于网络300A,不同之处在于非透明桥351耦合到端点设备389而不是交换机327。
由新的非透明桥式电路形成的替代路径或连接是可以促进具有大大超出传统方法的限制的复杂度和能力的特性的独特方法。根据新方法的示例性实施方案可以类似于不同拓扑结构促进特性的实施,同时仍与原本传统上并不与不同拓扑结构特性兼容的特定协议兼容。例如,促进类似于基本树拓扑结构的特性(例如,简单直接连接等)以及类似于另一拓扑结构(例如,胖树、CLOS等)的特性(例如,替代连接等)的实施,同时仍与原本传统上并不与不同拓扑结构特性兼容的协议(例如,PCI、PCIe等)兼容。
在一个示例性实施方案中,实施原本并不与PCIe协议兼容的替代路径,同时通信保持与PCIe协议要求(例如,无循环通信等)兼容。虽然部件和连接的配置在某种意义上可以形成“环形”,并且通信包可以到达形成所述“环形”的部件,但是阻止通信包以违背PCIe协议的方式围绕所述环形循环。
在此参考非透明桥式电路的侧或非透明桥式电路。应了解,术语“侧”不一定用于指示物理侧而是实际上指示相对于通信流的侧。例如,在非透明桥式电路的不同通信侧上的通信接口部件(例如,端口、输入/输出部件等)可以位于非透明桥式电路部件(例如,位于非透明桥式电路的同一物理侧但是与不同的其它上游和下游设备通信的端口,等)的同一物理侧。应了解,上游和下游可以是用于指示相对通信方向或关系的术语。方向或关系可以在非透明桥式电路与特定集中式部件之间(例如,上游可以与朝向根联合体的方向相关联,下游可以与远离根联合体的方向相关联,等)。在一个示例性实施方案中,考虑上游为非透明桥式电路自其接收控制和/或配置通信的侧或方向,并且考虑下游为非透明桥式电路自其转发或传输控制和/或配置通信的侧或方向。
如上文所指示,可以实现类似于多个拓扑结构配置的特性的实施。图4是以说明与简单胖树拓扑结构方法的类似性的方式呈现的示例性网络400拓扑结构的方块图。网络400拓扑结构包含根联合体410、非透明桥式电路470以及交换机420、430、440和450。在一个实施例中,交换机(例如420、430等)是根据允许使用遵从PCIe交换机构建简单胖树拓扑结构的新方法的遵从PCIe交换机。在一个实施例中,网络400拓扑结构包含类似于“默认”或基本PCIe路径连接的连接,在某种意义上形成类似于基本树的路径(在包含交换机420、430、440和450的路径中具有单个3跳的分支)。网络400拓扑结构包含替代路径连接,所述替代路径连接包含非透明桥式电路470,其配置方式允许在此替代链接上类似于胖树拓扑结构方法发生通信而不破坏PCIe(例如,关于循环等)的规则或要求。网络400可以包含耦合到交换机的各种端点设备或资源。例如,CPU 405是任选地耦合到交换机420的资源,用于执行各种处理操作,并且处理操作的结果可以经由非透明桥470转发到交换机450。
在一个实施例中,实现此类替代链接或路径的促进复杂和高效拓扑结构特性的关键在于枚举(例如,识别、阐述等)以及配置非透明桥式电路的方式。如上文简要概述的,非透明桥式电路可以配置为两个端点,并且非透明桥式电路部件的地址转译能力可以用于在其它设备之间互连所述端点以及用于转发包。所述对端点的与非透明桥式电路相关联的指示或地址中的一个呈现为至非透明桥式电路的一侧(例如,上游下游等)上的至少一个设备的端点。非透明桥式电路可以将所述端点指示或地址转译为与非透明桥式电路另一侧上的至少一个其它设备相关联的指示或地址。在一个示例性实施方案中,这允许非透明桥式电路呈现为至非透明桥式电路的一侧上的设备的端点同时仍能够与另一侧上的设备通信。
图5A和5B是根据一个实施例的示例性网络500拓扑结构表示的方块图。网络500包含CPU 505、根联合体510、非透明桥式电路570以及交换机520、530、540和550。非透明桥式电路570配置有两个端点指示符或地址J和K。考虑非透明桥式电路570具有两侧(例如,上游、下游等),并且每一侧以相应端点指示或地址中的一个配置或与其相关联。在一个示例性实施方案中,非透明桥式电路570的一侧具有通信地耦合到交换机520且被配置为端点地址J(相对于来自交换机520的通信)的端口,并且非透明桥式电路的另一通信侧被配置为端点地址K(相对于来自交换机550的通信)。同样,非透明桥式电路570可以促进具有多个不同拓扑结构的特性的系统或网络的实施。
图5A和5B以两个不同方式呈现示例性网络500以说明两个不同拓扑结构的特性的类似性。图5A是以说明与简单胖树方法类似的特性的方式呈现的示例性网络500拓扑结构的方块图。在一个实施例中,网络500类似于网络400。可以在图5A中逻辑地表示拓扑结构,其中非透明桥式电路的两个末端具有类似于胖树拓扑结构的特性,能促进高效的替代通信路径(例如,比通过交换机530和540的其它路径更短、跳更少等)。图5B是以说明与基本树方法类似的特性的方式呈现的示例性网络500拓扑结构的方块图。非透明桥式电路配置有一对端点指示符的结果是,可以在图5B中逻辑地表示拓扑结构,其中非透明桥式电路570的两个末端具有类似于基本树拓扑结构中的端点(例如,570A和570B)的特性并且完全遵守快捷PCI标准。
在一个实施例中,地址转译用于使数据包能够通过非透明桥式电路传递到其它部件(例如,交换机、CPU、I/O设备等)以及从所述其它部件传递,指配给端点的地址(例如,J和K等)以及。在一个实例中,分配给J的地址必须对应于(例如,在长度上等效,等)接入非透明桥式电路的另一侧的资源的地址(例如,交换机、端点设备、I/O设备或附接到交换机550的CPU的地址),且反之亦然,分配给K的地址必须对应于通过非透明桥式电路接入的资源的地址(例如,交换机、端点设备、I/O设备或附接到交换机520的CPU的地址)。在详细描述的后续部分中阐述地址配置和转译的额外说明。
图6是根据一个实施例的示例性地址分配和映射的图形表示。地址分配和映射可以实现与PCIe协议兼容的另外的替代路径连接。在一个实施方案中,网络700类似于网络500。交换机750通过经由交换机730和740的路径(未示出)通信地耦合,并且还通过经由非透明桥式电路770的替代路径通信地耦合。存在通信地耦合到交换机750的3个资源(例如,交换机、端点设备、I/O设备、CPU等)和通信地耦合到交换机720的4个资源。以指示或地址(例如,Y0、Y1和Y2)枚举通信地耦合到交换机750的3个资源,并且以指示或地址(例如,X0、X1、X2和X3)枚举连接到交换机720的4个资源。所述资源可以是网络中的其它设备(例如,类似于交换机327、端点设备388和389,等)。新方法使所述资源能够经由利用地址转译的替代路径上的非透明桥式电路770彼此通信或接入。可以使用各种映射方法将分配给非透明桥式电路的地址映射到非透明桥式电路的另一侧上的资源的地址。
图6的右上侧示出了一种映射方法。对非透明桥式电路分配地址范围(实例中的侧K),所述范围的大小等于或大于分配给非透明桥式电路的另一侧上的资源的第一个地址的开始和最后一个地址的结束之间的差。分配给非透明桥式电路的地址范围(例如,地址范围K)映射到与交换机720相关联的地址范围(例如,标记为K'),其包含针对X0、X1、X2和X3的地址。为便于说明,示出K中对应于X0、X1、X2和X3的部分或子范围(例如,K0、K1、K2和K3)。在一个实施例中,对于此映射,在表中存在单个地址转译寄存器或条目。地址转译表可以用来映射对应的地址范围。
图6的右下侧示出的另一映射方法将使用地址转译表将非透明桥式电路的地址范围(例如,地址范围J)映射到在映射的地址区域中彼此紧邻的资源的地址范围。也就是说,在非透明桥式电路的一侧上分配的地址范围(例如,在此实例中为地址范围J)的长度或大小相当于分配给待接入的非透明桥式电路的另一侧上的资源的地址(例如,Y0、Y1和Y2)的总和。另外,地址转译表中的条目用于映射分配给非透明桥式电路的其它侧(例如,J)的地址空间中彼此紧邻的每个资源的地址(例如,Y0、Y1和Y2)。分配给非透明桥式电路的地址范围(例如,地址范围J)映射到与交换机750相关联的地址范围(例如,标记为J'),其包含针对Y0、Y1和Y2的地址。为便于说明,示出J中对应于Y0、Y1和Y2的部分或子范围(例如,J0、J1和J2)。
应了解,在选择地址转译方法时可以检查并分析各种考量。图6右上的方法可以具有相对简单的转译机构,但是在地址空间中可能具有“间隙”。右下的方法可以比在地址空间中具有“间隙”的方法更有效地使用地址空间,但是可能要求非透明桥式电路内部更精密的转译机构。
在任一情况下,通过将通信编址到非透明桥式电路通信接口部件(例如,端口、输入/输出部件等)的映射地址而不是资源的可能引导数据包经过默认的更长路径的原始地址,映射确保可以通过非透明桥式电路接入资源。也就是说,如果连接到交换机720的节点想要接入连接到交换机750的资源,所述节点对非透明桥式电路770的地址范围J的适当区域而不是Y0、Y1或Y2编址,且反之亦然,如果连接到交换机750的节点想要接入连接到交换机720的资源,所述节点对非透明桥式电路770的地址K的适当区域而不是X0、X1、X2或X3编址。在一个实施例中,资源X0可以是CPU(例如,类似于CPU 405、CPU 505等),用于执行各种处理操作,并且处理操作的结果可以经由非透明桥770转发到交换机750。例如,CPU X0可以将具有地址J0的数据包转发到非透明桥770,所述非透明桥将地址J0转译为Y0并且将所述数据包转发到交换机750。
在一个实施例中,可以通过网络的根联合体控制非透明桥式电路所使用的地址的分配和映射。可以通过非透明桥式电路执行地址之间的转译。可以通过驱动器执行多径方法中替代路径之一的选择和编程。
图7是根据一个实施例的示例性非透明桥800的方块图。非透明桥800可以实施非透明桥配置过程和通信过程。非透明桥800包含通信接口部件811、812和813、互连部件835以及控制器830,所述控制器包含处理部件831和存储器832。在一个实施例中,考虑控制器830为非透明桥式电路。通信接口部件811、812和813接收和传输通信,并且可以不同方式实施(例如,通信端口、输入/输出终端等)。互连部件835选择性地将通信接口部件811、812和813耦合到彼此。控制器830控制互连部件835。在一个实施例中,存储器832存储用于执行各种操作(例如,包含非透明桥式电路配置操作、互连控制操作,等)的指令和数据(例如,地址转译表等),并且处理部件831实施所述指令。应了解,处理部件831(例如,中央处理单元(central processing unit,CPU)、专用集成电路(application specific integratedcircuit,ASIC)、处理电路等)、存储器832(例如,随机存取存储器、快闪存储器、超高速缓存等)和通信接口部件811、812和813(例如,端口、终端等)可以具有各种配置和实施方案。在一个示例性实施方案中,通信接口部件(811、812和813)中的至少一个用于接收通信;控制器830用于在与通信相关联的地址之间转译,其中转译包含在至少一个设备考虑为端点地址的至少一个地址与至少一个其它设备的地址之间转译;以及通信接口部件(例如,811、812和813)中的至少一个用于根据所述转译转发通信。
非透明桥800耦合到各种其它部件或资源,包含交换机801、802、803、804和805。在交换机801与交换机804之间存在两个通信路径。一个通信路径包含交换机801、802、803和804。存在包含交换机801、非透明桥800和交换机804的另一个通信路径。非透明桥800与至少一对端点地址(例如,地址M和地址N)相关联或分配有所述至少一对端点地址。交换机801、802、803、804和805分别与地址T、V、Q、R和W(图7中在括弧中示出)相关联或分配有所述地址。数据包841从交换机(T)801发送到非透明桥800,数据包842从非透明桥800发送到交换机(R)804。
图8是根据一个实施方案的非透明桥800的示例性操作的方块图。存储器832的操作包含存储地址转译表850。地址转译表850包含端点地址栏851和资源地址栏852。端点地址栏851包含端点地址M和端点地址N,并且资源地址栏852相对应地包含地址R和地址T。从通信接口部件811接收到数据包841。处理器831引导地址M从数据包841的移除,并且使用地址转译表来查询地址M到地址R的映射,地址R附接到有效负载G以形成数据包842。根据地址R将数据包842从通信接口813转发到交换机804。对于从交换机804到交换机801的数据执行类似操作。从通信接口部件813接收到数据包843。处理器831引导地址N从数据包843的移除,并且使用地址转译表来查询地址N到地址T的映射,地址T附接到有效负载Z以形成数据包844。根据地址T将数据包从通信接口811转发到交换机801。
在一个实施例中,非透明桥式电路(例如,类似于非透明桥式电路800等)可以是包含于PCIe网络中的桥式电路。除桥式电路以外,PCIe网络还可以包含多个交换机,所述多个交换机耦合到一起以在耦合到交换机和桥式电路的端点设备之间传输数据包。桥式电路(例如,类似于351、352等)可以包含处理器,所述处理器使用输入端口从第一交换机(例如,类似于389、327等)接受源自源端点设备的数据包。处理器检查数据包中含有的地址,并且基于所述地址将数据包直接转发到第二交换机(例如,类似于321等),绕过作为树形拓扑结构的一部分的介于中间的交换机(例如,类似于324、322等)。处理器可以使用输出端口将数据包传输到第二交换机,第二交换机将数据包传输到目的地端点设备。绕过介于中间的交换机并将数据包转发到第二交换机是遵从PCIe的。处理器可以建立对应于两个端点(例如,类似于图5B中的570A和570B,等)的拓扑结构配置,并且在所述两个端点之间创建数据路径。使用所述数据路径将数据包直接转发到第二交换机。数据路径可以包含树形拓扑结构中的多径连接并且是遵从PCIe的。
桥式电路还包含存储用于处理器的信息和指令的存储器。存储器可以存储地址转译表,所述地址转译表将数据包中含有的地址映射到与第二交换机相关联的地址,其中数据包中的地址是与桥相关联的一对遵从PCIe的端点地址(例如,图6中的J和K,等)中的一个,并且通过对存储于地址转译表中的与第二交换机相关联的地址进行编址而通过所述数据路径传输数据包。可以利用地址转译表中的单个条目来存储数据包中含有的地址。
根据本文中描述的新方法,非透明桥式电路可以实现多径PCIe传输系统。非透明桥式电路可以包含处理器,所述处理器使用输入端口接受数据包(例如,从第一交换机接受源自源端点设备的数据包,等)。处理器检查数据包中含有的地址,并且基于所述地址将数据包转发到第二交换机,其中第二交换机能够耦合到第三交换机,所述第三交换机也可以用来将数据包从第一交换机路由到第二交换机。处理器使用输出端口将数据包传输到第二交换机,所述第二交换机将数据包传输到目的地端点设备。第一地址可以属于分配给非透明桥式电路的地址范围。在一个方法中,所述地址范围的大小等于或大于分配给耦合到非透明桥式电路的多个资源(例如,交换机、端点设备等)的开始地址和结束地址之间的差,第二交换机包含于所述多个资源中。在另一个方法中,所述地址范围的大小相当于分配给耦合到非透明桥式电路的多个资源的地址的总和,第二交换机包含于所述多个资源中。
同样,非透明桥式电路也可以包含存储用于处理器的信息和指令的存储器。处理器利用存储于存储器中的地址转译表,并且针对第一地址使用地址转译映射中的单个条目。在一个实例中,第一地址属于分配给非透明桥式电路的地址范围,并且所述地址范围的大小相当于分配给耦合到非透明桥式电路的多个资源的地址的总和,第二交换机包含于所述多个资源中。在另一实例中,第一地址的长度相当于指配给非透明桥式电路的一个通信侧上的资源的地址的长度,并且第三地址的长度相当于指配给非透明桥式电路的相反通信侧上的资源的地址的长度。非透明桥式电路可以是单独实体,或非透明桥式电路可以并入交换机中。
在一个实施例中,非透明桥式电路(例如,非透明桥,等)参与通信过程。图9是根据一个实施例的通信过程900的方块图。所述通信在两个设备之间。第一设备在非透明桥式电路的一个通信侧上,第二设备在非透明桥式电路的另一通信侧上(例如,从下游设备接收信息并转发到上游设备,或反之亦然,等)。在一个实例中,在遵从PCIe的环境中执行通信过程900。数据包经由遵从PCIe的网络中的非透明桥式电路传输,所述遵从PCIe的网络包含耦合到所述非透明桥式电路的多个交换机和端点。
在方块910中,在非透明桥式电路的处理部件中接收来自遵从PCIe的网络中的多个交换机中的第一交换机的数据包,所述数据包包含第一地址,其是在与非透明桥式电路相关联的一对地址范围中的一个地址范围内的第一地址。可以通过PCIe根联合体控制器指配与非透明桥式电路相关联的所述对地址范围。所述PCIe根联合体控制器可以将所述对地址范围考虑为端点地址范围。
在方块920中,用第二地址替代数据包中的第一地址以形成修改数据包,所述第二地址与遵从PCIe的网络中的多个交换机中包含的交换机中的第二交换机相关联。第一地址可以映射到第二地址,并且可以利用映射将第一地址转译为第二地址。通过用第二地址替代数据包中的第一地址来产生修改数据包。映射可以防止数据包通过至少部分地由第一数据路径和第二数据路径形成的环形传输路径传输。
应了解,地址和地址范围可以具有各种配置。所述对地址范围中的一个地址范围的大小可以等于或大于分配给耦合到非透明桥的多个资源的开始地址和结束地址之间的差。所述对地址范围中的一个地址范围的大小可以相当于分配给耦合到非透明桥的多个资源的地址的总和。在一个示例性实施方案中,第二交换机包含于所述多个资源中。所述对地址范围中的一个地址范围的长度相当于指配给非透明桥的一个通信侧上的资源的地址的长度,并且所述对地址范围中的另一个的长度相当于指配给非透明桥的相反通信侧上的资源的地址的长度。
在方块930中,将第二数据包经由第一交换机与第二交换机之间的第一数据路径从处理部件转发到第二交换机,绕过连接到多个交换机中的第一交换机和多个交换机中的第二交换机的第二数据路径中的介于中间的第三交换机。在一个示例性实施方案中,第一数据路径和第二数据路径实现遵从PCIe的网络中的多径路由。遵从PCIe的网络中的第一数据路径可以比第二数据路径少至少一个跳。
图11是根据本发明的一个实施例的示例性装置配置过程或方法1100的流程图。在一个示例性实施方案中,所述装置与快捷外围部件互连标准(Peripheral ComponentInterconnect Express,PCIe)协议要求兼容。所述装置可以模拟至少一些非基本树拓扑结构特性(例如,类似于胖树拓扑结构、CLOS拓扑结构、二维拓扑结构、三维拓扑结构等的特性)。为了提供概述,初始地呈现方法1100的一般描述,在详细描述的其它部分中阐述对与方法1100兼容的操作(例如,配置装置、各种拓扑结构等)的各种方面的额外说明。
在方块1110中,将装置配置为与第一地址相关联。所述第一地址被所述装置从其接收信息的第一设备考虑为端点地址,即使所述装置将从第一设备接收到的信息转发到第二设备。第二设备与第二地址相关联。第一端点地址可以与第一通信接口部件(例如,装置的端口、装置的输入/输出部件,等)相关联。例如,第一端点地址可以与装置的至少一个通信侧相关联(例如,与从部件的上游侧接收到的通信相关联,等)。
在方块1120中,将所述装置配置为与第三地址相关联。所述第三地址被所述装置从其接收信息的第二设备考虑为端点地址,即使所述装置将从第二设备接收到的信息转发到第一设备。第二设备与第四地址相关联。第二地址与第二通信接口部件相关联。第三地址与所述装置的至少一个不同通信侧相关联(例如,与从下侧通信部件接收到的通信相关联,等)。
在方块1130中,建立地址转译能力。在一个实施例中,地址转译能力能实现第一地址与第二地址之间的转译以及第三地址与第四地址之间的转译。根据地址转译将使用第一和第三地址接收到的通信分别转发到第二和第四地址,即使第一和第三地址考虑为端点地址(例如,在遵从PCIe的拓扑结构中,等)。应了解,地址转译能力可以与各种地址分配和映射方法兼容。转译能力可以包含在呈现为到至少一个设备的端点的端点指示或地址与至少一个其它设备的指示或地址之间转译的能力。
装置配置过程可以促进至少两个其它设备(例如,第一设备和第二设备,等)之间的至少一个替代通信路径,同时保持与原本限制或阻止使用替代通信路径的协议兼容。两个设备之间的替代通信路径可以比通信地耦合所述两个设备的另一通信路径更短或更直接(例如,具有更少的跳,等)。用于建立与另一设备的连接的配置和初始化的信号交换通信可以执行为装置配置过程的一部分(例如,作为建立地址、指配通信接口、端口或输入/输出部件等的一部分)。
通信地耦合或连网的部件的性能通常取决于通信环境内实施的协议和拓扑结构。不同协议和拓扑结构通常具有在各种环境或应用(例如,单个系统、连网系统、服务器、数据中心等)中提供各种性能效率的潜能。协议具有规则和限制,所述规则和限制传统上排除或阻止一些拓扑结构的实施,并由此通常限制与不同协议和拓扑结构的特性和特征的实施相关联的各种效率的可能实现。与传统方法的有限尝试不同,新方法的实施可以促进高效协议在具有各种特性(例如,类似于各种拓扑结构,等)的环境中的利用,所述高效协议原本并不能在传统方法中得到有效利用。在一个示例性实施方案中,新装置方法能促进遵从PCIe协议跨类似于各种拓扑结构(例如,胖树、CLOS、二维和三维环面,等)的网络配置的利用。
一些传统拓扑结构具有降低有效性的临限或边界,其中性能开始受到影响(例如,更大延时、更长路径、通信减缓、瓶颈、路径负担过重,等)。在一个实施例中,新配置方法能促进超出原本降低有效性的临限或边界的协议的继续高效操作。临限或边界可以与各种网络特性(例如,复杂度、大小等)相关联。可以考虑临限或边界限定域,并且在所述域的临限或边界处实施新装置。
在一个实施例中,可以考虑在原本降低性能的点处实施所述装置。可以实现所述装置在超出协议原本可能并不那么高效和有效的点继续高效且有效地利用所述协议。在一个示例性实施方案中,域内的部件的拓扑结构相对简单,但考虑多个域的整体配置拓扑结构为错综复杂的。新方法可以促进高效协议在域内的使用以及协议跨域的继续高效使用(例如,与跨经常导致降低有效性的通常被禁止的域实施协议的传统尝试不同)。
图12是根据一个实施例的示例性网络1200的方块图。网络1200包含域1211、1212、1213和1214,所述域各自包含以各种配置在域内耦合到彼此的各种交换机(S)、端点设备(E)和根联合体部件(RC)。未示出域内的连接以免混淆在域之间进行耦合的所示出的新方法实施方案的灵活性。应了解,可以各种配置实施交换机和端点设备。域1211、1212、1213和1214可以通过互连件1221、1222和1223通信地耦合。域1211、1212、1213和1214也可以通过包含非透明桥式电路1251、1252和1253的替代路径通信地耦合。在一个实施例中,域通过非透明桥式电路1251、1252和1253的通信耦合与高效协议兼容,并且其实施不会降低互连件1221、1222和1223的作用或特性。
图10是根据一个实施例的用于通过遵从PCIe的传输系统中的桥传输数据包的示例性方法1000的流程图。所述桥可以包含非透明桥式电路。
在方块1010中,初始化处理器以模拟两个端点设备,并且在由处理器模拟的两个端点设备中的一个与第二交换机之间建立链接。所述链接包括从第一交换机到第二交换机的第一数据路径的部分。将第一PCIe端点地址映射到第二地址以便通过所述链接传输数据包。映射可以防止数据包通过至少部分地由第一数据路径和第二数据路径形成的环形传输路径传输。第一数据路径和第二数据路径可以实现PCIe传输系统中的多径路由。在一个方法中,第一路径和第二路径建立包含第一交换机和第二交换机的多个交换机之间的多个传输连接,以形成遵从PCIe的高阶拓扑结构。
在方块1020中,在处理器中从第一交换机接收数据包,所述数据包源自源端点设备。将所述数据包引导到对应于两个模拟端点设备中的一个的第一地址。
在方块1030中,在处理器中将与桥相关联的第一地址(例如,PCIe端点地址)转译为与第二交换机相关联的第二地址。使用来自地址转译表的映射信息执行所述转译。
在方块1040中,经由第一数据路径将数据包从处理器转发到第二交换机,绕过第二数据路径中作为初始树形拓扑结构的一部分的介于中间的交换机。第二数据路径在树形拓扑结构中大于一跳。至少部分地通过第一数据路径将数据包从一个PCIe端点设备传输到另一个PCIe端点设备。
应了解,新配置方法可以实现与PCIe要求兼容的网络中的多径路由。这可以促进构建比基本树方法更复杂的网络拓扑结构。在一个实施例中,新方法可以实现类似于PCIe协议的许多特性的实践,同时仍促进类似于各种拓扑结构(例如,胖树、CLOS、二维或三维环面等)的特性的实践。例如,可以利用根据新方法配置的PCIe非透明桥来互连类似于树形拓扑结构的拓扑结构的多个分段,并且因此在不破坏或不违背特定协议(例如,PCI、PCIe等)的原理的情况下创建另外的替代链接。因此,虽然传统PCIe实施方案的尝试目前大多限于单个壳体(例如,服务器、PC等)内以及主要在印刷电路板(printed circuit board,PCB)层级处的部署,但是新方法可以促进PCIe属性和优点在众多更错综复杂的情形中的实施。在一个示例性实施方案中,与PCIe协议兼容能使新方法成为目前的以太网(ETH)和InfiniBand(IB)等数据中心互连技术的灵活且有成本效益的替代。
如上文所指示,新方法可以包含类似于树型协议或拓扑结构(例如,PCI、PCIe等)的许多特性或特征。在一个实施例中,单个链接可以扩展直至256Gbps,每个交换机跳具有大约130ns的延时。链接的带宽可以灵活地配置为从1个通道到16个通道(例如,通道计数可以是2的幂等),每个通道具有至多8千兆比特每秒(Giga bits per second,Gbps)(每个通道可以提供更高通量)。交换机能够以不同速度(例如,通道的数目等)互连链接,每个链接(例如,交换机端口等)的通道计数可以动态地重新配置。
在一个实施例中,所述技术可以提供与大量与此技术兼容的基于PCIe的不同I/O设备的硬件层级资源共享。新的非透明桥式电路能够与服务器内广泛使用的传统PCIe技术交互。CPU可以具有构建到芯片中的PCIe遵从性,而不需要连接在CPU与外围设备之间的任何额外的芯片组。在一个示例性实施方案中,基于新方法的集群或数据中心可以与PCIe互连兼容,并且成本效率得到大大提高(例如,因系统中所需的部件的数目和类型较少等)。另外,与ETH和IB相比,PCIe交换机的功耗每Gbps低若干倍,从而进一步有助于此类系统的成本效率。
根据功能,除硬件层级资源虚拟化之外,类似于PCIe实施方案,在一个实施例中,新方法也可以提供RDMA(远程直接存储器存取)功能,使其成为高速、低延时的CPU之间通信的切实可行的解决方案。在一个示例性实施方案中,新方法也可以使用内置的基于信用的流量控制,从而提供硬件层级处的可靠数据传递,需要的软件栈“微小”得多。所述技术还可以支持网络跨越更大距离的布线,并且足够灵活以支持不同的网络拓扑结构。存在具有低成本适配器和电缆的若干解决方案,使其成为可能有成本效益的数据中心互连。
下表概括与以太网和InfiniBand相比在一个实施例中在新方法可以实现的一些属性(例如,类似于快捷PCI等)。
以太网 | InfiniBand | PCIe | |
带宽(Gbps) | 10/40/100 | 2-300 | 8-256 |
延时(ns) | 200-300 | 160 | 120 |
可扩展性 | 无限 | O(10^3) | 至多64K |
可靠传递 | × | √ | √ |
RDMA | iWARP/RoCE | √ | √ |
跨框 | √ | √ | √ |
I/O虚拟化 | × | × | √ |
在一个实施例中,新方法可以利用与遵从PCIe的各方面,包含以下方面:PCIe标准化组织(例如,PCI-SIG)仅限定协议和数据包格式,但是实施技术的供应商在其设备(即交换机、端点等)内部自由实施任何功能,从而提供很大程度的灵活性和可能性,支持原本从其它数据中心互连技术遗漏的应用的不同功能。在具有上述属性的一个实施例中,与快捷PCI兼容的新方法可以识别为在数据中心内在部件之间的各种类型的通信的统一互连。
在一个实施例中,新方法或方法论有助于通过互连或耦合多个PCIe网络域而将快捷PCI网络的大小扩展超出其目前256个节点的限制。每个PCIe域具有其自身的管理实体或节点(例如,类似于第一PCIe根联合体控制器等),所述管理实体或节点与其它域的管理实体或节点配合进行其自身域内的正确地址配置。这允许连接到任一网络域的节点之间的域间数据访问。在一个实施例中,非透明桥式电路能实现扩展。非透明桥式电路包含处理器,所述处理器耦合到输入端口以接受来自由至多256个节点组成的第一PCIe网络域的数据包;所述处理器检查数据包中含有的地址,并且基于所述地址将数据包转发到由至多256个节点组成第二PCIe网络域,并且所述处理器使用耦合到所述处理器的输出端口将数据包传输到第二PCIe网络域。非透明桥式电路与遵从PCIe的一对端点地址相关联,其中所述对端点地址中的第一端点地址通过与第一PCIe网络域相关联的第一PCIe根联合体控制器指配,并且所述对端点地址中的第二端点地址通过与第二PCIe网络域相关联的第二PCIe根联合体控制器指配。根据地址转译表中的地址条目,数据包经由非透明桥式电路在第一PCIe网络域与第二PCIe网络域之间传输。
非透明桥式电路还包含存储用于处理器的信息和指令的存储器。存储器可以存储地址转译表,所述地址转译表将所述对端点地址中的第一端点地址映射到与第二PCIe网络域中包含的节点之一相关联的第二地址,并且将所述对端点地址中的第二端点地址映射到与第一PCIe网络域中包含的节点之一相关联的第四地址。
如上文所阐述,本文中描述的新方法可以促进高阶快捷PCI(PCI-Express,PCIe)网络实施方案。新方法能促进高效协议(例如,PCIe等)的利用,同时实现可能原本并不与所述协议兼容的各种特性和特征(例如,类似于胖树拓扑结构、CLOS拓扑结构、二维和三维拓扑结构等的特性和特征)的实施。例如,能够实现并利用替代路径的实施,同时保持符合可能原本并不与替代路径的使用兼容的协议(例如,PCIe等)。替代路径能促进灵活的拓扑结构实施和网络域扩展,同时实现改进的通信延时。在一个实施例中,所呈现的系统和方法促进非透明桥式电路的利用,所述非透明桥式电路相对于来自至少一个设备的通信配置为端点同时促进所述通信到至少一个其它设备上的传输。
本文中所述的实施例是以计算机可执行指令(例如程序模块)的大背景来讨论的,这些计算机指令位于某种形式的计算机可读存储介质,并由一个或多个计算机或其它设备执行。举例来说而并非限制,计算机可读存储介质可以包括非瞬时性计算机可读存储介质。非瞬时性计算机可读存储介质包含除瞬时性传播信号以外的所有计算机可读介质。计算机可读存储介质包含在用于存储计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术中所实现的易失性和非易失性、可移动和不可移动介质。一般而言,程序模块包含例程、程序、对象、部件、数据结构等,其执行特定任务或实现特定抽象数据类型。根据各种实施例中的需要,程序模块的功能可以组合或分布。
尽管本文中已经揭示某些优选实施例和方法,但所属领域的技术人员将从前述揭示内容显而易见,在不脱离本发明的精神和范围的情况下可以对此类实施例和方法进行变化和修改。希望本发明将仅限于所附权利要求书以及可适用法律的规则和原理所需的范围。
Claims (22)
1.一种用于在包括多个交换机和多个端点设备的PCIe网络中传送信息的非透明桥式电路,其特征在于,所述非透明桥式电路包括:
连接到所述PCIe网络的第一树支中的第一交换机的第一网络连接和连接到所述PCIe网络的第二树支中的第二交换机的第二网络连接,其中相对于所述第一交换机为所述非透明桥式电路指配第一范围地址并且相对于所述第二交换机为所述非透明桥式电路指配第二范围地址;
处理电路;以及
存储用于所述处理电路的信息的存储器;
所述处理电路用于:
从所述第一交换机接收第一数据包,所述第一数据包包含第一有效负载部分和在指配给所述非透明桥的所述第一范围地址内的第一目的地地址;
将所述第一目的地地址转译为第一转译目的地地址,其中所述第一转译目的地地址属于所述第二树支中的且连接到所述第二交换机的终端设备;
产生包含所述第一有效负载部分和所述第一转译目的地地址的第一修改数据包;以及
将所述第一修改数据包转发到所述第二交换机以用于递送到所述第二树支中的所述终端设备。
2.根据权利要求1所述的非透明桥式电路,其特征在于,所述处理电路进一步用于:
从所述第二交换机接收第二数据包,所述第二数据包包含第二有效负载部分和在指配给所述非透明桥的所述第二范围地址内的第二目的地地址;
将所述第二目的地地址转译为第二转译目的地地址,其中所述第二转译目的地地址属于所述第一树支中的且连接到所述第一交换机的另一个终端设备;
产生包含所述第二有效负载部分和所述第二转译目的地地址的第二修改数据包;以及
将所述第二修改数据包转发到所述第一交换机以用于递送到所述第一树支中的所述终端设备。
3.根据权利要求1所述的非透明桥式电路,其特征在于,所述存储器存储将所述第一目的地地址映射到所述第一转译目的地地址的地址转译表。
4.根据权利要求3所述的非透明桥式电路,其特征在于,利用所述地址转译表中的单个条目来存储所述第一数据包中含有的所述第一目的地地址。
5.根据权利要求1所述的非透明桥式电路,其特征在于,将所述修改数据包转发到所述第二交换机绕过所述第二树支中的介于中间的第三交换机并且保持遵从PCIe。
6.根据权利要求1所述的非透明桥式电路,其特征在于,所述非透明桥式电路是单独实体。
7.根据权利要求1所述的非透明桥式电路,其特征在于,所述非透明桥式电路并入所述多个交换机中的第四交换机中。
8.一种用于在包含耦合到非透明桥式电路的多个交换机和端点的遵从PCIe的网络中经由所述非透明桥式电路传输数据包的方法,其特征在于,所述方法包括:
在所述非透明桥式电路的处理部件中从所述遵从PCIe的网络中的所述多个交换机中的第一交换机接收数据包,所述数据包包含在与所述非透明桥式电路相关联的一对地址范围中的一个地址范围内的第一地址;
用第二地址替代所述数据包中的所述第一地址以形成修改数据包,所述第二地址与所述遵从PCIe的网络中的所述多个交换机中包含的所述交换机中的第二交换机相关联;以及
将所述修改数据包经由所述第一交换机与所述第二交换机之间的第一数据路径从所述处理部件转发到所述第二交换机,绕过连接到所述多个交换机中的所述第一交换机和所述多个交换机中的所述第二交换机的第二数据路径中的介于中间的第三交换机。
9.根据权利要求8所述方法,其特征在于,所述遵从PCIe的网络中的所述第一数据路径比所述第二数据路径少至少一个跳。
10.根据权利要求8所述的方法,其特征在于,进一步包括将所述第一地址映射到所述第二地址,利用所述映射以所述第二地址转译所述第一地址,并且通过所述用所述第二地址替代所述数据包中的所述第一地址来产生所述修改数据包。
11.根据权利要求10所述的方法,其特征在于,所述映射防止数据包通过至少部分地由所述第一数据路径和所述第二数据路径形成的环形传输路径传输。
12.根据权利要求8所述的方法,其特征在于,所述第一数据路径和第二数据路径实现所述遵从PCIe的网络中的多径路由。
13.根据权利要求8所述的方法,其特征在于,所述对地址范围中的所述一个地址范围的大小等于或大于分配给耦合到所述非透明桥的多个资源的开始地址和结束地址之间的差,所述第二交换机包含于所述多个资源中。
14.根据权利要求8所述的方法,其特征在于,所述对地址范围中的所述一个地址范围的大小相当于分配给耦合到所述非透明桥的多个资源的地址的总和,所述第二交换机包含于所述多个资源中。
15.根据权利要求8所述的方法,其特征在于,所述对地址范围中的一个的长度相当于指配给所述非透明桥的一个通信侧上的资源的地址的长度,并且所述对地址范围中的另一个的长度相当于指配给所述非透明桥的相反通信侧上的资源的地址的长度。
16.一种用于在通过包含两个交换机之间的多个不同路径的拓扑结构中配置的部件传送信息的遵从PCIe的网络系统,其特征在于,所述遵从PCIe的网络系统包括:
多个交换机设备,其耦合到一起以形成具有多个支路的遵从PCIe的树形拓扑结构;
多个端点设备,其耦合到所述多个支路的末端;以及
非透明桥,其通过指配给所述非透明桥的第一范围地址接触所述多个交换机中的第一交换机,并且通过指配给所述非透明桥的第二范围地址接触所述多个交换机中的第二交换机,通过将指配给所述非透明桥的所述第一范围地址内的目的地地址转译为与耦合到所述多个交换机中的所述第二交换机的资源相关联的转译目的地地址,并且将指配给所述非透明桥的所述第二范围地址内的目的地地址转译为与耦合到所述多个交换机中的所述第一交换机的资源相关联的转译目的地地址,所述非透明桥在所述遵从PCIe的网络中在所述多个交换机中的所述第一交换机与所述多个交换机中的所述第二交换机之间传送信息。
17.根据权利要求16所述的遵从PCIe的网络系统,其特征在于,所述非透明桥包括:
连接到所述遵从PCIe的网络的所述多个支路中的第一支路中的多个交换机中的第一交换机的第一网络连接,和连接到所述遵从PCIe的网络的所述多个支路中的第二支路中的多个交换机中的第二交换机的第二网络连接;
处理电路;以及
存储用于所述处理电路的信息的存储器;
所述处理电路用于:
从所述多个交换机中的所述第一交换机接收数据包,所述数据包包含第一有效负载部分和在指配给所述非透明桥的所述第一范围地址内的所述目的地地址;
基于所述转译所述第一范围地址内的所述目的地地址的结果产生修改数据包,所述修改数据包包含所述第一有效负载部分和与耦合到所述多个交换机中的所述第二交换机的所述资源相关联的所述转译目的地地址,所述资源包含端点设备;以及
将所述修改数据包转发到所述第二交换机以用于递送到所述资源。
18.根据权利要求16所述的遵从PCIe的网络系统,其特征在于,通过协调对所述多个交换机、所述多个端点和所述非透明桥的地址指配的主根联合体电路指配所述第一范围地址和所述第二范围地址。
19.根据权利要求16所述的遵从PCIe的网络系统,其特征在于,所述多个不同路径包含所述多个交换机、所述多个端点设备和所述非透明桥之间的传输连接以形成遵从PCIe的高阶拓扑结构。
20.根据权利要求16所述的遵从PCIe的网络系统,其特征在于,所述第一范围地址和所述第二范围地址是使所述非透明桥能够模拟一对端点的一对地址范围。
21.根据权利要求16所述的遵从PCIe的网络系统,其特征在于,在所述多个交换机中的所述第一交换机与所述多个交换机中的所述第二交换机之间建立所述多个不同路径中除通过所述非透明桥外的替代路径。
22.根据权利要求16所述的遵从PCIe的网络系统,其特征在于,所述遵从PCIe的网络系统包含由包含所述第一交换机的至多256个节点组成的第一遵从PCIe的网络域和由包含所述第二交换机的至多256个节点组成的第二遵从PCIe的网络域,并且所述非透明桥根据第一地址到第二地址的所述转译跨所述第一遵从PCIe的网络域和所述第二遵从PCIe的网络域的边界转发有效负载部分。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/536,516 US9419918B2 (en) | 2014-11-07 | 2014-11-07 | Non-transparent bridge method and apparatus for configuring high-dimensional PCI-express networks |
US14/536,516 | 2014-11-07 | ||
PCT/CN2015/093802 WO2016070813A1 (en) | 2014-11-07 | 2015-11-04 | Non-transparent bridge method and apparatus for configuring high-dimensional pci-express networks |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107113210A CN107113210A (zh) | 2017-08-29 |
CN107113210B true CN107113210B (zh) | 2019-09-20 |
Family
ID=55913136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580059369.2A Active CN107113210B (zh) | 2014-11-07 | 2015-11-04 | 用于配置高阶快捷pci网络的非透明桥式方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (2) | US9419918B2 (zh) |
EP (1) | EP3172870B1 (zh) |
CN (1) | CN107113210B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10515538B2 (en) * | 2014-11-24 | 2019-12-24 | Carrier Corporation | Communication systems |
US9858228B2 (en) | 2015-08-10 | 2018-01-02 | Futurewei Technologies, Inc. | Dynamic assignment of groups of resources in a peripheral component interconnect express network |
CN107851058B (zh) * | 2016-05-27 | 2021-02-12 | 华为技术有限公司 | 存储系统及设备扫描方法 |
US10082957B2 (en) * | 2016-07-20 | 2018-09-25 | Western Digital Technologies, Inc. | Dual-ported PCI express-based storage cartridge including single-ported storage controllers |
CN107045486B (zh) * | 2017-04-12 | 2020-01-31 | 福州瑞芯微电子股份有限公司 | 一种PCIe安全域广播方法以及系统 |
FR3076142A1 (fr) * | 2017-12-21 | 2019-06-28 | Bull Sas | Procede et serveur d'attribution d'adresses topologiques a des commutateurs de reseau, programme d'ordinateur et grappe de serveurs correspondants |
US10574566B2 (en) * | 2018-05-25 | 2020-02-25 | Juniper Networks, Inc. | Reducing or eliminating routing microloops in networks having a CLOS topology, such as data center CLOS networks employing the exterior border gateway protocol (EBGP) for example |
WO2020133841A1 (en) | 2018-12-28 | 2020-07-02 | Huawei Technologies Co., Ltd. | Apparatus and method for locking pcie network having non-transparent bridging |
CN111666231B (zh) * | 2019-03-05 | 2023-02-10 | 佛山市顺德区顺达电脑厂有限公司 | 于丛集式系统中维持存储器共享方法 |
US11403247B2 (en) | 2019-09-10 | 2022-08-02 | GigaIO Networks, Inc. | Methods and apparatus for network interface fabric send/receive operations |
US11392528B2 (en) * | 2019-10-25 | 2022-07-19 | Cigaio Networks, Inc. | Methods and apparatus for DMA engine descriptors for high speed data systems |
CN112988636B (zh) * | 2019-12-12 | 2024-01-30 | 中科寒武纪科技股份有限公司 | 用于数据加速处理的系统、板卡和电子设备 |
US11750418B2 (en) | 2020-09-07 | 2023-09-05 | Mellanox Technologies, Ltd. | Cross network bridging |
US11509751B2 (en) * | 2020-12-23 | 2022-11-22 | Dell Products L.P. | Self-describing system using single-source/multi-destination cable |
US11573917B2 (en) * | 2021-03-04 | 2023-02-07 | Liqid Inc. | Low latency computing architecture |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009120798A2 (en) * | 2008-03-25 | 2009-10-01 | Aprius Inc. | Pci-express function proxy |
US8429325B1 (en) * | 2010-08-06 | 2013-04-23 | Integrated Device Technology Inc. | PCI express switch and method for multi-port non-transparent switching |
CN103823638A (zh) * | 2014-02-08 | 2014-05-28 | 华为技术有限公司 | 一种虚拟设备访问方法及装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7110413B2 (en) * | 2001-12-31 | 2006-09-19 | Hewlett-Packard Development Company | Downstream broadcast PCI switch |
US7421532B2 (en) * | 2003-11-18 | 2008-09-02 | Topside Research, Llc | Switching with transparent and non-transparent ports |
US7334071B2 (en) * | 2005-05-25 | 2008-02-19 | Integrated Device Technology, Inc. | Expansion of cross-domain addressing for PCI-express packets passing through non-transparent bridge |
CN101501660B (zh) * | 2006-08-09 | 2011-11-16 | 日本电气株式会社 | 因特网连接交换机和因特网连接系统 |
US7519761B2 (en) | 2006-10-10 | 2009-04-14 | International Business Machines Corporation | Transparent PCI-based multi-host switch |
US7752346B2 (en) | 2007-12-21 | 2010-07-06 | Aprius, Inc. | Universal routing in PCI-Express fabrics |
JP5267943B2 (ja) * | 2009-03-30 | 2013-08-21 | 日本電気株式会社 | PCI−Express通信システム、及びPCI−Express通信方法 |
US8463934B2 (en) * | 2009-11-05 | 2013-06-11 | Rj Intellectual Properties, Llc | Unified system area network and switch |
US20140237156A1 (en) * | 2012-10-25 | 2014-08-21 | Plx Technology, Inc. | Multi-path id routing in a pcie express fabric environment |
US9286258B2 (en) * | 2013-06-14 | 2016-03-15 | National Instruments Corporation | Opaque bridge for peripheral component interconnect express bus systems |
-
2014
- 2014-11-07 US US14/536,516 patent/US9419918B2/en active Active
-
2015
- 2015-11-04 CN CN201580059369.2A patent/CN107113210B/zh active Active
- 2015-11-04 EP EP15856318.9A patent/EP3172870B1/en active Active
-
2016
- 2016-08-15 US US15/236,636 patent/US9647962B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009120798A2 (en) * | 2008-03-25 | 2009-10-01 | Aprius Inc. | Pci-express function proxy |
US8429325B1 (en) * | 2010-08-06 | 2013-04-23 | Integrated Device Technology Inc. | PCI express switch and method for multi-port non-transparent switching |
CN103823638A (zh) * | 2014-02-08 | 2014-05-28 | 华为技术有限公司 | 一种虚拟设备访问方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107113210A (zh) | 2017-08-29 |
US20160352651A1 (en) | 2016-12-01 |
EP3172870B1 (en) | 2018-09-05 |
US9419918B2 (en) | 2016-08-16 |
US9647962B2 (en) | 2017-05-09 |
EP3172870A4 (en) | 2017-07-26 |
US20160134564A1 (en) | 2016-05-12 |
EP3172870A1 (en) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107113210B (zh) | 用于配置高阶快捷pci网络的非透明桥式方法和装置 | |
US11375300B2 (en) | Networking hardware and software and data center topologies leveraging same | |
KR101559644B1 (ko) | 통신 제어 시스템, 스위치 노드 및 통신 제어 방법 | |
CN105556496B (zh) | 通过快捷外围组件互连高速(Peripheral Component Interconnect-Express,PCIe)进行的可扩展直接节点间通信的方法和装置 | |
JP6998391B2 (ja) | 分散スイッチに対するスケーラブル・データ・センター・ネットワーク・トポロジ | |
RU2543558C2 (ru) | Способ и усройство маршрутизации ввода-вывода и карта | |
CN105407140A (zh) | 一种网络化测试系统的计算资源虚拟化系统及方法 | |
US10013950B2 (en) | Systems and methods for transmitting video, network, and USB signals over extension media | |
CN105956659A (zh) | 数据处理装置和系统、服务器 | |
CN107851078B (zh) | 一种PCIe设备的聚合友好型地址分配的方法和系统 | |
CN102880587A (zh) | 基于嵌入式加速核心的独立显卡架构 | |
CN103701680A (zh) | 一种跨PCIe域报文传输的方法、设备及系统 | |
CN109412922A (zh) | 一种传输报文的方法、转发设备、控制器及系统 | |
US9753883B2 (en) | Network interface device that maps host bus writes of configuration information for virtual NIDs into a small transactional memory | |
CN110389711A (zh) | 帮助端点设备实现sr-iov功能的方法、设备和计算机程序产品 | |
CN104683428A (zh) | 网络业务处理方法与装置 | |
CN103685041B (zh) | 一种基于比特粒度可编程的路由器及路由方法 | |
Mondigo et al. | Comparison of direct and indirect networks for high-performance FPGA clusters | |
CN108959134B (zh) | 用于现场可编程门阵列设备的通信 | |
CN103946825A (zh) | 网络设备选择 | |
JP2008041027A (ja) | プロセッサノードシステムおよびプロセッサノードクラスタシステム | |
US10261936B2 (en) | PCIe switch with data and control path systolic array | |
US20240020261A1 (en) | Peer-to-peer route through in a reconfigurable computing system | |
CN110311843A (zh) | 基于PCIe链路的通信方法、装置、电子设备、存储介质 | |
WO2016070813A1 (en) | Non-transparent bridge method and apparatus for configuring high-dimensional pci-express 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 |