使用多个控制线路增大多层最小逻辑网络中通过量的可扩缩设备和方法

文档序号:7648970阅读:136来源:国知局
专利名称:使用多个控制线路增大多层最小逻辑网络中通过量的可扩缩设备和方法
本申请涉及美国专利申请,序列号No.09/009703,申请日1998年1月20日,该申请正在审查中,并且作为参考整体包含在本申请中。本申请还涉及并包括美国专利No.5996020,这里该美国专利整体以参考方式被包含。
公开的系统和操作方法和在下述作为参考整体包含于此的同时待审的专利申请中公开的主题相关1.美国专利申请,序列号No.__,“Scaleable Multipath WormholeInterconnect”,律师文档号M8175US,发明人John Hesse,申请日与上述相同。
2.美国专利申请,序列号No.__,“Scaleable Interconnect Structurefor Parallel Computing and Parallel Memory Access”,律师文档号M-9051US,发明人为Coke Reed和John Hesse,申请日与上述相同。
3.美国专利申请,序列号No.__,“Scaleable Interconnect StructureUtilizing Quality of Service Handling”,律师文档号M9051US,发明人为Coke Reed和John Hesse,申请日与上述相同。
4.美国专利申请,序列号No.__,“Scaleable Wormhole RoutingConcentrator”,律师文档号M-9458US,发明人为John Hesse和CokeReed,申请日与上述相同。
在1999年11月30日批准给Coke S.Reed的美国专利No.5996020(“Reed专利”)中描述了一种这样的系统,该专利的教导作为参考包含于此。Reed专利描述利用数据流技术的网络和互连结构,所述数据流技术以在整个互连结构中传递的消息的计时和定位为基础。在互连结构的多重节点内分布交换控制,从而避免提供全局控制功能的管理控制器和复杂的逻辑结构。互连结构起“转移”或“传递(hot potato)”系统的作用,其中各个节点的处理和存储开销被降至最小。全局控制器和各个节点处缓存的消除大大降低了互连结构中控制和逻辑结构的数量,简化了全部控制组件和网络互连组件,同时提高了通过量并且降低了了消息通信的执行时间。
更具体地说,Reed专利说明一种设计,其中通过经过另外的输出端口把消息包发送给互连结构中的同层节点,而不是保存该消息包直到所需的输出端口可用为止,大大降低了各个节点的处理和存储开销。借助这种设计,在各个节点无需使用缓冲器。
根据Reed专利的一个方面,互连结构包括多个节点和有选择地连接多层结构中的节点的多个互连线路,在多层结构中,所述多层包括一群充分互连的环形线路,同时所述多层结构包括分层结构中的J+1层并且在每层包括C·2K个节点(C是代表角度数目的整数)。发送控制信息以解决互连结构中的数据传输冲突,这里每个节点是相邻外层上某一节点的后继节点,并且是同一层上某一节点的直接后继节点。来自直接前一节点的消息数据具有优先权。从某一层上的节点向相邻外层上的节点发送控制信息,警告即将发生的冲突。
虽然和现有技术相比,Reed专利是显著的进步,但是它实质上是一种“超前一步”系统,其中根据位于和消息同层的节点或者位于更接近消息的目的地的较低一层上的节点的输入端口的可用性,消息继续通过互连结构。Reed专利中的节点能够在各个节点的输入端口同时接收多个消息。但是,在Reed专利中,只存在一个输入消息可发往的非封锁节点,从而实际上Reed专利中的节点不能同时接受输入消息。但是Reed专利确实教导各个节点可考虑到来自比消息的当前层次低一层以上的层次的信息,从而减少通过量并实现网络中执行时间的降低。
在John E.Hesse于1998年1月20日申请的美国专利申请序列号No.09/009703(“Hesse专利”)中表示并描述了实现最佳网络结构的第二种途径。该专利申请同本申请一样被转让给同一实体,该专利申请的教导作为参考整体包含于此。
Hesse专利描述了供各种计算机、网络和通信系统中使用的可扩缩(scalable)的低执行时间转换器(switch),所述转换器扩展例如在Reed专利中教导的多层最小逻辑互连结构的功能性。使用在Hesse专利中描述的可扩缩的低执行时间转换器的互连结构采用借助把消息插入网络中的新程序实现虫孔(wormhole)路由的方法。可扩缩的低执行时间转换器由排列成阵列的大量极其简单的控制单元(节点)构成。阵列中节点的数目是一般在64~1024范围内的设计参数,通常为2的幂,同时各个阵列被排列成行成列。每个节点具有两个数据输入端口和两个数据输出端口,其中节点可构成更复杂的设计,例如“成对节点”设计,所述“成对节点”设计可被组合以构成更大的器件。
在Hesse专利中,消息不是同时被插入阵列的外圆柱面上的所有非封锁节点中,而是同时被插入阵列的两列A和B中,唯一条件是整个消息放在A和B之间。这种策略防止一个消息中的第一位与已存在于转换器中的另一消息的内位(interior bit)冲突。于是,仅仅通过解决具有所需结果,即消息蠕动通过互连结构中许多节点的两个竞争消息的第一位之间的竞争,解决整个消息之间的竞争。
虽然和现有技术相比,Hesse专利确实是一种改进,但是实际上它仍然是一种和虫孔路由结合在一起的“超前一步”系统。提供低执行时间、高通过量的互连结构的其它改进是可能的,本发明以这样的改进为目标。
于是本发明的目的是提供一种高通过量、低执行时间的互连结构,所述互连结构利用了Reed专利和Hesse专利的优点,同时实现优于Reed专利和Hesse专利的改进。
本发明的另一目的是采用Reed专利和Hesse专利中说明的互连结构,但是通过对这些专利中描述的“超前一步”系统进行改进,把所述互连结构添加到基本结构中。
本发明的另一目的是如同Reed专利和Hesse专利的互连结构中说明的那样,使每个节点更高效地工作,从而减少执行时间并增大消息通过量。
本发明的又一目的是通过允许每个节点在节点输入端口同时接纳消息,而不封锁任一消息,改进Reed专利和Hesse专利的互连结构。
本发明的又一目的是通过一种“超前几步”系统,其中节点接收和比消息进入特定节点的层次低一层以上的某一层上其它节点相关的控制信息。
本发明的特征在于包括在所述多个节点内的各个节点具有多个输入端口和多个输出端口,每个节点能够在它的两个或更多输入端口接收同时的数据消息。
本发明的另一特征在于如果每个节点能够通过独立的多个端口(如果所述多个端口是输出端口)把接收的各个所述数据消息传送给所述互连结构中的独立节点,则每个节点能够接收同时的数据消息。
本发明的另一特征在于互连结构中的节点可接收和比接收数据消息的节点低一层以上的节点有关的信息。
结合附图根据下述详细说明,将更充分地理解本发明的这些及其它目的和特征。
图3A-3C图解说明根据本发明的另外的节点连接。
图4图解说明适于和本发明一起应用的三层互连结构。
图5图解说明互连方框图,表示本发明的互连结构内各种节点的互连。
图6A和7图解说明各种节点之间的控制和消息线路的互连。
图6B和6C图解说明互连结构一部分中节点之间的互连,并且表示通过节点之一的数据通路。
图8图解说明根据本发明一个实施例的单元节点的另一排列。
现在参考

图1,图中表示了例如在Reed专利中描述的互连结构。图1中图解说明了三个节点。两个节点A,102和B,104被布置成直接向第三个节点C,106发送消息。节点B和C在网络的第N层上,节点A在网络的第N+1层上。如同Reed和Hesse专利中所述,和节点A相比,节点B具有向节点C发送数据的优先权。当节点B在通路114上向节点C发送消息MB时,节点B发送控制信号120,所述控制信号120通知节点A,节点B正在向节点C发送MB,从而节点A不会在与消息MB冲突的时段中向节点C发送消息MA。如果如MA的报头指出的那样,存在从C到MA的目标输出端的通路,并且不存在从B到A的任何封锁信号,则A将在通路112上把MA发送给C。如果这些条件中的任一条件不成立,则A将把MA发送给不同于C的节点(图中未示出),该节点位于网络的N+1层上。
在Reed专利中,节点A和B被认为在不同的柱面上处于相同的角度。在Hesse专利中,节点A和B被认为位于不同层的同一列中。
图2中图解说明了四个节点。节点B、C和D在网络的N层上,节点A在网络的N+1层上。可从节点B到达的网络的所有输出端口也可从节点C和D到达。存在可从节点A到达但是不能从节点C到达的输出端口。为此,当消息从A传播到C时,该消息可到达的一组输出端口被减少。在网络中的所有节点之中,节点C具有向节点D发送消息的最高优先权,因为节点C和节点D在同一层上。为此,当在指定时段内只有一个消息M到达节点C时,该消息M总是可传播到节点D,并且存在从节点D到M的目标输出端口的通路。于是,在节点C不必具有缓冲器,出于同样的理由,在其它任何节点不使用缓冲器。在Reed专利和Hesse专利中,除非与节点A相关的逻辑(logic)被告知节点B将不向节点C发送冲突消息,否则不允许消息MA从A传播到C。从B到A的控制信号实现了节点B和节点A相比向节点C发送数据的优先权。这样,A将把MA发送给C,只要A“希望”向C发送MA,并且从B到A的控制信号没有禁止A向C发送MA。如果图2是在Reed专利和Hesse专利,或者“Scaleable Multipath Wormhole Interconnect”中说明的网络的一部分,则节点A“希望”向节点C发送MA,只要存在如MA的报头中规定的从C到MA的目标输出端口的通路。如果图2是在“Scaleable Wormhole Routing Concentrator”专利申请中教导的互连结构的一部分,则节点A总是“希望”向节点C发送MA,因为在集线器的情况下,所有的输出端都是MA的可接受的输出端口。另一方面Hesse专利利用了通过允许从A到C的消息经过节点B传播到节点C,在指定时间只有一条消息能够到达节点C的事实。
现在参见图3A,图中表示了在Reed专利中教导的互连结构的一部分。在Reed专利中,在特定的时间间隔内只有一条消息能够进入C。但是,对本发明来说,如下所述,可允许两条同时的消息进入节点C,从而允许从A到C的消息和从B到C的消息同时进入节点C。
图3B图解说明了在Hesse专利中使用的互连结构的一部分。数据通路306接受来自节点A或B的消息,并且能够只向节点C传送一条消息。图3B的节点可被修改成如图3C中所示具有从节点B到C的另外的通路316,从而节点A和B均可向节点C发送。在图3B中,节点A使用数据通路304和306向节点C发送;在图3C中,节点A使用通路314和316向节点C发送。但是Hesse专利及Reed专利都不允许特定的节点接受两条同时的消息,而按照本发明这是可能的。但是通过把图3B的实施例变成图3C的实施例,可容易地把本发明的改进应用于Reed和Hesse结构。
图4图解说明本发明的第一实施例。
图4中图解说明了五个节点。除了图2中所示的四个节点之外,还有位于N-1层上的节点H。节点C能够向节点H发送数据。当节点B向节点C发送消息MB,并且该消息从节点C传播到节点H时,则节点A可向节点C发送消息MA,消息MA将和消息MB同时到达节点C。随后在MB从节点C传播到节点H的相同时段内消息MA可从节点C传播到节点D。节点同时接受两条消息的能力是本发明的一个优点,并且是和较早的Reed专利和Hesse专利相比的一个新改进。
由于在节点C不存在缓冲器,因此当两条消息MA和MB同时到达节点C时,两条消息中的一条必须传播到节点H,而另一条则必须传播到节点D。如果两条消息MA和MB都传播到节点C,则节点C的逻辑把MA和MB之一发送给节点H,把MA和MB的另一个发送给节点D。就一种策略而言,节点C把MB从C发送给H,把MA从C发送给D,如图6B中所示。该策略简单,因为它总是可行的,并且由于在互连结构中B的层次低于A的层次,因此MB在互连结构中的时间很可能长于MA。在另一实施例中,节点C进行的消息的路由可取决于服务质量(QoS)。在该实施例中,报头的一部分包含服务质量信息,从而当MA和MB传播到节点C时,节点C将把MB发送给节点H,并把MA发送给节点D,除非MA的QoS水平高于MB的QoS水平,这种情况下,节点C将把MA发送给节点H,并且把MB发送给节点D,如图6C中所示。这样,QoS水平较高的消息能够获得高于QoS水平较低的消息的优先权。
在Reed专利和Hesse专利中,从节点B向节点A发送控制信号120(图1),通知节点A是否节点A被阻止向节点C发送消息。如果B没有向节点C发送消息,则保证不发生这种封锁。在Reed专利和Hesse专利中,如果在相同的时段内节点B向节点C发送消息,则不允许节点A向节点C发送消息。借助本发明,如果保证从B到C的消息不使用从C到D的线路,相反使用从C到H的线路(参见图4),则在节点B向节点C发送消息的相同时段内允许节点A向节点C发送消息。
和节点A相关的逻辑(logic)能够把消息MA发送给节点C。至少存在一个没有示出的另外的节点N,从而与节点A相关的逻辑能够把MA发送给节点N。假如节点A把MA发送给节点C,则与节点C相关的逻辑能够把MA发送给节点D和H。这样,消息MA可从节点A传播到节点D,消息MB可从节点B传播到节点H。与A相关的逻辑不能把MA发送给D或者H。类似地,与B相关的逻辑能够把消息MB从节点B发送给节点C,与节点C相关的逻辑能够把MB发送给节点D或者节点H。从而当消息MB能够从B传播到D或者从B传播到H时,与节点B相关的逻辑不能把消息MB发送给节点D或者节点H。
图5是在Hesse专利中描述的网络的一部分的方框图。节点被排列成阵列。节点阵列被排列成行和列。最右侧一列中的节点阵列与位于同一层的最左侧一列中的节点阵列相连,从而例如层J-1的列K-1的输出端B构成层J-1的列0的输入端B。在图4中,节点A是列M的层N+1中的阵列中的一个节点,节点B在列M的层N的节点阵列中,节点C是列M+1的层N中的节点阵列中的节点,节点D在列M+2的层N的节点阵列中,节点H是列M+2的层N-1上的节点阵列中的节点。图1、2、3、4、6、7和8分别表示为图5中所示的节点阵列的成员的单个节点之间的连接。
图6A中图解说明了八个节点,图6A是本发明的实施例的另一描述。除了图4中的五个节点之外,还有位于N层上的另外的节点E和位于N-1层上的两个另外的节点F和G。节点E可向节点G发送消息,节点F可向节点G发送消息,节点G可向节点H发送消息。
在Reed专利的一个优选实施例中,节点只读取报头中的一个地址位。考虑节点B的消息MB,并且假定节点B向节点C发送MB。则由于节点B和C位于同一层,节点C将读取和节点B读取的相同的报头地址位。网络的拓扑结构是这样的,使得节点B的逻辑确定节点H是否在到达MB的目的地的通路上。这是因为MB的单个地址位确定节点H是否在到达MB的目的地的通路上;并且该地址位是节点B的逻辑读取的同一二进制位。当MB到达节点C,该地址位也是将被节点C的逻辑读取的同一二进制位。如果节点H在到达MB的目的地的通路上,并且在MB到达节点H的同一时刻不存在和到达节点H的MB不同的任意消息,则MB将首先从节点B传播到节点C,随后从节点C传播到节点H,如图6B中所示。和MB同时到达节点H的消息必定来自节点E或F。如果不存在到达节点E或F的这种消息,则MB必然会从节点B传播到节点C,随后从节点C传播到节点H。
已存在指示是否存在从节点F传播到节点G的消息的从节点F到节点E的控制信号线604。对本发明来说而不是Reed专利和Hesse专利中,还存在从节点E到节点A的另外的控制线602。
节点A的逻辑如下进行操作。消息MA到达节点A。节点A读取MA的一个报头二进制位。如果该报头二进制位指示存在从节点C到MA的目的地的通路,则以下述任一为条件节点A将把MA发送给节点C1)不存在从节点B发送给节点C的竞争消息;或者2)存在将在MA到达节点C的相同时段内到达节点C的消息MB,并且保证在不利用从节点C到节点D的链路的情况下,消息MB从节点C传播到节点H。
从节点B到节点A的控制信号指出节点B是否正在向节点C发送消息,另外还指出是否存在从节点H到MB的目标输出端口的通路。
从节点F到节点E的控制信号指出节点F是否正在向节点G发送消息。从节点E到节点A的控制信号指出节点E或F是否正在向节点G发送消息。节点A具备确定向何处发送MA所需的所有信息。具体地说1)如果从节点B到节点A的控制信号指出不存在正从节点B发给节点C的竞争消息,并且如果存在从节点C到MA的目的地的通路,则节点A将把MA发送给节点C;或者2)如果下述条件被满足,则节点A将把MA发送给节点C·从节点B到节点A的控制信号指出在节点B存在消息MB,并且存在从节点H到MB的目标输出端的通路;·从节点E到节点A的控制信号指出不存在正从节点E发送给节点G或者正从节点F发送给节点G的竞争消息,从而节点A确定MB将从节点C传播到节点H,从而对于MB来说不使用从节点C到节点D的通路,并且·存在从节点C到MA的目标输出端口的通路。
3)否则,节点A向和A同层的不同于节点C的节点(图中未示出)发送MA。
假如两条消息MA和MA′同时到达节点A,则根据上述逻辑,这两条消息之一被发送给节点C,另一条消息被发送给不同于节点C的节点(图中未示出)。这样,利用本发明,存在有利地降低一层的消息,而在Reed专利和Hesse专利中,是不会降低一层的。上述逻辑的特征在于每当两条消息同时到达一个节点,则至少允许这些消息中的一条消息下降到较低的层次。
注意多位消息在无缓存的情况下通过节点A。于是,存在固定的最大时间T,从而到达节点A的任意消息将在它到达节点A的时间T内离开节点A。另外注意线路602(图6A)传送的控制信息涉及通过节点E和F的消息的路由选择,因此不是由到达节点A的消息确定的。
图7具有和图6A相同的节点,不过代替从节点E到节点A的控制线路,具有从节点F到节点B的控制线路CFB和从节点E到节点B的另外的控制线路CEB。控制线路CFB以单一二进制位x的形式从节点F向节点B发送信息。如果在节点F的逻辑确定不存在正从节点F发送给节点G、所会和从节点B传播到节点H的消息同时到达节点H的消息,则所述二进制位x可被设为零。节点F可把x设为零,只要1)没有任何消息正从节点F发送给节点G,或者2)保证从节点F发送给节点G的消息将从节点G发送给不同于节点H的节点J(图中未示出)。
从节点E到节点B的控制线路CEB以单一二进制位y的形式发送信息。如果节点E没有向节点G发送会和从节点B传播到节点H的消息同时到达节点H的消息,则所述二进制位y被设为零。
节点B并不使用包含在二进制位x和y中的信息来确定向何处发送它的消息;它使用来自层(N-1)上的节点(图中未示出)的另一控制线路的信息来确定向何处发送它自己的消息。节点B使用线路CEB和CFB中的信息,以便能够利用控制线路CBA向节点A发送控制信号。节点B在控制线路CBA上发送单一二进制位z。假定正好一条消息MA到达节点A。则MA从节点A被发送给节点C,其条件是二进制位z为零,并且节点C位于到MA的目的地的通路上。二进制位z被设为零,只要1)在会导致与来自节点A的消息MA的冲突的时段内节点B不向节点C发送任何消息MB,或者2)节点B向节点C发送消息MB,并且根据包含在x和y中的信息,以及包含在MB的报头中的信息,节点B的逻辑确定保证MB将从节点C传播到节点H。
节点A能够根据MA的报头以及单一二进制位z的值,发送输入消息MA。假如两条消息MA和MA′同时到达节点A,则根据上述逻辑,这些消息之一被发送给节点C,另一条消息被发送给不同于节点C的节点(图中未示出)。上述逻辑的特征之一在于允许两条消息MA和MA′之一下降到节点C。具体地说,不把消息MA和MA′发送给节点A的同一输出端口。
重要的是注意根据本实施例的节点能够根据一个报头地址位和来自较低层次的控制位发送消息。这样,计时和Reed专利和Hesse专利中的计时相同。重要的是,对图7的实施例来说,在使用图6A的逻辑的节点A不能向节点C发送消息,而是把其消息发送给位于层N+1上的节点的情况下,节点A能够把消息发送给节点C。
在Reed专利和Hesse专利和到此为止说明的材料中,节点读取报头的指示消息存在的二进制位,并且节点读取另一个报头地址位。节点还可读取诸如服务质量位之类的其它二进制位。根据本发明的另一实施例,节点还可读取多个地址位。
参见图6A,在另一实施例中,节点读取消息报头中的两个地址位。考虑当单一消息MA到达具有包括节点H的目标通路的节点A,消息MB到达具有不包括节点H的目标通路的节点B,并且节点B必须把MB发送给节点C,从而发送给节点D的情况。图6A(以及前面的各图)中所示的结构允许消息MA在节点C和消息MB“相交”,从而MA的通路经过节点A、C和H,MB的通路经过节点B、C和D,如图6C中所示。本实施例的目的是向节点提供确定何时允许消息MA与在同一时刻通过公共节点C的竞争消息MB所需的信息。消息MA到达节点A,节点A读取指示是否存在经过节点C到达MA的目的地的通路的一个报头二进制位。节点A还读取指示是否存在经过节点H到达MA的目的地的通路的另一报头二进制位。从节点E到节点A的控制信号保证没有来自节点E或F的消息将和MA同时到达节点H。从节点B到节点A的控制信号指示在节点B是否存在将和消息MA同时到达节点C的消息MB,并且如果存在这样的消息MB,是否MB保证不经过节点H。根据这些控制信号,节点A向节点C发送消息MA,只要至少满足下述条件之一1)如果已知从节点C到节点D的通路是空闲的,并且存在经过节点C到达MA的目的地的通路;或2)如果已知从节点C到节点H的通路是空闲的,存在从节点H到MA的目的地的通路,并且不存在从节点E到节点F的能够和MA同时到达节点H的任意消息。
上面讨论了上述条件(1),第二条件属于“相交”情况。如果上述条件都不被满足,则节点A将向除节点C之外的一个节点(图中未示出)发送MA,所述节点将位于N+1层。如上所述处理了两条消息MA和MA′同时到达节点A的情况。读取两个报头二进制位允许我们检测上面的条件(2)。有时这允许从节点A向节点C发送消息MA,在图6A的前述实施例中,所述消息MA会停留在和节点A相同的层次上。两个报头二进制位的读取只需要对这里及在Reed专利和Hesse专利中描述的网络的控制逻辑和控制信号进行较小的修改。对于本发明领域的技术人员来说,这种修改是显而易见的,因此这里不给出对这种修改的进一步说明。
注意在图7中,节点A可通过节点C向节点H发送数据,而节点F可通过节点G向节点H发送数据。控制信号x和z实现和从节点A到节点H的数据传送相比,优先从节点F向节点H传送数据。
现在参见图8,图8的节点A和H位于列K+2中的层N-1上。位于列K+1的层N上的节点B和C被布置成直接向节点A和H发送数据。列K中层N+1上的节点U和V能够直接向节点B发送数据,并且列K中层N+1上的节点W和x能够直接向节点C发送数据。节点B直接从层N的节点D接收数据,并且直接向层N的节点L发送数据。节点C直接从层N的节点E接收数据,并且直接向层N的节点M发送数据。图8中未示出的是列K中的一群节点R,R中的各个节点能够向节点D和E发送控制信号。节点D使用来自R中的一个节点(图中未示出)的信息,节点E使用来自节点D的相同信息。节点D从R中的一个节点接收的控制信息使得节点D能够确定从节点B到节点A和节点H的通路是否未被封锁。
图8图解说明一部分数据互连结构,其中指定层N上的各个节点C被布置成从层N+1的两个节点和层N的一个节点接收数据,并且还被布置成向层N-1的两个节点和层N的一个节点发送数据。在Reed专利中具有这种数据互连结构的网络被称为与下一层的多重互连实施例(Multiple Interconnection to the Next Level Embodiment),在Hesse专利中被称为统一执行时间实施例(flat Latency Embodiment)。在Reed专利和Hesse专利中说明了控制互连,这里作为参考引入Reed专利和Hesse专利的教导。
在本发明中,数据互连结构和在Reed专利和Hesse专利中描述的相同,不过节点更复杂,因为它们接收并处理更多的控制信息,以便提高通过量并获得较低的执行时间。由于节点是无缓冲的,因此进入节点的消息必须能够立即离开节点,并且转到到达目标输出端的路由上的另一节点。每当两条消息离开一个节点时,一条消息必须沿着同一层继续下去,另一条消息必须下降一层。正确的操作取决于由控制信号实现的优先权规则。我们将考虑每个节点只读取目标报头的一个目的地二进制位的简单情况。这意味着层N上的任何节点都不能同时接收两条来自层N+1的节点的消息。我们将看到当层N的节点接收两条消息时情况也是如此,从而自同层到达的消息能够并且将总是被向下发送给位于层N-1的节点。
节点B具有高于节点C的向节点A和H发送数据的优先权。节点D具有高于节点U和V的向节点B发送数据的优先权,节点U具有高于节点V的向节点B发送数据的优先权。类似地,节点E具有高于节点W和X的向节点C发送数据的优先权,节点W具有高于节点X的向节点C发送数据的优先权。按照和根据本发明的其它例子相似的方式,在指定的时段内,控制信号从列K上的节点进入节点D和E。同时,消息可进入节点D和E。根据进入节点D的可能消息和节点D接收的控制信号,节点D可向节点B发送消息也可不向节点B发送消息。在恰当的时刻,节点D向节点U和E发送控制信号,以指示下述任一1)没有任何消息已从节点D发送给节点B;2)消息MD已被发送给节点B,并且当MD到达节点B时,节点B将把MD引向节点A;3)消息MD已被发送给节点B,并且当MD到达节点B时,节点B将把消息MD发送给节点H;4)消息MD已被发送给节点B,并且消息MD可以从节点B传播到节点L。在情况1、2和3中,如果在节点U存在消息MU,从而MU可通过节点B到达其目的地,则消息MU将被发送给节点B,并且将不允许来自节点V的任何消息传播到节点B。如果情况1、2或3之一成立,并且节点U不向节点B发送消息,则节点V将被“邀请”向节点B发送消息。即,如果节点U不向节点B发送消息,则节点U将借助控制信号将此通知节点V,并且如果在节点V存在可通过节点B到达其目的地的消息MV,则节点V将向节点B发送MV。在情况2中,和已经提及的单级下降的情况一样,节点D能够根据没有其它消息将在和MD到达节点A相冲突的时刻到达节点A,并且存在从节点A到MD的目标输出端口的通路的信息,预测节点B将把消息MD发送给节点A。对于情况3来说存在类似的情形。在本发明中,如果情况2或3成立,并且节点U或者V向节点B发送消息,则节点B将接收到两条消息。这和Reed和Hesse专利相反,在Reed和Hesse专利中,在指定时段内只可向节点B发送一条消息。
根据进入节点E的可能消息,以及节点E接收的控制信号,节点可以向节点C发送消息,也可不向节点C发送消息。从节点D到节点E的控制信号不会影响节点E进行的消息的路由选择,但是会影响节点E发送给节点W的控制信号。在恰当的时刻,与节点E相关的逻辑确定下述条件之一成立1)节点E没有向节点C发送消息;2)节点E向节点C发送消息ME,并且当ME到达节点C时,节点C将把ME发送给节点A;3)节点E把消息ME发送给节点C并且当ME到达节点C时,节点C将把ME发送给节点H;4)节点E把消息ME发送给节点C并且存在节点C将把ME发送给节点M的可能性。从节点D到节点E的控制信号被与节点C相关的逻辑用于预测节点C进行的ME的路由选择。这是因为既不允许节点B和C都把ME发送给节点A,又不允许节点B和C把ME发送给节点H。当条件、2或3成立时,节点E向节点W发送非封锁控制信号,从而允许节点W把ME发送给节点C。在情况4中,节点E向节点W发送封锁控制信号,节点W向节点X发送封锁控制信号,节点W或X均不向节点C发送消息。假如节点W从节点E接收非封锁控制信号,节点W在正确的时间接收消息MW,并且存在通过节点C到达MW的目的地的通路,则节点W将把MW发送给节点C,并且向节点X发送禁止节点X向节点C发送消息的封锁控制信号。假如节点W从节点E收到非封锁控制信号,并且节点W不向节点C发送消息,则节点W向节点X发送非封锁控制信号。在存在来自节点W的非封锁控制信号的情况下,如果节点X在恰当的时刻接收消息MX,并且存在从节点C到MX的目标输出端的通路,则节点X将向节点C发送MX。
Reed和Hesse专利实质上瞻前一步。本发明中给出的两个实施例瞻前两步。本领域的技术人员可使用这里介绍的技术进一步对未来进行预测。
这里存在某些折衷。随着节点变得更复杂,每步的通过量增大,并且通过该结构的总平均步骤被减少,但是可置于芯片上的节点的数目被减少,每步的时间可被增加。Hesse专利说明了携带驱动光学转换器的报头(header)的电子转换器的设计,所述光学转换器携带有效负载。本发明中,更专注于电子设备的逻辑是有意义的,于是,本发明可用作实现在Hesse专利中公开的转换器的另一方案。
美国专利申请,序列号No.__,“Scaleable Multipath WormholeInterconnect”,律师文档号M8175US,发明人John Hesse,申请日与上述相同,教导如何有效使用消息报头中的服务质量信息。该专利申请中教导的技术可有效应用于本发明,从而如果来自节点D的控制信号通知节点U和V,节点U和V之一可向节点B发送消息,则上述规则将是适用的,除非在节点U存在低服务质量的消息MU,以致存在从节点B到MU的目标输出端口的通路和在节点V存在高服务质量的消息MV,以致在节点B存在从节点B到MV的目标输出端口的通路。这种情况下,MV将被发送给节点B,MU将被发送给列K+1中层N+1的节点。报头二进制位的质量也可用于确定到达节点D和E的消息的优先权。
本发明包括两个实施例,这两个实施例利用更多控制信息和更多复杂节点来提高这两个优选实施例的性能。对本领域的技术人员来说这些技术显然可应用于其它互连结构。
这里图解说明和描述的互连结构是本发明的优选实施例,应当理解在不脱离本发明的精神或者消除由附加权利要求的范围所确定的本发明优点的情况下,可对节点结构和互连结构两方面做出改变。
权利要求
1.一种互连结构,包括多个互连节点,包括不同的节点A和E;节点A具有多个数据输入端口,多个数据输出端口和一个控制信号输入端口;节点E具有多个数据输入端口,多个数据输出端口和一个控制信号输出端口;与节点相关的路由逻辑,路由逻辑用于在互连节点之间有选择地发送数据;节点A和E被这样布置在互连结构中,使得节点A不能向节点E发送数据,节点E不能向节点A发送数据,并且在互连结构中不存在能够从节点A和节点E向其发送数据的节点;作为所述路由逻辑的一部分包含的并且与节点A相关的逻辑,所述逻辑使用与通过节点E的数据路由选择有关的信息,通过节点A发送数据。
2.按照权利要求1所述的互连结构,其中所述多个互连节点包括与节点A和E不同的节点F,节点F具有多个数据输入端口,多个数据输出端口和一个控制信号输出端口;节点A和F被这样布置在互连结构中,使得节点A不能向节点F发送数据,节点F不能通过节点A发送数据,并且在互连结构中不存在能够接收从节点A和节点F发送的数据的节点;与节点A相关的逻辑使用与通过节点F的数据路由选择有关的信息通过节点A发送数据。
3.按照权利要求2所述的互连结构,其中所述多个互连节点包括与节点A、E和F不同的节点B,节点B具有多个数据输入端口,多个数据输出端口和一个控制信号输出端口;作为路由逻辑的一部分包含的与节点B相关的逻辑能够向节点A发送控制信号z,控制信号z包含与通过节点B、F和E的路由选择可能性有关的信息,并且与节点A相关的通过节点A发送数据的逻辑至少部分依靠和通过节点B、F和E的数据路由选择有关的信息。
4.按照权利要求3所述的互连结构,其中所述多个互连节点包括与节点A、B、E和F不同的节点C,节点C具有多个数据输入端口和多个数据输出端口;节点B向节点C发送消息;节点E向节点B发送控制信号y;节点F向节点B发送控制信号x;与节点B相关的逻辑根据控制信号x和y向节点A发送非封锁控制信号z;节点A向节点C发送消息;和节点C同时把消息接收到它的所有输入端口中。
5.一种互连结构,包括包括不同的节点A、B和C的多个节点,节点A和B被布置成向节点C发送数据;有选择地与互连结构的节点耦接的多个互连线路;从节点B连接到节点A,用于从节点B向节点A传送控制信号的控制信号传送线路CBA;和与节点B相关的路由逻辑,所述路由逻辑能够向节点C发送数据,并且向节点A发送控制信号z,所述控制信号z能够通知节点A允许节点A向节点C发送消息。
6.按照权利要求5所述的互连结构,其中节点C具有N个输入端口;来自节点A和B的数据同时到达节点C,使得节点C的所有N个输出端口同时接收消息。
7.按照权利要求6所述的互连结构,其中所述多个节点包括不同的节点A、B、C、D、E、F和H;节点C能够同时把来自节点A的数据发送给节点D,并且能够把来自节点B的数据发送给节点H。
8.按照权利要求7所述的互连结构,其中互连结构是分层的;节点A在分层结构的一层上;节点B、C和D在分层结构中比节点A低一层的层次上;节点E、F和H在分层结构中比节点B低一层的层次上。
9.一种互连结构,包括包括不同的节点A、B和C的多个节点和有选择地耦接节点的一组互连线路;节点C具有多个消息输入端口,节点A和C被这样布置在互连结构中,使得节点A可向节点C发送数据包;节点B和C被这样布置在互连结构中,以致节点B可向节点C发送数据包;节点A和B被这样布置在互连结构中,以致节点B可向节点A发送控制信号;节点A的逻辑使用控制信号B发送消息;节点B把消息MB发送给节点C;节点A把消息MA发送给节点C,从而消息MA和MG同时到达;节点C的所有输入端口同时接收消息。
10.一种互连结构,包括包括具有输入端口IA和IB及输出端口OH和OD的节点C的多个互连节点;可从输入端口IB访问但是不能从输出端口OH访问的多个互连结构输出端口;和包含在互连结构内的路由逻辑,用于确保当消息MA到达输入端口IA并且同时消息MB到达输入端口IB时,存在通过输出端口OD到达消息MA的目的地的通路和通过输出端口OH到达消息MB的目的地的通路。
11.按照权利要求10所述的互连结构,其中所述路由逻辑假定阻止消息MB使用输出端口OH,阻止消息MA使用输出端口OD。
12.按照权利要求11所述的互连结构,其中用于消息MA和MB的路由选择的所述路由逻辑部分取决于QoS标准。
13.一种互连结构,包括包括节点A、B、C、D和H的多个互连节点,节点A、B、C、D和H均具有多个输入端口和多个输出端口,节点C被布置成接收来自节点A和B的消息,并把消息发送给节点D和H;包括输出端口P从而可从节点C访问输出端口P,但是不能从节点H访问输出端口P的多个互连结构输出端口;包含在互连结构内的路由逻辑,用于确保当节点A向节点C发送消息MA,同时节点B向节点C发送消息MB时,节点C可通过节点D把MA发送给MA的目标互连结构输出端口,并且节点C可通过节点H把MB发送给MB的目标互连结构输出端口。
14.按照权利要求13所述的互连结构,其中所述路由逻辑确保消息MB未和节点H隔断,消息MA未和节点D隔断。
15.按照权利要求14所述的互连结构,其中所述路由逻辑响应QoS标准。
全文摘要
一种包括在分层多层结构内互连的多个节点(102、104、106)的网络或互连结构。根据结构内节点的位置确定各个节点的层次,并且数据消息从源层的节点移动到目的层的节点。互连结构内的各个节点能够在其输入端口同时接收来自其它任意节点的数据消息(108、110),并且接收节点能够通过其输出端口把接收的每条数据消息传送给互连结构中比接收节点低一层或多层的独立节点。
文档编号H04L12/56GK1401081SQ01803930
公开日2003年3月5日 申请日期2001年10月17日 优先权日2000年10月19日
发明者科克·S·里德, 约翰·E·海塞 申请人:因特拉克迪克控股有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1