CN100557563C - 具有分级正交交换结构的多域处理系统 - Google Patents

具有分级正交交换结构的多域处理系统 Download PDF

Info

Publication number
CN100557563C
CN100557563C CNB028267044A CN02826704A CN100557563C CN 100557563 C CN100557563 C CN 100557563C CN B028267044 A CNB028267044 A CN B028267044A CN 02826704 A CN02826704 A CN 02826704A CN 100557563 C CN100557563 C CN 100557563C
Authority
CN
China
Prior art keywords
processing
domain
grouping
local
global
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.)
Expired - Fee Related
Application number
CNB028267044A
Other languages
English (en)
Other versions
CN1613052A (zh
Inventor
O·奥西恩科
E·布特勒
G·麦卡尔平
D·明图恩
J·谢菲尔
G·索罗蒙
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN1613052A publication Critical patent/CN1613052A/zh
Application granted granted Critical
Publication of CN100557563C publication Critical patent/CN100557563C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请公开了一种多域处理系统,包括:包括具有第一主处理机和至少一个第一终端节点的第一多个处理节点的第一处理区域;包括具有第二主处理机和至少一个第二终端节点的第二多个处理节点的第二处理区域;以及与所述的第一处理区域和所述的第二处理区域耦合的多维交换结构,用于在所述处理系统中多个正交路由平面内提供同级之间的分组通信,第一平面为在所述第一多个处理节点中所包括的任何两个或者多个处理节点之间的区域内分组通信提供所有路由,并且还相独立地为在所述第二多个处理节点中所包括的任何两个或者多个处理节点之间的区域内分组通信提供所有路由,第二平面为第一处理区域和第二处理区域之间的区域间分组通信提供所有路由。

Description

具有分级正交交换结构的多域处理系统
技术领域
本发明总体上涉及数字处理,特别涉及在多处理器环境中对等体之间的通信。
背景技术
在一个典型的处理域(domain)中,主机处理器通过某种形式的互连与多个终端节点进行通信。在过去,所述互连比较典型的是总线(例如外围部件互连(PCI)总线)。最近,交换结构已被用作处理域的主机和终端节点之间的互连装置(means)。可应用的交换结构技术的一些例子包括3GIO,Rapid I/OTM和HyperTransportTM.。在一些应用中(例如联网应用),对跨越多个处理元件和/或冗余系统执行动态分布处理的期望,产生了对多域解决方案的需求。可以理解的是,多域系统需要一些域间通信的机制。在多域系统中提供域间通信的现有技术(例如非透明桥接,多重结构,平面寻址方案等)从能力和/或性能角度来说都不够。所以,需要增强的方法和结构来提供多域处理系统中处理域之间的通信。
发明内容
在本发明的一个方面,提供了一种多域处理系统,包含:
包括具有第一主机处理器和至少一个第一终端节点的第一多个处理节点的第一处理域;
包括具有第二主机处理器和至少一个第二终端节点的第二多个处理节点的第二处理域;以及
与所述第一处理域和所述第二处理域耦合的多维交换结构,用于在所述处理系统中多个正交路由平面内提供对等体到对等体的分组通信,第一平面为在所述第一多个处理节点中所包括的任何两个或者多个处理节点之间的域内分组通信提供所有路由,并且还相独立地为在所述第二多个处理节点中所包括的任何两个或者多个处理节点之间的域内分组通信提供所有路由,以及第二平面为第一处理域和第二处理域之间的域间分组通信提供所有路由。
优选地,所述的第一主机处理器包括紧耦合的处理器复合体。
优选地,所述的第一和第二处理域是松耦合的。
优选地,所述的多维交换结构包括与所述第一处理域相关联的至少一个本地交换机,与所述第二处理域相关联的至少一个本地交换机,以及用于提供在所述第一和第二处理域之间的分组通信的至少一个全局交换机。
优选地,与所述第一处理域相关联的所述至少一个本地交换机包括本地分组路由信息和全局分组路由信息。
优选地,所述本地分组路由信息包括本地查找表,且所述全局分组路由信息包括全局查找表。
优选地,所述本地分组路由信息包括存储器映射信息,且所述全局分组路由信息包括全局查找表。
优选地,与所述第一处理域相关联的所述至少一个本地交换机,基于所接收分组之内的信息,来选择本地分组路由信息或者全局分组路由信息以用于路由所接收分组。
优选地,所述所接收分组之内的所述信息包括本地/全局标志。
优选地,所述所接收分组之内的信息包括分组目的地信息。
优选地,所述至少一个全局交换机包括全局分组路由信息,用来基于所接收分组之内的目的地域信息来路由所接收分组。
优选地,所述第一主机处理器包括分组生成器,用于生成要传送到目的地节点的分组,该分组包括识别目的地节点的域的信息。
优选地,所述第一主机处理器包括分组生成器,用于生成要传送到目的地节点的分组,该分组包括标识在多维交换结构之内该分组将在其中路由的平面的信息。
在本发明的又一个方面,提供了一种多域处理系统,包含:
具有第一主机处理器、至少一个第一本地交换机以及至少一个第一终端节点的第一处理域,所述至少一个第一本地交换机用于提供在所述第一主机处理器和所述至少一个第一终端节点之间的分组通信;
具有第二主机处理器、至少一个第二本地交换机以及至少一个第二终端节点的第二处理域,所述至少一个第二本地交换机用于提供在所述第二主机处理器和所述至少一个第二终端节点之间的分组通信;以及
至少一个全局交换机,用于提供在所述第一处理域中的第一本地交换机和所述第二处理域中的第二本地交换机之间的分组通信。
优选地,所述至少一个第一本地交换机包括本地路由信息和全局路由信息。
优选地,所述至少一个第一本地交换机,基于所接收分组之内的信息,选择本地路由信息或者全局路由信息以用于路由所接收分组。
优选地,所述本地路由信息包括用于所述第一处理域的存储器映射信息。
优选地,所述至少一个全局交换机包括过滤器,用于阻挡被识别为本地分组的所接收分组。
优选地,所述至少一个全局交换机包括触发单元,用于把所接收分组之内的本地/全局标志从全局改为本地。
优选地,所述至少一个全局交换机包括全局分组路由信息,用于基于所接收分组之内的目的地域信息来路由所接收分组。
优选地,所述第一处理域和所述第二处理域使用不同的操作系统。
优选地,所述第一处理域和所述第二处理域使用不同的交换结构技术。
附图说明
图1所示是利用交换结构来提供其中的独立处理节点之间通信的处理域的框图;
图2所示是用于图1所示处理域中的分组构成的图表;
图3所示是可以由图1所示处理域中的本地交换机所利用的一对查找表的图表;
图4所示是根据本发明实施例的多域处理系统的框图;
图5所示是用于图4所示多域处理系统中的分组构成的图表;
图6所示是用于图4所示多域处理系统的交换机中的一组本地和全局查找表的图表;以及
图7所示是根据本发明实施例的包括具有三个正交分级平面的多维交换结构的多域处理系统的框图。
具体实施方式
以下的详细描述是参考相应的附图进行的,并且通过图示示出了实施本发明的具体实施例。这些实施例都描述得充分详细,使本领域技术人员能够实施本发明。应当理解的是本发明的各种实施例尽管不同,但不必然互斥。例如,在此描述的与一个实施例有关的特定特征、结构或特性也可在不脱离于本发明的主旨和范围的情况下在其他实施例中实施。另外应当理解的是在每个公开的实施例中的独立元件的位置或布置可以在不脱离于本发明的主旨和范围的情况下进行更改。因此,以下详细的描述不应理解为限定性的,而且本发明的范围仅由所附的权利要求限定,可沿权利要求授权的全部等价范围作出适当的解释。附图中贯穿该若干图相同的标记指示的是相同或相似的功能性。
本发明涉及一种在多域处理环境中提供处理域之间通信的方法和结构。在两个或多个正交分级平面内路由分组,来提供多域系统中节点之间的通信。第一平面(例如本地平面)可以提供独立域中的处理节点之间的通信。第二平面(例如全局平面)可以提供不同域中的处理节点之间的通信。而全局交换机被提供来在系统中形成一个多维交换结构。与利用平面寻址方案的系统(例如利用非透明桥接,多重结构等的系统)相比,全局交换机很少或没有给域中的本地流量造成运行的负担。因此,交换结构的多维性质加强了总体性能。利用本发明原理,多维交换结构有可能具有超高的可扩展性。另外,本发明的原理也可用于在利用不同操作系统和/或不用交换结构技术(例如在一个域中用快速I/O而在另一个域中用3GIO)的处理域之间提供通信。对本领域技术人员来说很明显,本发明的原理可以应用于需要在多重处理域之间通信的广泛的应用范围。
图1所示是利用交换结构来提供其中的独立处理节点之间通信的处理域10的框图。如图所示,处理域10包含:主机(N1)12,多个终端节点(N2-N6)14,以及交换结构16。交换结构16包括一对本地交换机(S1,S2)18和多个点对点传输段20。应当理解的是,终端节点14的数量,本地交换机18的数量,以及交换结构16的配置可根据设计而变化。交换结构16提供主机12和独立终端节点14之间的数据通信。另外,交换结构16还可提供域10中的独立终端节点14之间的直接通信,而不需要主机12的中间处理。为了提供软件透明度,用于域10中的交换结构16可模仿基于传统总线的解决方案(例如PCI)的属性,这就可使得传统总线软件经过很小修改或不经修改就能用于本系统中。
主机12可以包含多种不同处理器类型中的任一种,包括例如,通用微处理器,数字信号处理器(DSP),精简指令集计算机(RISC),复杂指令集计算机(CISK),现场可编程门阵列(FPGA),和/或其它包括多个处理器的布置(arrangements)。在至少一种方式(approach)中,主机12包括执行其自身操作系统的紧耦合的处理器复合体。每个终端节点14是在域10中可以执行特定处理任务的处理元件。每个终端节点14包括例如,插入相应底板结构的插槽的分离的处理器板或卡。当然其它的布置也是可能的。存在于特定处理域中的终端节点14的类型通常取决于所实施的具体应用。某些可能的节点类型包括例如,网络接口卡(NICs),存储接口卡,以及其它智能和/或非智能的输入/输出(I/O)装置。
通过处理域10的交换结构16的通信是基于分组的。即,利用独立的信息分组在处理节点之间传输信息。通常每个分组将标识该分组的目的地节点。在一种可能方式(possible approach)中,给域10中的每个处理节点指派唯一的节点标识号码。然后,相应目的地节点的标识号码被包含在该域中的源节点所传送的每个分组中。图2所示是用于图1所示的域10中的一个可能的分组构成(structure)的图表。如图所示,分组22包括携带分组头信息的分组头字段(packet header field)24、携带LID的本地ID(LID)字段26、携带分组尾信息的分组尾字段28。分组头和分组尾信息特别标识出分组22的开始和结束。而LID用以标识分组22在域10中的目的地节点。分组22通常也包含其它字段,例如携带与分组22相关联的用户数据的有效载荷字段。
每个本地交换机18包括多个输入/输出端口(图1中所标的0-3),用以输入和输出分组。本地交换机18在其端口之一接收分组,并基于分组中的目的地信息,将该分组路由至另一端口(即用于输出)。查找表(LUT)或其它路由信息也可用于本地交换机中,从而便于完成路由功能。特定的本地交换机18中的LUT可以列出例如域10中的所有处理节点12、14,以及为每个列出节点指示交换机18中的适当的端口。当本地交换机18接收了分组,交换机18确定该分组的目的地节点,并查询LUT来识别该分组的适当的输出端口。该分组就被路由出所识别的端口。分组在到达目的地节点前,需要路由通过多个本地交换机18。图3所示是可用于域10的相应的本地交换机(S1,S2)18中的一对LUT30、32。
在一种可能方式中,单个物理存储器映射用于描述区域10中的资源,这可能是在例如PCI传统系统中出现的情况。在这种系统中,路由可基于存储器映射中的物理存储地址来执行(即代替基于节点ID的方式)。内容可寻址存储器(CAM)可用于代替路由查找表来执行该类型的路由。即CAM可将物理存储器区域路由到拓扑(topology)中的特定节点。其它的分组路由技术也可用于本地交换机18中。
图4所示是根据本发明实施例的多域处理系统40的框图。如图所示,多域处理系统40包括四个独立处理域(D1,D2,D3,D4),每个处理域包括相应的主机42和相应的终端节点44。另外,多域处理系统40包括在两个正交路由平面(即一个本地平面和一个全局平面)中可操作的、在系统中的处理节点42、44之间路由分组的二维交换结构46。将在下面进行更详细的描述,交换结构46能够在处理系统40中提供域内和域间的对等体到对等体之间的通信。二维交换结构46包括多个本地交换机48,用以执行相应处理域的本地路由任务;以及至少一个全局交换机50,用以执行域之间的全局路由任务。在本发明的至少一个实施例中,系统中的本地和全局交换机在一个共同的半导体芯片上实现。当然一些替换的布置也可以。应当理解的是,域的数量以及交换结构46中交换机48,50的数量和配置可以根据设计而变化。
在图4所示的多域处理系统40中,每个信息分组包括分组的目的地域的指示以及目的地域中的目的地节点的指示。图5所示是用于多域处理系统40中以提供这些指示的一个可能的分组构成的图表。如图所示,分组54包括与前述那些类似的分组头字段56,LID字段58,分组尾字段64。另外,分组54还包括全局ID(GID)字段60和本地/全局标志(flag)字段62。分组54的GID字段60包括标识分组54的目的地域的唯一的GID号码。本地/全局标志字段62包括指示分组54是被本地传送(即在本地平面内)还是全局传送(即在全局平面内)的标志。所述标志可作为已有字段中的特殊编码被实现,而不是提供用于本地/全局标志的单独字段62。LID字段58包括标识关联的目的地域中的目的地节点的LID号码。应当理解的是在独立分组中提供目的地相关信息的多种替换方法也是可用的。
本地交换机48操纵接收到的分组的方式取决于该分组是需要域内路由还是域间路由。在至少一个实施例中,每个本地交换机48包括本地路由信息(例如本地LUT)和全局路由信息(例如全局LUT)。本地交换机48也可以包括如下功能性(例如选择单元):基于接收的分组中的信息,选择本地路由信息或全局路由信息用于对接收到的分组进行路由。当本地交换机48从本地处理节点42、44接收分组时,交换机48首先读取分组内的信息(例如本地/全局标志等),来确定是执行本地路由还是全局路由。如果该信息指示为本地路由,本地交换机48读取分组中的目的地节点信息(例如LID号码),然后查询本地路由信息,以便为该分组确定适当的输出端口,然后据此来路由该分组。如果随后该分组到达另一个本地交换机48,重复上述过程。于是该分组即可最终被传送到该分组内所标识的本地目的地节点。
如果该分组指示将执行全局路由,本地交换机48查询全局路由信息来为该分组确定适当的输出端口,并据此来路由该分组。为每个随后的本地交换机48重复该过程,直到该分组被传送至全局交换机50。随后全局交换机50读取该分组内的目的地的域信息(例如GID号码),并查询存储在交换机50中的全局路由信息(例如全局LUT)来识别(identify)相应于目的地域的输出端口。然后,该分组被路由出所识别的端口。随后该分组在被接收到目的地域中的本地交换机48中之前,可能会被指引通过一个或多个另外的全局交换机50。
与在起始域中相同,目的地域中的本地交换机48读取接收到的分组中的信息,来确定路由是在本地平面还是全局平面执行。在使用本地/全局标志的系统中,当分组在域间运送时,分组中的标志可由“全局”改为“本地”。上述操作最好是在接收该分组的第一个全局交换机50中执行(例如在该交换机的触发(toggle)单元中)。在本地交换机48确定将对该分组执行本地路由之后,它读取该分组的目的地节点信息,然后查询它的本地路由信息来确定适当的输出端口。然后据此来路由该分组。然后该分组在到达目的地节点之前有可能被路由通过一个或多个另外的本地交换机48。
应当理解的是:不同于本地/全局标志的信息也可用于确定分组是在本地平面还是全局平面传送。例如在一个方式中,本地交换机48读取接收的分组的GID字段,并比较其中的GID号码与相应域的已知GID(其可存储于本地交换机48的存储器中)。如果GID都相同,本地交换机48确定在本地平面内执行路由,并且查询它的本地路由信息来路由该分组。如果GID不同,本地交换机48确定在全局平面内执行路由,并且查询它的全局路由信息来路由该分组。这种方式就无需在域间传送时改变本地/全局标志。其它一些技术也可行。
图6所示是一组用于图4所示的二维交换结构46的交换机48、50中的本地和全局LUT的图表。第一组LUT66相应于域D1中的本地交换机LS1和LS2,第二组LUT68相应于域D2中的本地交换机LS3和LS4,第三组LUT70相应于域D3中的本地交换机LS5和LS6,第四组LUT72相应于域D4中的本地交换机LS7和LS8。如图所示,每个域中的每个本地交换机48包括本地LUT和全局LUT这二者。这些LUT被存储于例如相应交换机48中的专用存储器空间中。全局LUT74也可用于图4所示的全局交换机(GS1)50。在至少一种方式中,利用基于存储器地址的路由技术来执行二维交换结构46的本地交换机中的路由。
如前关于图1的域10所述的,可能希望使与域关联的交换结构模仿传统互连解决方案(例如PCI总线)的属性来保持软件透明度。当实现根据本发明的多维交换结构时(例如图4所示的交换结构46),有可能保持多域系统的每个独立域中的软件透明度,因此可允许再利用已有的互连基础构造(例如PCI基础构造)。这种方式许可向扩展解决方案(例如多域解决方案)的逐渐过渡,而不需要完全放弃已有的基础结构。
根据本发明的一个方面,具有多级交换结构的多域处理系统中的计数(enumeration)(例如图4所示的多域处理系统40)是作为多阶段处理来执行的。在初始阶段(即本地计数阶段),多域系统中的每个域被独立计数。在随后的阶段(即全局计数阶段),计数是在全局基础上执行的。通常通过以发现模式将配置分组发送到系统中的各种节点来执行计数。在本地计数阶段,每个域中的主机可发送配置分组来“发现”域中的各种终端节点。即,主机可以向域中的每个可能的终端节点位置传送配置分组,且如果终端节点存在于该位置,该终端节点将指示该终端节点的能力和/或身份标识的信息传送回主机。然后该主机汇编从每个本地终端节点接收的信息。汇编的信息随后可以用于产生域中每个本地交换机的本地路由信息(例如本地LUT)。在本地交换机被用本地路由信息初始化以后,便能在每个域中开始对等体到对等体间的通信(例如加载/存储)。
用于本地计数阶段的配置分组通常均包括指示它们是本地分组的某种指示(例如,当使用本地/全局标志,它将指示为本地路由)。在至少一种实施方式中,多维交换结构中的一些或者全部全局交换机50包括过滤器,用以阻挡本地分组。在本地计数阶段,这可防止来自其它域的配置分组产生的干扰。如果使用本地/全局标志,该过滤器可以仅仅读取每个输入分组的标志,并且丢弃任何指示它为本地的分组。在另一种可能的技术中,域中的交换机可通过以某种形式加标记(tag)的根端口连接(例如管脚接片)。在这种布置中,系统中的全局交换机可由根端口的不存在而识别出。其它一些可防止本地计数期间的域间干扰的技术亦可行。
本地计数完成后,便开始全局计数阶段。为执行全局计数,系统中的主机之一通常被指定为系统管理器。该系统管理器可通过例如如下方式选择,在全局计数阶段之前或期间利用以软件实现的仲裁协议选择。在全局计数期间,跨越域执行发现过程。在一种方式中,该系统管理器贯穿该多域系统发送配置分组来发现系统中其它的域(注意其它通信机制,例如简单消息传送协议也可替代用于此目的)。用于全局计数阶段的配置分组通常均包括某种指示:指示它们是全局分组(例如,如果使用本地/全局标志,它将指示为全局路由)。其它域中的主机接收全局配置分组,并将与相应域中可用处理节点相关的信息(即在先前本地计数阶段汇编的信息)传送回该系统管理器作为应答。然后,该系统管理器汇编来自每个所发现域的信息。汇编的信息可随后用来为系统中的本地和全局交换机发展全局路由信息(例如全局LUT)。指示系统中其它处理节点的可用性、能力和/或位置的信息也可传送给每个域中的独立终端节点,以备其以后使用。在所有交换机被用全局路由信息适当初始化后,便能在系统内开始域间的对等体到对等体通信(例如加载/存储,信息传递等)。
在前面所述的本地计数阶段期间,可以在独立域中运用传统计数技术。如前所述,这可允许运用已有软件来执行本地计数。在一种可能方式中,例如PCI兼容计数技术可用于执行本地计数。利用这些技术,特定域中交换机的每个端口被看作位于其专有的总线段上的唯一PCI总线透明桥装置。发现过程被启动,每个被发现的装置都被包括到相应域的单个存储器映射中。在该过程完成时,建立存储器映射指派,并且LUT(或CAM)都为了合适的本地路由进行了初始化。由于PCI所支持的总线段数的缘故,利用本技术,域拓扑可以被限制在最多为256个节点。
在本发明的至少一个实施例中,提供包括具有三个或更多的正交分级平面的多维交换结构的多域处理系统。这种方式可以用来例如提供两个或更多的多域处理子系统中的处理节点之间的通信。图7所示是一个这种实施例的框图。如图所示,具有多个类似于图4所示系统40的二维多域处理子系统80,82,84,86。即,每个子系统80,82,84,86包括多个处理域88,每个处理域包括主机和一个或多个终端节点(未示出)。每个子系统80,82,84,86中的处理域88能够通过包括本地交换机(假定存在于图7所示的域88中)和至少一个全局交换机90的交换结构互相通信。除此之外,一个或多个通用交换机92被提供来支持不同处理子系统80,82,84,86之间的通信。这将第三正交平面增加到整个系统的交换结构。应当理解的是,子系统的数量、每个子系统中域的数量以及交换结构中本地、全局和通用交换机的数量和配置可以根据设计而变化。
为支持图7所示的拓扑,可以实现与上述技术相类似的技术。例如,系统中的每个分组可以包括目的地子系统的指示(例如通用ID(UID)),目的地子系统中目的地域的指示(例如GID),以及目的地子系统的目的地域中目的地节点的指示(例如LID)。一个或多个标志也可存在于分组中指示该分组将在哪个平面中被路由(即本地,全局,通用)。通用LUT可以添加到系统中的每个全局交换机90来支持通用平面中的路由。通用LUT也可添加到系统中的每个本地交换机。当分组被全局交换机90接收时,交换机90首先可以确定接收到的分组在哪个平面中被路由(例如通过读取标志等来确定),然后在与识别的平面关联的交换机中查询路由信息(例如LUT)。通用交换机92将读取每个接收的分组中的目标子系统信息(例如UID),并且基于其中的通用路由信息(例如通用LUT)路由该分组。通用交换机92也可改变分组中的标志(或其余信息)来反映该分组的路由平面中即将发生的改变。另外的正交路由平面(例如第四平面,第五平面等)也可以类似于上述的方式添加到处理系统。
本发明的原理可用于各种不同的应用中。在一种可能的应用中,例如,本发明原理可用于多处理环境中来提供松耦合处理域的系统,每个处理域包括紧耦合分级处理器复合体。正如本文所用的,术语“紧耦合”是指共享公共存储器空间的处理器,而术语“松耦合”是指不共享公共存储器空间的处理器。在另一种可能的应用中,本发明的原理用来提供用于例如嵌入应用(例如CompactPCI(cPCI))的共同底盘内的冗余系统(例如多处理器复合体)。在另一种应用中,本发明的原理用来提供位于例如cPCI底板内的分布式的、松耦合的多处理系统。在另一种应用中,本发明的原理实施在服务器环境(例如I/O处理器和/或智能I/O装置)中来提供多服务器处理器箱内的处理器之间的通信。应当理解的是,也可以有很多其它的应用。
尽管结合某些实施例描述了本发明,应当理解的是在不脱离本领域技术人员所容易理解的本发明的主旨和范围的情况下,可以对其采取修改和变更。这样的修改和变更被认为落在本发明以及所附权利要求的范围之内。

Claims (22)

1.一种多域处理系统,包含:
包括具有第一主机处理器和至少一个第一终端节点的第一多个处理节点的第一处理域;
包括具有第二主机处理器和至少一个第二终端节点的第二多个处理节点的第二处理域;以及
与所述第一处理域和所述第二处理域耦合的多维交换结构,用于在所述处理系统中多个正交路由平面内提供对等体到对等体的分组通信,第一平面为在所述第一多个处理节点中所包括的任何两个或者多个处理节点之间的域内分组通信提供所有路由,并且还相独立地为在所述第二多个处理节点中所包括的任何两个或者多个处理节点之间的域内分组通信提供所有路由,以及第二平面为第一处理域和第二处理域之间的域间分组通信提供所有路由。
2.如权利要求1所述的多域处理系统,其中:
所述的第一主机处理器包括紧耦合的处理器复合体。
3.如权利要求2所述的多域处理系统,其中:
所述的第一和第二处理域是松耦合的。
4.如权利要求1所述的多域处理系统,其中:
所述的多维交换结构包括与所述第一处理域相关联的至少一个本地交换机,与所述第二处理域相关联的至少一个本地交换机,以及用于提供在所述第一和第二处理域之间的分组通信的至少一个全局交换机。
5.如权利要求4所述的多域处理系统,其中:
与所述第一处理域相关联的所述至少一个本地交换机包括本地分组路由信息和全局分组路由信息。
6.如权利要求5所述的多域处理系统,其中:
所述本地分组路由信息包括本地查找表,且所述全局分组路由信息包括全局查找表。
7.如权利要求5所述的多域处理系统,其中:
所述本地分组路由信息包括存储器映射信息,且所述全局分组路由信息包括全局查找表。
8.如权利要求5所述的多域处理系统,其中:
与所述第一处理域相关联的所述至少一个本地交换机,基于所接收分组之内的信息,来选择本地分组路由信息或者全局分组路由信息以用于路由所接收分组。
9.如权利要求8所述的多域处理系统,其中:
所述所接收分组之内的所述信息包括本地/全局标志。
10.如权利要求8所述的多域处理系统,其中:
所述所接收分组之内的信息包括分组目的地信息。
11.如权利要求4所述的多域处理系统,其中:
所述至少一个全局交换机包括全局分组路由信息,用来基于所接收分组之内的目的地域信息来路由所接收分组。
12.如权利要求1所述的多域处理系统,其中:
所述第一主机处理器包括分组生成器,用于生成要传送到目的地节点的分组,该分组包括识别目的地节点的域的信息。
13.如权利要求1所述的多域处理系统,其中:
所述第一主机处理器包括分组生成器,用于生成要传送到目的地节点的分组,该分组包括标识在多维交换结构之内该分组将在其中路由的平面的信息。
14.一种多域处理系统,包含:
具有第一主机处理器、至少一个第一本地交换机以及至少一个第一终端节点的第一处理域,所述至少一个第一本地交换机用于提供在所述第一主机处理器和所述至少一个第一终端节点之间的分组通信;
具有第二主机处理器、至少一个第二本地交换机以及至少一个第二终端节点的第二处理域,所述至少一个第二本地交换机用于提供在所述第二主机处理器和所述至少一个第二终端节点之间的分组通信;以及
至少一个全局交换机,用于提供在所述第一处理域中的第一本地交换机和所述第二处理域中的第二本地交换机之间的分组通信。
15.如权利要求14所述的多域处理系统,其中:
所述至少一个第一本地交换机包括本地路由信息和全局路由信息。
16.如权利要求15所述的多域处理系统,其中:
所述至少一个第一本地交换机,基于所接收分组之内的信息,选择本地路由信息或者全局路由信息以用于路由所接收分组。
17.如权利要求15所述的多域处理系统,其中:
所述本地路由信息包括用于所述第一处理域的存储器映射信息。
18.如权利要求14所述的多域处理系统,其中:
所述至少一个全局交换机包括过滤器,用于阻挡被识别为本地分组的所接收分组。
19.如权利要求14所述的多域处理系统,其中:
所述至少一个全局交换机包括触发单元,用于把所接收分组之内的本地/全局标志从全局改为本地。
20.如权利要求14所述的多域处理系统,其中:
所述至少一个全局交换机包括全局分组路由信息,用于基于所接收分组之内的目的地域信息来路由所接收分组。
21.如权利要求14所述的多域处理系统,其中:
所述第一处理域和所述第二处理域使用不同的操作系统。
22.如权利要求14所述的多域处理系统,其中:
所述第一处理域和所述第二处理域使用不同的交换结构技术。
CNB028267044A 2001-11-02 2002-10-30 具有分级正交交换结构的多域处理系统 Expired - Fee Related CN100557563C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/005,895 US7310319B2 (en) 2001-11-02 2001-11-02 Multiple-domain processing system using hierarchically orthogonal switching fabric
US10/005,895 2001-11-02

Publications (2)

Publication Number Publication Date
CN1613052A CN1613052A (zh) 2005-05-04
CN100557563C true CN100557563C (zh) 2009-11-04

Family

ID=21718246

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028267044A Expired - Fee Related CN100557563C (zh) 2001-11-02 2002-10-30 具有分级正交交换结构的多域处理系统

Country Status (7)

Country Link
US (2) US7310319B2 (zh)
EP (1) EP1446715A2 (zh)
KR (1) KR100678838B1 (zh)
CN (1) CN100557563C (zh)
AU (1) AU2002348420A1 (zh)
TW (1) TWI242723B (zh)
WO (1) WO2003040872A2 (zh)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030189923A1 (en) * 2002-04-05 2003-10-09 Gagnon Ronald J. Data switching process
US8102843B2 (en) 2003-01-21 2012-01-24 Emulex Design And Manufacturing Corporation Switching apparatus and method for providing shared I/O within a load-store fabric
US8346884B2 (en) 2003-01-21 2013-01-01 Nextio Inc. Method and apparatus for a shared I/O network interface controller
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
US7490325B2 (en) 2004-03-13 2009-02-10 Cluster Resources, Inc. System and method for providing intelligent pre-staging of data in a compute environment
CA2468122A1 (en) * 2004-05-20 2005-11-20 Fernando Cuervo Provisioning of cross domain telecommunication services through dynamic label differentiation
US7746872B2 (en) * 2004-05-21 2010-06-29 Hewlett-Packard Development Company, L.P. Packet routing as a function of direction
US20070266388A1 (en) 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US8176490B1 (en) 2004-08-20 2012-05-08 Adaptive Computing Enterprises, Inc. System and method of interfacing a workload manager and scheduler with an identity manager
CA2586763C (en) 2004-11-08 2013-12-17 Cluster Resources, Inc. System and method of providing system jobs within a compute environment
KR100645537B1 (ko) 2005-02-07 2006-11-14 삼성전자주식회사 안정적인 패킷 포워딩을 위한 동적인 큐 관리방법 및 이를위한 네트워크 프로세서의 구성요소
US7474658B2 (en) * 2005-02-10 2009-01-06 International Business Machines Corporation Data processing system, method and interconnect fabric supporting concurrent operations of varying broadcast scope
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
CA2603577A1 (en) 2005-04-07 2006-10-12 Cluster Resources, Inc. On-demand access to compute resources
US7966562B1 (en) * 2005-12-28 2011-06-21 The Mathworks, Inc. System and method for providing domain-sensitive help
US20070156942A1 (en) * 2005-12-30 2007-07-05 Robert Gough Method and apparatus for independently managing a chipset-integrated bus controller
US8924590B2 (en) * 2006-02-14 2014-12-30 Hewlett-Packard Development Company, L.P. System and method for communicating in a networked system
US7562176B2 (en) * 2007-02-28 2009-07-14 Lsi Corporation Apparatus and methods for clustering multiple independent PCI express hierarchies
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
US8285900B2 (en) * 2009-02-17 2012-10-09 The Board Of Regents Of The University Of Texas System Method and apparatus for congestion-aware routing in a computer interconnection network
US20110103391A1 (en) 2009-10-30 2011-05-05 Smooth-Stone, Inc. C/O Barry Evans System and method for high-performance, low-power data center interconnect fabric
US20130107444A1 (en) 2011-10-28 2013-05-02 Calxeda, Inc. System and method for flexible storage and networking provisioning in large scalable processor installations
US8599863B2 (en) 2009-10-30 2013-12-03 Calxeda, Inc. System and method for using a multi-protocol fabric module across a distributed server interconnect fabric
US9054990B2 (en) * 2009-10-30 2015-06-09 Iii Holdings 2, Llc System and method for data center security enhancements leveraging server SOCs or server fabrics
US9077654B2 (en) 2009-10-30 2015-07-07 Iii Holdings 2, Llc System and method for data center security enhancements leveraging managed server SOCs
US9465771B2 (en) 2009-09-24 2016-10-11 Iii Holdings 2, Llc Server on a chip and node cards comprising one or more of same
US9876735B2 (en) 2009-10-30 2018-01-23 Iii Holdings 2, Llc Performance and power optimized computer system architectures and methods leveraging power optimized tree fabric interconnect
US10877695B2 (en) 2009-10-30 2020-12-29 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US9311269B2 (en) 2009-10-30 2016-04-12 Iii Holdings 2, Llc Network proxy for high-performance, low-power data center interconnect fabric
US9680770B2 (en) 2009-10-30 2017-06-13 Iii Holdings 2, Llc System and method for using a multi-protocol fabric module across a distributed server interconnect fabric
US9648102B1 (en) 2012-12-27 2017-05-09 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US8270963B1 (en) 2010-10-01 2012-09-18 Viasat, Inc. Cross domain notification
US9113499B2 (en) * 2010-10-01 2015-08-18 Viasat, Inc. Multiple domain smartphone
US8495731B1 (en) * 2010-10-01 2013-07-23 Viasat, Inc. Multiple domain smartphone
US8458800B1 (en) 2010-10-01 2013-06-04 Viasat, Inc. Secure smartphone
US9288160B2 (en) * 2011-08-23 2016-03-15 Intel Corporation GID capable switching in an infiniband fabric
US9092594B2 (en) 2011-10-31 2015-07-28 Iii Holdings 2, Llc Node card management in a modular and large scalable server system
EP2923279B1 (en) * 2012-11-21 2016-11-02 Coherent Logix Incorporated Processing system with interspersed processors; dma-fifo
US9294384B2 (en) * 2013-03-01 2016-03-22 Skytap Distributed service routing protocol suitable for virtual networks
US10404621B2 (en) * 2013-03-15 2019-09-03 Oracle International Corporation Scalable InfiniBand packet-routing technique
US10394738B2 (en) * 2016-09-29 2019-08-27 Intel Corporation Technologies for scalable hierarchical interconnect topologies
US11562115B2 (en) 2017-01-04 2023-01-24 Stmicroelectronics S.R.L. Configurable accelerator framework including a stream switch having a plurality of unidirectional stream links
US10523563B2 (en) * 2018-04-10 2019-12-31 Cisco Technology, Inc. Mechanism and procedures for multi-domain enterprise fabric domain federations
US11593609B2 (en) 2020-02-18 2023-02-28 Stmicroelectronics S.R.L. Vector quantization decoding hardware unit for real-time dynamic decompression for parameters of neural networks
US11507831B2 (en) 2020-02-24 2022-11-22 Stmicroelectronics International N.V. Pooling unit for deep learning acceleration
US11531873B2 (en) 2020-06-23 2022-12-20 Stmicroelectronics S.R.L. Convolution acceleration with embedded vector decompression

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5040169A (en) 1989-07-25 1991-08-13 International Business Machines Corporation Wavelength division photonic switch
US5671355A (en) 1992-06-26 1997-09-23 Predacomm, Inc. Reconfigurable network interface apparatus and method
US5617421A (en) * 1994-06-17 1997-04-01 Cisco Systems, Inc. Extended domain computer network using standard links
US5634010A (en) * 1994-10-21 1997-05-27 Modulus Technologies, Inc. Managing and distributing data objects of different types between computers connected to a network
US5875314A (en) 1996-11-01 1999-02-23 Northern Telecom Limited Configurable connection fabric for providing serial backplanes with adaptive port/module bandwidth
US5930256A (en) 1997-03-28 1999-07-27 Xerox Corporation Self-arbitrating crossbar switch
US5970232A (en) 1997-11-17 1999-10-19 Cray Research, Inc. Router table lookup mechanism
US6182178B1 (en) 1998-06-30 2001-01-30 International Business Machines Corporation Method and system for supporting peripheral component interconnect (PCI) peer-to-peer access across a PCI host bridge supporting multiple PCI buses
US7020697B1 (en) * 1999-10-01 2006-03-28 Accenture Llp Architectures for netcentric computing systems
US6977924B1 (en) 1999-12-22 2005-12-20 Alcatel Control and distribution protocol for a portable router framework
US6295276B1 (en) 1999-12-31 2001-09-25 Ragula Systems Combining routers to increase concurrency and redundancy in external network access
FI108691B (fi) * 2000-02-01 2002-02-28 Nokia Corp Keskuksen ohjausyhteyksien autokonfigurointi
US6674725B2 (en) * 2001-03-05 2004-01-06 Qwest Communications International, Inc. Method and system for dynamic service classification and integrated service control

Also Published As

Publication number Publication date
CN1613052A (zh) 2005-05-04
US20030086421A1 (en) 2003-05-08
KR20040069318A (ko) 2004-08-05
US20080144619A1 (en) 2008-06-19
TW200303476A (en) 2003-09-01
TWI242723B (en) 2005-11-01
US7808989B2 (en) 2010-10-05
EP1446715A2 (en) 2004-08-18
AU2002348420A1 (en) 2003-05-19
US7310319B2 (en) 2007-12-18
WO2003040872A3 (en) 2004-03-04
WO2003040872A2 (en) 2003-05-15
KR100678838B1 (ko) 2007-02-05

Similar Documents

Publication Publication Date Title
CN100557563C (zh) 具有分级正交交换结构的多域处理系统
US10042804B2 (en) Multiple protocol engine transaction processing
US7155525B2 (en) Transaction management in systems having multiple multi-processor clusters
US20030225938A1 (en) Routing mechanisms in systems having multiple multi-processor clusters
CN100413274C (zh) 高级切换对等协议
US7047372B2 (en) Managing I/O accesses in multiprocessor systems
CN101242413B (zh) 同根多层nat网络中服务资源地址获取系统及方法
CN107852376A (zh) 用于支持高性能计算环境中跨虚拟路由器端口的smp连接性检查的路由器sma抽象的系统和方法
US20030225909A1 (en) Address space management in systems having multiple multi-processor clusters
CN109240832B (zh) 一种硬件重构系统及方法
US9612989B2 (en) Computer system and routing control method
CN109462505A (zh) 实现多个区块链网络之间的跨链通信的方法和装置
CN103227778B (zh) 内存访问方法、设备和系统
CN104303174A (zh) 通过处理器间互连来隧道传输平台管理消息
US20040015628A1 (en) Interrupt handling in systems having multiple multi-processor clusters
JPH0685819A (ja) コンピュータシステム
CN101420355A (zh) 一种星簇双环片上网络拓扑结构
CN104410527A (zh) 一种拓扑检测方法、交换机及热堆叠系统
CN101222434B (zh) 存储策略控制列表、策略搜索方法和三态寻址存储器
JP2008181389A (ja) ノード制御装置および情報処理装置
US20070150699A1 (en) Firm partitioning in a system with a point-to-point interconnect
US20090235048A1 (en) Information processing apparatus, signal transmission method, and bridge
CN110995609A (zh) 报文发送方法、装置、电子设备及存储介质
CN107852378A (zh) 用于在高性能计算环境中支持可伸缩的基于位图的P_Key表的系统和方法
CN108337307A (zh) 一种多路服务器及其节点间通信方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20091104

Termination date: 20181030