纵横接线器的制作方法

文档序号:6441795阅读:196来源:国知局
专利名称:纵横接线器的制作方法
技术领域
本发明涉及一种具有多个输入端口和多个输出端口的纵横接线器(crossbar)。
背景技术
对诸如个人计算机的信息处理设备的性能的需求正逐年增加。满足改进性能的需求的一些普通方法有通过网络连接多台计算机以形成群集结构、采用对称多处理器(SMP)结构来增加一台计算机的中央处理单元(CPU)的个数等。
因此,实现高性能信息处理设备时,纵横接线器被用作内部通信系统以加快多个CPU和存储器之间的传送速度。典型的纵横接线器动态地选择一个输入端口(例如,连接至诸如CPU等节点的端口)以及一个输出端口(例如,连接至诸如存储器模块等节点的端口),连接所选输入端口和输出端口以形成数据传送通道,并执行节点间的数据传送。日本专利特开公报No.2002-55965中公开了一种现有技术。
在纵横接线器中,数据的输入端(发送端)和输出端(接收端)可一对一直接连接。这有助于防止数据冲突、数据交叉(data crossing)等,因此改进了数据的传送速度。在数字交换机广泛应用之前,电话交换台的交换机中采用纵横接线器系统。
然而,在传统的纵横接线器中,如果第一个数据包的目的地忙,则即使后续数据包(从第二数据包开始)的目的地不忙,它们也要排队。这导致吞吐量下降。

发明内容
本发明的目的至少是解决常规技术中的这个问题。
根据本发明的一个方面,一种纵横接线器包括多个输入端口和多个输出端口。该纵横接线器还包括多个输入队列组,各输入队列组与各输入端口对应设置,各输入队列组均具有与各输出端口对应的输入队列,输出端口为数据传送目的地;以及分配处理单元,其根据输入到输入端口的输入数据的数据传送目的地将输入数据分配到输入队列组。
以下结合附图对本发明的详细描述阐明了本发明的其他目的、特征以及优点。


图1是包含根据本发明的一个实施例的纵横接线器的计算机系统的框图;图2是该纵横接线器的变型的示意图;图3是该纵横接线器的另一变型的示意图;图4是通过对吞吐量进行仿真而得到的结果的示例;图5是通过对忙率(busy rate)进行仿真而得到的结果的示例;图6是一计算机系统的框图,该系统的输入队列FIFO缓冲器的级(step)较少;以及图7是包括常规纵横接线器的计算机系统的框图。
具体实施例方式
下面参照附图对根据本发明的纵横接线器的典型实施例进行说明。在对根据本发明的纵横接线器进行说明之后,作为其他实施例,对多个变型进行了说明。
图1是包括根据本发明的一个实施例的纵横接线器100的计算机系统1的框图。在该计算机系统1中,节点P-1至P-4通过纵横接线器100连接到节点M-1至M-4。
在纵横接线器100中,输入端口A至D分别连接到节点P-1至P-4(处理器节点),而输出端口W至Z分别连接到节点M-1至M-4(存储器模块节点)。
在纵横接线器100中,为各输入端口提供了多级输入队列,将多个输入队列组合为输入队列组,并为每个目的地输出端口指定一输入队列组。根据其数据传送目的地,将被输入至输入端口的输入数据分配到输入队列组中。这种结构增加了吞吐量为了帮助理解本发明的特有特征,首先将说明常规纵横接线器的操作。图7是常规纵横接线器200的框图。在纵横接线器200中,把存储在各输入队列中的数据包排队,并且提取待发送的数据包。基于所提取的数据包的路由通道,分别从节点P-1至P-4(处理器节点)和节点M-1至M-4(存储器模块节点)中选择位于输入端的节点和位于输出端的节点。然后,纵横接线器200将与位于所选输入端和输出端处的节点相连的输入端和输出端进行连接,以形成传送通道(路由通道),并通过该传送通道执行节点间的数据传送处理。
因此,当各处理器(例如,节点P-1、P-2、P-3和P-4)要求访问不同存储器模块(例如,节点M-1、M-2、M-3和M-4)时,可以不间断地进行数据传送处理。
然而,如果第一数据包的目的地忙,则即使后续数据包(从第二数据包开始)的目的地不忙,它们也要排队,导致有限的吞吐量。
例如,在图7中,下列数据包的目的地为“地址Y”(即节点M-3)输入端口A中提供的输入队列15中的第一数据包;以及输入端口B中提供的输入队列25中的第一数据包。结果,这导致了端口冲突。即使后续数据包(从第二数据包开始)的目的地不忙,后续数据包(从第二数据包开始)也要排队,直至端口冲突得到解决,致使吞吐量下降。
相反,在根据本发明的实施例的纵横接线器中,为各输入端口提供了多级输入队列,并且输入队列被组合为输入队列组,每个输入队列组被指定给一个输出端口,该输出端口表示数据传送目的地。这种结构可以防止后续数据包因第一数据包的数据传送目的地忙而排队。
具体地,在纵横接线器100中,分别在输入端口A、输入端口B、输入端口C和输入端口D中提供输入队列组10、20、30和40(未示出)。输入队列组10具有分级输入队列10a,其中排有数据传送目的地为“地址W”和“地址Y”的数据包;以及分级输入队列10b,其中排有数据传送目的地为“地址X”和“地址Z”的数据包。类似地,输入队列组20具有分级输入队列20a和20b,输入队列组30具有分级输入队列30a和30b,输入队列组40具有分级输入队列40a和40b。
纵横接线器100包括分配处理器110,其用于将输入到输入端口中的数据包分配至为各输入端口提供的多级输入队列中。分配处理器110根据输入到输入端口(例如,输入端口A)中的数据包的数据传送目的地(即,“地址W”和“地址Y”,或“地址X”和“地址Z”),将数据包分配至输入队列组(即,输入队列组10的输入队列10a或输入队列10b)中。
因此,通过为各输入端口提供多级输入队列、将输入队列组合为输入队列组、为各输出端口(表示数据传送目的地)指定一个输入队列组,并根据其数据传送目的地将输入到输入端口的数据分配至输入队列组,输入端口的数目可以多于输出端口的数目。
参考图1,输入端口A和B的第一数据包的数据传送目的地为“地址Y”。即使在输入队列10a和20a中发生了端口冲突,由于输入端口A的下一数据包的数据传送目的地为“地址X”而输入端口B的下一数据包的数据传送目的地为“地址Z”,并分别存储在输入队列10b和输入队列20b中,所以即使第一数据包的传送目的地忙,也可以不间断地执行下一数据包的数据传送处理。
因此,不是忽略为每个输入端口提供一个输入队列的常规纵横接线器中的由于后续数据包的排队而引起的问题,而是对其进行应有的关注,并通过以下步骤对其修正为每个输入端口提供多级输入队列;将输入队列组合为输入队列组;为每个输出端口(表示数据传送目的地)指定一输入队列组;并根据数据传送目的地,将输入到输入端口的数据分配至输入队列组。因此,即使第一数据包的目的地忙,也可以不间断地执行后续数据包的数据传送处理,从而提高了吞吐量。
作为一个示例,数据传送目的地(即,“地址W”、“地址Y”、“地址X”和“地址Z”)被分为两组,一组包括“地址W”和“地址Y”,而另一组包括“地址X”和“地址Z”,并且示出了具有两级输入队列的输入队列组。然而,如图2所示,也允许包含四个独立的数据传送目的地,即,“地址W”、“地址Y”、“地址X”和“地址Z”,以及包含四级输入队列的输入队列组,如图2所示。
此外,纵横接线器被应用于输入端具有四个节点(即,节点P-1至P-4,它们是处理器节点),并且输出端具有四个节点(即,节点M-1至M-4,它们是存储器模块节点)的计算机系统。然而,如图3所示,纵横接线器可以被应用于输入端有任意数目的节点(即,节点P-1至P-n)和输出端有任意数目的节点(即,节点M-1至M-n)的任何计算机系统。
下面将在仿真结果(图4和图5)的辅助下说明从根据本发明的纵横接线器获得的益处。图4示出了通过吞吐量仿真得到的结果。图5示出了通过忙率仿真得到的结果。仿真是在如下条件下进行的(1)所用输入端口和输出端口的数目12(2)随机(同步)地向所有的输入端口连续发送包信号。10000周期后获取仿真结果。
(3)输入端口≠输出端口(4)即使只添满了对应于每个输入端口的输入队列中的一个,输入端口也被假定为忙,并且来自忙输入端口的数据包的输入不被接收。
(5)输出队列的FIFO缓冲器的级数为无限大。
如图4和图5所示,输入队列的分割数越多、输入队列的FIFO缓冲器的级数越大,则吞吐量越大,忙率越低。仿真结果显示,当与其中分割数为“1”的纵横接线器(即,传统纵横接线器)相比时,分割数为多个的纵横接线器(即,根据本发明的纵横接线器)具有明显高的吞吐量和明显低的忙率。
换言之,仿真结果说明,当第一数据包的传送目的地忙时,在很多情况下后续数据包(从第二数据包开始)的传送目的地不忙,因而,根据本发明的纵横接线器的效果意义深远。
在本发明中,由于增高了吞吐量并降低了忙率,故纵横接线器可如此配置与常规的纵横接线器200的输入队列的FIFO缓冲器的级数相比,输入队列组的FIFO缓冲器具有更少的级数。例如,在图1所示的纵横接线器100中,每个输入队列组(即,输入队列组10、20、30和40)中所用的FIFO缓冲器的级数与常规纵横接线器200的输入队列的FIFO缓冲器的级数相等(即,四)。然而,在图6所示的纵横接线器100中,每个输入队列组中所用的FIFO缓冲器的级数(例如,二)少于常规纵横接线器200的输入队列的FIFO缓冲器的级数(四)。
换言之,可以利用与常规纵横接线器相同的硬件数目来提高吞吐量。另外,通过使用较少的输入队列组来排队频率低的数据包或者使用级数更少的输入队列FIFO缓冲器,可以利用少于传统纵横接线器的硬件数来提高吞吐量。
本实施例中说明的所有自动处理可以全部或部分地手动执行。另一方面,本实施例中说明的所有手动处理可以通过公知的方法全部或部分地自动执行。除非有其他说明,处理的顺序、控制的顺序、特殊的名称,以及包含不同参数的数据可随要求而改变。
示出的设备的组成要素仅是概念性的,而且并非必须与示于附图中的结构物理上类似。例如,设备并非必须具有示出的结构。根据负载或者设备如何使用,该设备可在功能上或物理上全部或部分地分解或一体化。
根据本发明的纵横接线器,即使第一数据包的传送目的地忙,也可以不间断地执行后续数据包的传送过程。这提高了吞吐量。
此外,由于FIFO缓冲器可具有更少的级,故可使用与传统纵横接线器数目相同或更少的硬件数来实现吞吐量的提高。
尽管出于完整和清楚公开的目的、结合具体实施例对本发明进行了描述,但是所附权利要求并不因此受限,而是被理解为实施本领域技术人员所能想到的、清楚地落入此处的阐述所基本教示的范围内的所有变型以及替换结构。
权利要求
1.一种包括多个输入端口和多个输出端口的纵横接线器,其包括多个输入队列组,各输入队列组对应于各输入端口,各输入队列组具有与各输出端口对应的输入队列,所述输出端口为数据传送目的地;以及分配处理单元,其根据输入到所述输入端口的输入数据的数据传送目的地,将所述输入数据分配至任一输入队列组。
2.根据权利要求1所述的纵横接线器,其中所述输入队列组中的每一个都具有比常规输入队列的FIFO缓冲器更少的级数。
全文摘要
一种纵横接线器,包括输入队列组和分配处理器。输入队列组包括数据传送目的地为“地址W”和“地址Y”或“地址X”和“地址Z”、分别在输入端口A、B、C和D提供的数据包的多级输入队列。分配处理器根据输入数据的数据传送目的地(即,“地址W”、“地址Y”、“地址X”和“地址Z”),将输入到输入端口的数据包分配至输入队列组。
文档编号G06F13/36GK1725206SQ20041009611
公开日2006年1月25日 申请日期2004年11月26日 优先权日2004年7月22日
发明者小佐野秀和, 铃木信行, 中村周, 荒井秀人 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1