首页 / 专利库 / 专利权 / 专利合作条约 / 第II章 / 国际初步审查单位 / 附加费 / 异议 / 减少互连等待时间的方法和系统

减少互连等待时间的方法和系统

阅读:714发布:2020-05-15

专利汇可以提供减少互连等待时间的方法和系统专利检索,专利查询,专利分析的服务。并且用于减少判断等待时间的方法和系统使用推测的发送(STX)而无需与路由结构(306)调度的判断结合的现有判断。通过经调度的判断,并且还通过推测的判断,从源 位置 (321)把分组发送到路由结构(306),以无一 异议 地把以前未保留在路由结构(306)中的输出分配给推测地发送的分组。,下面是减少互连等待时间的方法和系统专利的具体信息内容。

1.用于把有或没有经调度的仲裁的数据分组从路由结构的多个输入发送到 多个输出的方法,所述发送方法包括下列步骤:
如果存在经调度的仲裁的结果,则根据经调度的仲裁的结果发送至少一个 数据分组;以及
如果不存在经调度的仲裁结果:
则选择一个数据分组进行推测地发送;以及
同时发出包括选中的数据分组的输出标识符的推测请求并且把选中 的分组发送到路由结构。
2.如权利要求1所述的方法,其特征在于,还包括存储选中的数据分组 直到接收到所存储的分组的确认或准许的步骤。
3.如权利要求1所述的方法,其特征在于,所述路由结构是未经缓冲的。
4.如权利要求1所述的方法,其特征在于,还包括下列步骤:
对于每个时隙,根据经调度的仲裁结果使路由结构的输入与输出匹配;以 及
对于每个未经匹配的输出,在要把经匹配的输入和输出施加到路由结构的 时隙中,如果存在发出的推测请求的话,则根据选择政策选择一个发出的推测 请求;以及
把每个得胜的推测请求的输入-输出映射添加到要施加到路由结构的当 前经调度的仲裁结果中。
5.如权利要求4所述的方法,其特征在于,包括返回一个确认的步骤, 所述确认与每个得胜的选中的推测请求对应。
6.如权利要求1所述的方法,其特征在于,对照其它请求分辨通过推测 发出的请求,从而产生与所发送的通过推测发出的数据分组的到达同步地发出 到路由结构的发送准许,以致正好及时地设置路由结构的交换机状态,以允许 数据分组无阻挡地通过该结构。
7.如权利要求1所述的方法,其特征在于,所述路由结构是电控制的电 交换机、电控制的光交换机以及光控制的光交换机之一。
8.如权利要求1所述的方法,其特征在于,还包括下列步骤:
接收来自路由结构的输出的数据分组;
将包含在数据分组中的序列值与下一个预期值进行比较;以及
如果序列值等于下一个预期值,则排列接收到的分组。
9.如权利要求8所述的方法,其特征在于,还包括下列步骤:如果序列 值和下一个预期值不相等,则丢弃该分组。
10.如权利要求9所述的方法,其特征在于,还包括下列步骤:
如果序列值和下一个预期值不相等,则存储接收到的分组;以及
只有在接收并排列所有其对应序列值小于接收到的数据分组序列值的分 组之后,才排列接收到的分组。
11.用于把有或没有经调度的仲裁的数据分组从路由结构的多个输入发送 到多个输出的系统,包括:
用于根据经调度的仲裁的结果发送至少一个数据分组的装置,如果存在经 调度的仲裁的结果的话;以及
用于选择一个数据分组进行推测地发送并且同时发出包括选中的数据分 组的输出标识符的推测请求且把选中的分组发送到路由结构的装置,如果不存 在经调度的仲裁结果的话。
12.如权利要求11所述的系统,其特征在于,所述路由结构是电控制的 电交换机、电控制的光交换机以及光控制的光交换机之一。
13.如权利要求11所述的系统,其特征在于,对照其它请求分辨通过推 测发出到路由结构的请求,从而产生与通过推测发出的数据分组的到达同步地 发出到路由结构的发送准许,以致正好及时地设置了交换机状态,以允许数据 分组无阻挡地通过该结构。
14.如权利要求11所述的系统,其特征在于,用于发送至少一个数据分 组的装置与用于执行所述经调度的仲裁的判优器是物理上分开的,以致与传送 到判优器的发送请求、仲裁功能本身、或到路由结构的数据分组的发送这三者 中的任何一个或多个相关联的信号传播以及其它时间延迟大于分组的发送时 间。
15.用于管理信息单元在多个位置之间流动的系统,包括:
用于接收请求的多个输入,所述请求是为了接入到交换结构以把信息单元 从源位置发送到目的地位置,所述请求包括用于接入的经调度的仲裁准许的请 求以及用于推测接入而无需经调度的仲裁准许的请求,并且每个所述请求包括 要向其传送相关信息单元的目的地位置的指示;
判优器,用于针对准许接入的经调度的仲裁的请求的组或子组确定交换结 构资源的无冲突分配;以及
推测请求判优器,用于在经确定的组接下来要施加于交换结构的一个时刻 接收所述推测接入请求并且根据确定的分配来准许或否定所述接收到的请求。
16.如权利要求15所述的系统,其特征在于,所述交换结构是电控制的 电交换机、电控制的光交换机以及光控制的光交换机之一。
17.如权利要求15所述的系统,其特征在于,通过交换结构把与所述接 收到的推测接入请求中准许的一个相关联的信息单元传送到不为所述组或子 组保留的一个输出。
18.如权利要求15所述的系统,其特征在于,所述交换结构不包括用于 存储信息单元的缓冲器电路
19.如权利要求15所述的系统,其特征在于,对于每个准许的推测请求, 推测请求判优器把确认消息发送到推测请求的发送器。
20.如权利要求15所述的系统,其特征在于,交换结构的多个输入中的 每一个都是可同时与交换结构的各个输出连接的。

说明书全文

技术领域

发明涉及分组交换领域,尤其涉及输入-排队的分组-交换机结构,特 别可应用于计算机互连网。

背景技术

发送技术中的进步以及通信和计算中类似的进步经常推动以可用的带宽 的包络来传送信息数据。例如,诸如波分多路复用(WDM)和密集的WDM(DWDM) 之类的进步通过把大量信道多路复用到单个结构中而大大地增加了可用的带 宽。每个独立的信道在光载波(OC-x)速率OC-48(2.5Gb/s)、OC-192(10 Gb/s)或OC-768(40Gb/s)上工作。使用目前工艺平的DWDM技术,单个 结构每秒可以传送超过5兆兆位的数据。
同时,这种进步提供的日益增高的速度和可用的交换机能够交换的速度之 间的间隙正在加宽。在光学交换机提供通过自由空间选择路径、长距离上的最 小信号衰减以及消除光域到电域和电域到光域的转换之类的理论上的优点的 同时,当前所有的光学型交换机是相当慢的或令人却步地昂贵。此外,信息的 光存储是极麻烦的,并且经常是不切实际的。电子交换机在分组交换方案中将 继续起主宰作用,直到克服了光学交换机的这些缺点。
通常,使用底板交换机,或更一般地,使用路由结构(routing fabric)来互 连一些板。在网络系统中,把这些板称为线路卡,而在计算和存储中,经常把 这些板称为适配器或闸刀。日益加大的系统组使用底板来连接一些板,诸如电 信交换机、多业务供应平台、增加/减少多路复用器、数字跨接、存储交换机、 路由器、大的企业级交换机、嵌入式平台、多处理器系统以及闸刀服务器
当通过互连系统把信息数据从源发送到目的地时,通常首先使信息分段成 为数据分组。每个数据分组一般包括标头、有效负荷和尾部分段,并且进一步 分成更小的单元。一个数据分组通过路由结构同时与从其它源始发的数据分组 一起交换。许多当前的分组交换机系统(包括在并联计算机、因特网路由器、 S(t)AN网络、不对称传送模式(ATM)网络以及特别在光网络中进行互连时使 用的那些系统)使用输入-排队装置,包括在每个线路卡处对每个输出分类的 队列(诸如通常称为虚拟输出队列(VOQ)的一种装置,消除了对于使用FIFO 队列为固有的线路的头的阻塞)、纵横机(crossbar)路由结构以及分配交换 资源和在队列中进行判断的中央化调度器(例如,判优器或判断单元)。
图1示出利用VOQ结构的传统交换装置。在图1的配置中,接收到来自各 个线路卡102的N个数据链路2a1到2an中的每一个的数据分组(例如,信元 (cell)、幀或数据报)。根据路由结构106(所示出的是N×N纵横机)的每 个输出31到3N对数据分组进行分类,经由多路复用器105a分到N个缓冲器组 121的N个缓冲器中的一个缓冲器中。即,在每个输入线路卡102处,为每个 输出31到3N保持独立的队列,产生路由结构106处的N2个VOQ。提供判优器107 来管理追随路由结构106的同一个输出和使输入与输出匹配的数据分组之间的 竞争。判优器107与沿控制路径108、109的每个线路卡通信,并且把交换配 置提供给沿控制路径112的路由结构106。一般,判优器107的物理位置靠近 路由结构106。
判优器107执行一些过程,包括以不-冲突的方式把输入端口和输出端口 分配给在缓冲器组121的缓冲器中等待的分组。这些过程包括分配和判断。分 配确定输入2b1到2bN以及路由结构106的输出31到3N之间的匹配,以致从每 个缓冲器组121选择至多一个分组以输出到至多一个输出资源。判断解决对于 单个输出资源31到3N的多个请求,并且把输出中的单个输出分配给请求者组中 的一个请求者。在图1的传统配置中,判优器107接收来自控制路径108上的 线路卡102的对于交换接入的请求。判优器107根据接收到的请求和合适的匹 配算法来计算匹配以确定允许输入2b1到2bN中的哪一个把数据分组传送到许 多时隙中的每一个中的哪一个输出。沿控制路径109把控制消息发送给赢得接 入的(即,准许接入的)每个线路卡102,以通知线路卡102允许其在特定时 隙或交换周期中把诸如分组之类的数据单元发送到指定的输出。在时隙期间, 判优器107把经计算的交换配置发送给路由结构106,每个得胜的线路卡102 通过去复用器105b从它的缓冲器组121中的队列释放数据分组的一个单元, 并且沿其相应的输入2b1,…,或2bN把数据单元发送到路由结构106。然后沿判 优器107配置的路径通过路由结构106把数据分组发送到输出31,…,或3N中请 求的一个输出。
可以看到,在如此的输入-排队系统中存在两个基本路径:控制路径,它 包括从线路卡到判优器的控制信息流(例如,请求)以及返回到线路卡的控制 信息流(例如,准许);以及数据路径,它包括从输入线路卡通过纵横机到输 出线路卡的数据分组流。
在图1所示的传统分组交换装置示出只有一-路通信路径的路由结构6的 同时,要理解,这个一般概念包括双向数据和控制路径。例如,可以把图1中 示出的每个数据链路2b1到2bN和各自的输出31到3N表示为双向链路,以致与 每个缓冲器组121相关联的线路卡还包括入口缓冲器和出口缓冲器两者。在如 此的情况中,可以把线路卡102看作通过路由结构发送数据分组的源位置和目 的地位置两者。相似地,请求、准许和链路2a1到2aN也可以表示为双向链路。
随着容量的增加,分组交换机的物理大小也在增长。同时,单个分组或信 元的持续期(T=L/B,其中L是以位为单位的分组长度,而B是以每秒位数为 单位的链路速率)是缩短的,因为虽然线路速率增加了,但是分组大小实质上 保持不变。这些趋势直接暗示在分组时间中测量的交换机-内部往返行程(RT) 中的重要的跳变。这效应对中央判断的输入-排队的交换机的跳变的影响尤为 严重,因为在如此的交换机中的最小过渡等待时间是由两个等待时间组成的: (1)发送请求到判优器和等待到相应的准许到达的等待时间,这包括从判优 器来回的飞行时间(time of flight)以及到判优器的时间;以及(2)串行 化/去串行化(SerDes)、发送、以及通过交换机发送分组的飞行时间的等待 时间。粗略地说,这些等待时间量为2·(RT)分组倍的最小等待时间,这是 相似的、但是具有经缓冲的路由结构的交换机的两倍。
因为这些等待时间只是在最近才变成有关的问题,所以对它们的关注很 少。实际上,较佳的解决方案已经在物理上定诸如具有与路由结构(例如,包 括纵横机和判优器的交换机核心)接近的输入队列的线路卡(一般按VOQ方式 组织)的这些板的位置。然而,当前的分组和功率限制禁止放置与交换机核心 接近的大量的线路卡。结果,这种传统的装置不能通过简单地增加位于路由结 构处的许多线路卡来解决日益增长的要求。
McKeown等人的美国专利6,647,019号尝试通过使线路卡与路由结构在物 理上分开而增加线路卡的数量,因此而增加集合系统带宽。在物理上遥远的线 路卡上执行大量的缓冲和处理。图2A示出根据这个方法的一个系统。
如图2所示,该系统包括交换机核心210以及物理位置离开交换机核心210 的多个线路卡202。每个线路卡202包括入口VOQ缓冲器组(队列)221和出 口缓冲器222。交换机核心210包括多个端口模280(即,“交换机端口”)、 并行的切片式自-路由纵横机型结构模块206以及中央化的判优器模块207。 沿线路卡202和交换机端口280之间的数据链路230,以及沿交换机端口280 和纵横机型路由结构206之间的数据链路203,发送和接收数据分组。线路卡 202的每一个都包括用于存储在前向路径中发送的分组的缓冲器组221以及用 于存储返回路径中的分组的出口缓冲器222。沿线路卡202和交换机端口280 之间的控制路径232,以及沿交换机端口280和判优器模块207和之间的控制 链路204,发送和接收控制消息。判优器207确定每个时隙的合适的配置,并 且沿配置链路212把该配置提供给路由结构207。对于交换机核心210的每个 入口端口,使具有VOQ的小缓冲器281位于与交换机核心210接近处,以使 VOQ221和判优器207之间的RT最小。这是通过线路卡-到-交换机(LCS)协 议而得到的,该协议使线路卡202和交换机端口280之间的无损耗通信成为可 能。
McKeown等人方法的主要缺点在于:即使在交换机端口280中只需要少量 的缓冲,即,有足够的分组覆盖一个RT,线路卡202和交换机端口280两者也 都包含缓冲器。这些经缓冲的交换机端口增加成本、卡空间、电功率以及等待 时间(例如,额外的SerDes以及缓冲)。它们还复制已经存在于线路卡202中 的功能。
即使使用McKeown等人专利中描述的方法,实际上也难于在交换机端口280 和判优器模块207之间得到比一个信元时间短的往返行程时间。此外,在包括 从线路卡到交换机核心的光学链路(以覆盖从线路卡到交换机核心的长距离) 的交换机结构以及光学路由结构的特定情况中,为了在电气/CMOS芯片中的缓 冲,交换机端口280会需要额外的电-到-光的和光-到-电的转换,因为当 前光缓冲器是不实用的或经济上不可取的。这种额外的转换电路会大大地增加 系统的成本和复杂度。
W.J.Dally等人在“Principles and Practices of Interconnection Networks”(Morgan Kaufman,2004,316-318页)中提供的、减少互联网络 等待时间的另一个方法包括“具有推测未来的推测”。在Dally等人的描述中, 路由器的匹配判优器使用具有推测未来的推测比第一成员(线路的头或HoL) 更深入地看入口VOQ队列,并且用会对这些后续的分组提供准许的期望(希望) 在事先分配一些交换机资源。这个方法尝试通过使路由器并行地执行某些匹配 和设置任务尽可能使流水线(pipeline)减少几个级。在具有推测未来的推测 使存在于出口VOQ中的排队的分组以及已经作出发送请求而判优器不能立即服 务的一些分组得益的同时,并不对所考虑的判优器尚未接收到发送请求的一些 分组和/或刚到达入口VOQ的一些分组的发送进行加速
此外,具有推测未来的推测大多数致于判优器算法中的等待时间,并且 不致力于通常从发射机到交换机结构的较长的发送时间等待时间。依赖于加负 载而推测地分配更多交换机资源的内部交换机加速和光交换机的、较早的两次 或甚至三次推测的概念(例如,见Dally等人的317页)在大多数应用中都失 效。在许多传统的严格的非-阻塞交换机结构中,把内部结构在内部分成几个 连续的交换级。在两次和三次推测中,为推测的负载递增地设置(分配)这些 级。只有在极端加速或轻负载时,在准许通过整个多级结构的发送中,这些方 案中的推测才能够有规律地成功。当负载增加时,推测分配的方法会伤害性能, 因为它挥霍地储备可以较佳地分配给经成功判断的请求的资源。
此外,所有上述系统都遭受到第一RT等待时间,在该等待时间中,每个 线路卡都必须等待,直到准许在发出输出资源的请求之后到达。
因此,在技术领域中,对于互连系统中更有效的、复杂度较小的和成本较 低的方式以减小与路由结构相关联的等待时间方面仍存在一种需求。

发明内容

因此,本发明针对实质上排除了由于现有技术的限制和缺点引起的一个或 多个短处或问题的一种方法和装置。
本发明包括系统和方法两者,用于在使用路由结构的系统中发送通过经调 度的判断减少了所招致的总等待时间的信息单元。该方法特别适用于包括交换 结构的系统,其中把有或没有经调度的判断的数据分组从多个源发送到路由结 构的输入,它把输入分组切换到指定的路由结构输出。
在本发明的一个方面,一种方法包括一个步骤,在该步骤中,如果存在经 调度的判断,则根据以前判断结果(即,经调度的判断)发送至少一个数据分 组,并且如果不存在经调度的判断结果,则选择一个数据分组进行推测地发送。 该方法还包括同时发出包括选中数据分组的输出标识符的推测请求,以及把选 中的分组发送到路由结构。
在本发明的另一个方面,用于把有或没有经调度的(以前的)判断的数据 分组从多个输入发送到路由结构的多个输出的一种系统包括:用于如果存在以 前判断的结果则根据经调度的判断结果来发送至少一个数据分组的一种机构; 以及用于选择一个数据分组进行通过推测的发送以及同时发出包括选中数据 分组的输出标识符的推测请求和如果不存在经调度的判断则把选中的分组发 送到路由结构的一种机构。
本发明的另一个方面包括一种系统,用于管理多个位置之间的信息单元 流。该系统包括用于接收请求的多个输入,这些请求是为了接入交换结构以从 源位置把信息单元发送到目的地位置。用于接入的这些请求包括用于接入的经 调度的判断准许的一些请求以及用于推测接入而无需以前经判断的准许的一 些请求。每个请求还包括要向其传送相关联的信息单元的目的地位置的指示。 对于用于接入的经调度的判断准许的请求的组或子组,系统包括用于确定交换 结构资源的无冲突分配的判优器。系统包括用于在一个时刻接收推测接入请求 的推测判优器,在该时刻中,确定的请求组要在下一次施加于交换结构,并且 根据确定的分配来准许或否定接收到的推测的请求。
本发明再另一个方面是促使刚到达队列的数据分组的发送速度增加而无 需预-分配或保留交换资源,否则这些交换资源会因为最终否定了该准许而浪 费。
本发明的另一个方面包括通过减少分组源和路由结构之间的往返行程发 送量来减少平均等待时间。例如,分组的每个成功的推测发送节约了否则要求 通过一个路由结构发送分组的至少一个往返行程(即,从请求的发送到准许的 接收)。
将在下面的说明中阐述本发明的另外的方面和优点,并且一部分通过说明 将变得显而易见、或可以从本发明的实践中学习到。本发明的这些方面和优点 将通过在书面说明书和其权利要求书以及附图中特别指出的系统和方法来实 现和得到。
要理解,上述一般说明和下述详细说明都是示范性的,并且是仅作为示范, 而并非对要求权益的本发明的限制。

附图说明

所包括的以提供对于本发明的进一步理解的、和结合在说明书中或构成说 明书的一部分的、说明了本发明的示范性实施例的附图与说明书一起解释了本 发明的原理。在附图中:
图1说明包括虚拟输出缓冲器的传统系统的高级概述。
图2示出使用线路-卡-到-交换机(LCS)协议的非-优化的传统系统。
图3示出根据本发明的示范性系统。
图4是根据本发明的一个例子的入口缓冲器单元的表示。
图5示出根据本发明的线路卡的出口缓冲器单元的一个例子。
图6a示出根据本发明的线路卡的出口缓冲器单元的另一个例子。
图6b是图6a所示的出口缓冲器的更详细的例子。
图7是根据本发明的示范性判优器的示意性表示。
图8示出根据本发明的另一个示范性系统。

具体实施方式

现在将结合在附图中示出的一些例子更详细地描述本发明这些和其它方 面。
如上联系现有技术所述,中央判断装置得到高的最大通过量,但是发生判 断等待时间的不利结果,特别在低到中的利用时。本发明使用称之为推测发送 (STX)的新型的推测而致力于这些等待时间。这里描述的STX的概念涉及ALONA 和以太网的基本概念,其中在共享介质上发送分组而无需以前的判断(即,存 在基于成功的给定发送的推测)。然而,在本发明中,把这个概念应用于交换 介质的情况以消除判断等待时间。因为只使用推测发送来操作分组交换会导致 频繁的分组碰撞,在中到高的利用时产生灾难性的性能,所以本发明组合了推 测发送和判断以得到两个概念的优点,即,在低到中的利用时的高的最大通过 量以及较短的等待时间。
本发明通过结合使用无需以前判断的STX和无需执行与路由结构接近的额 外缓冲级的路由结构判断而减少判断等待时间。此外,本发明允许推测操作的 极深的流水线,以致可以有效地处理比分组持续期大(得多)的往返行程。本 发明实质上减小或排除了交换结构中因判断而发生的平均等待时间,从而总的 等待时间得到50%或更小的降低。
与包含经常浪费交换机资源的预分配的现有技术推测方案相反,这里描述 的路由结构的有效的非-阻塞单级广播特性不对这些资源进行预分配。换言 之,本发明在交换结构中执行单级选择器,因此避免了交换机资源的浪费,因 为实际上不是通过推测来设置结构资源的。
本发明致力于涉及STX选择方针、碰撞、再发送、失效的传送、再排序、 重复传送、定再发送和再排序窗口的大小的一些问题。然而,应该理解,熟悉 本领域的技术人员容易理解与本发明的任何特定应用有关的涉及交换结构的 其它问题和特性。
图3示出根据本发明的示范性系统。如图3所示,该系统包括连接到N 个线路卡302的N个双向全双工入口/出口数据链路301。在数据链路301上 发送和接收具有有效负荷信息和包括指示请求分组目的地的信息的标头的数 据分组。每个线路卡302通过双向全双工结构-内部数据链路303连接到交换 机核心310。交换机核心310包括路由结构306,作为例子示出的路由结构306 是包括N个输入和N个输出端口的纵横机。还用专用的双向控制链路304(它 交换线路卡302和判优器307之间的控制消息(例如,包括请求和准许))把 每个线路卡302连接到中央化的分配和判断单元307。通过配置链路312把判 优器307连接到纵横机306。每个线路卡2还包括入口缓冲器单元321和出口 缓冲器单元322。下面参考图4到7更详细地讨论判优器307、入口缓冲器单 元321和出口缓冲器单元322的组织和功能。
其它类型的路由结构可以利用本发明。然而,特别适合于基于纵横机的交 换机。因此,为了示出较佳例子的目的,在联系包括基于纵横机的交换机的交 换机核心描述图3中示出的系统的同时,熟悉本领域的技术人员将理解,可以 发现本发明可应用于许多交换结构结构中。
纵横机型交换机的一个特性是在任何时刻一个输入只可以连接到一个输 出,反之亦然。即,在交换机的输入和输出之间存在一-对-一的匹配。为了 得到在等待时间和通过量方面的好的性能,一般通过中央化的分配和判断单元 计算匹配。此外,分配和判断单元解决交换机的单个输出资源的竞争。在图3 所示的示范性系统中,判优器307执行这些分配和判断功能。在以单个单元示 出图3中描绘的判优器307的同时,要理解,可以通过一个以上的硬件单元和 /或与程序指令一起操作的一个以上的硬件单元来执行分配和判断功能。
判优器307接收从线路卡302来的输出资源的请求。请求包括输出端口标 识符,它指示始发请求的线路卡302希望把分组发送到特定输出端口。判优器 307根据接收到的请求计算输入和输出端口之间合适的一-对-一匹配,这与 双向图表-匹配问题等效。判优器307根据计算的匹配把对应的准许返回给线 路卡302,其中准许包括输出端口标识符,意味着允许接收该准许的线路卡302 把分组发送到指定的输出端口。任选地,当对于特定请求没有可用的资源时, 判优器307可以返回与否定请求对应的确认。当线路卡302接收到准许时,它 使入口缓冲器单元321的对应VOQ的一个分组退出队列,并且在数据链路303 上把它发送到纵横机306。纵横机306根据判优器307计算的和经由配置链路 312施加的配置(即,匹配)通过选择路径把输入分组发送到数据链路303。
图4示出入口缓冲器单元321更详细的表示。入口缓冲器单元321包括输 入去复用器410;多个虚拟输出队列(VOQ)411,一个对应于每个输出;多个 再发送(RTX)队列412,一个对应于每个输出;多个去复用器(这些去复用 器实际上除了选择路径功能之外还具有重复功能)413,每个VOQ 411有一个; 多个多路复用器414,每个VOQ 411有一个;输出多路复用器415;以及控制 单元416。
在操作中,分组到达连接到入口缓冲器单元321的输入数据链路301,并 且去复用器410根据输入分组各自的目的地(输出端口)使输入分组选择路径 而到对应的VOQ 411。还把分组的到达传送给控制单元416。控制单元416把 请求发送给判优器单元307,并且经由控制信道304从判优器单元307接收准 许。当可靠传送方案需要序列号时,控制单元416把顺序的序列号分配给以相 同端口为目的地的顺序的分组。调度的判断以及推测请求以及准许和确认的请 求都包括输出标识符。推测的请求、准许和确认还可以包括序列号。例如,某 些类型的可靠的传送(RD)方法(这些方法中的一些在后面描述)可能需要作 为调度判断的结果来发送数据分组和推测地发送每个都具有序列号的数据分 组。
该系统包括两个发送模式,即,经判断的发送(即,经调度的判断导致的 发送)以及推测发送(STX)。经调度的判断发送模式在现有技术中是已知的。 例如,见C.Minkenberg等人,IP.com,2004年6月3日,文件号 IPCOM000028815D,这里结合该文件的整个内容作为参考。本发明致力于推测 发送模式以及经调度的判断和推测发送模式之间的相互作用。这是一边通过区 分经调度的判断的请求和对应的准许以及在另一边区分推测请求和对应的肯 定和否定的确认来完成的。
再返回到图4,在一个较佳实施例中,如果以及只有如果在给定时隙中线 路卡302没有接收到经调度的判断发送的任何准许,则线路卡302符合执行推 测发送的条件。当没有接收到准许时,根据给定的方针,控制部分416选择一 个非-空的VOQ 411,为了推测发送而有一个分组从该非-空的VOQ 411退 出队列。例如,该方针可以是随机的、循环的、最老的单元优先的、最年轻的 单元优先的等等。在一个较佳实施例中,选择方针以致使等待时间增益最大化。 例如,诸如最年轻的单元优先的、宁可较新的到达的方针趋向于使等待时间增 益最大化。
经由多路复用器413把选中的分组存储再发送缓冲器412中,并且经由 多路复用器413、414、415在数据链路303上向纵横机306发送。同时,控制 部分416经由控制链路304把包括输出标识符的、相应的推测发送请求发送到 判优器307。在再发送缓冲器412中存储分组的目的是在推测发送失效的情况 下允许分组的再发送。线路卡302还可以同时发出搜索准许的经调度的判断的 请求以及推测请求。在一个较佳实施例中,存储在再发送队列412中的分组不 符合推测发送的条件,因为已经通过推测发送了它们一次。即,通过推测再发 送失效的STX分组的得益很少或没有,因为它极可能已经丢失了潜在的等待 时间优点。
如果在给定时隙中线路卡302通过经调度的判断接收到给定输出的准许, 则该线路卡302符合在当前时隙中发送对应于该输出的分组的条件。控制单元 首先检查对应再发送队列412的占有率。如果它不是空的,则一个分组从该再 发送队列412中退出队列,并且经由多路复用器414和415在数据链路303上 向纵横机306再发送。如果再发送队列412是空的,则控制单元检查对应VOQ 411的占有率。如果再发送队列411不是空的,则一个分组从该VOQ 411中退 出队列,并且经由多路复用器413、414和415在数据链路303上发送到纵横 机306。要理解,当准许到达时,在RTX队列412中等待的分组的优先级通 常超过对应的VOQ 411中的分组。这是为了保证把失效的STX分组快速地传 送到它们的目的地。然而,优先级还可以取决于其它因素,诸如队列411中等 待或到达的数据的性质(例如,诸如话音和视频之类输入等待时间-敏感数 据)。由于操作的推测模式,可以发生对于空的VOQ 411也有准许到达。把如 此的准许称为浪费的准许。在一个较佳实施例中,线路卡302符合在它接收到 浪费的准许的任何时隙中发送推测分组的条件。
在下面描述的本发明的示范性实施例中,如果线路卡302接收到确认,则 它检查由包括在确认中的输出标识符表示的再发送缓冲器412中是否存在具有 也包括在确认中的队列号的分组。如果不存在,则忽略这个确认。如果分组存 在,则采取与本发明的特定应用有关的动作,例如,结合可靠的传送方案的一 个动作(见“可靠传送”部分)。例如,在利用可选择的再尝试(SR)的一个 示范性实施例中,经确认的分组(如果存在的话)从再发送队列412中任何位 置处退出队列。在另外的示范性实施例中(例如,返回-N(GBN)(Go-Back-In)、 停止和等待(S&W)),如果经确认的分组处于再发送队列(GBN)或VOQ (S&W)的头部,则仅使它退出队列。
在出口处没有再排序
图5描绘线路卡302的出口缓冲器单元322a中不执行再排序的一个例子。 可以与不需要排序的诸如停止和等待或返回-N(Go-Back-N)(下面描述)之 类的RD方案一起使用缓冲器单元322a。出口缓冲器单元322a包括排队单元 (enqueuing unit)521、输出队列526、退出队列单元527以及控制单元528。
在操作中,分组沿数据链路303到达出口缓冲器单元322a。控制部分528 检查分组标头和判定排队单元521是否该把分组存储在输出队列526中或丢弃 分组。当使用停止和等待或返回-N(Go-Back-N)的RD方案时,只按正确的 次序来接受分组。然而,要理解,即使会发生用停止和等待重复传送,也会发 生用GBN重复传送和无次序的传送。因此,控制单元528保留每个输入的下 一个预期序列号。控制单元528检查接收到的分组的序列号是否等于对应输入 的下一个预期的序列号(例如,最后成功接收到的分组加一)。如果情况是这样 (即,预期的和接收到的序列号是相同的),则分组排列在输出队列526中。 否则,丢弃分组,因为它或者是重复的(例如,序列号太小),或者是无次序 的(例如,序列号太大)。
如果存在的话,退出队列单元527使分组从输出队列526退出队列,并且 在外部数据链路301上发送该分组。
在出口处的再排序
图6a描绘线路卡302的出口缓冲器单元322b的另一个示范性实施例。该 实施例应该与诸如选择性尝试之类需要再排序的RD方案一起使用。它包括去 复用器621、去复用器622、每个输出有一个的多个再排序(RSQ)队列623、 多路复用器624、多路复用器625、输出队列626、退出队列单元627、以及控 制单元628。
在操作中,出口缓冲器单元322b接收数据链路303上的分组。控制单元 628检查到达的分组是否是按次序的(即,它的序列号是否等于对应输入的下 一个预期序列号)。如果情况是这样的,则经由去复用器621和多路复用器625 选择路径传送分组,并且直接排列在输出队列626中以及递增预期的下一个序 列号。要理解,下一个预期号的值取决于所选择的排序方案的特定类型。例如, 在下面描述的一个示范性实施例中,对于每个下一个分组,按预期的次序使用 递增一的整数对分组序列号进行编号。当然,可以使用其它排序方案的编号中 的任何一个来执行再排序,诸如按排序次序使编号递减的方案、和/或用不是 一的值使分组序列号递增或递减的方案。如果分组无次序地到达(例如,它的 序列号大于对应输入的下一个预期的序列号),则经由去复用器621和去复用 器622选择路径传送到对应于其输入的再排序队列623。因此,再排序队列625 存储无次序地到达的所有分组。当已经正确地接收到所有以前的分组时才允许 这些分组进行到输出队列626。如果分组是重复的(例如,它的序列号小于对 应输入的下一个预期的序列号),则丢弃它。根据本政策不丢弃在排序队列中 的分组的重复,只是简单地写在已经存储的拷贝上面。
任何时候当按次序的分组到达时,控制部分628检查这个按次序到达的分 组是否从对应的再排序队列623退出队列。如果情况是这样,则如此的一个或 多个分组从再排序队列623退出队列,经由多路复用器624和多路复用器625 选择路径传送,排列在输出队列626中,并且更新对应输入的下一个预期的序 列号。
图6b表示在出口缓冲器单元322b处的再排序的例子。对于数据链路301 和特定的输入线路卡302,已经正确地接收到多达3个和包括序列号3的所有 分组。此外,已经正确地接收到编号为5、6和8的分组,但是是不按次序接 收的。因此,已经把分组5、6和8存储在数据链路301的再排序队列623中。 接着,分组4到达,并且立即选择路径传送到输出队列626,因为它对应于下 一个预期的序列号。此外,现在分组5和6,但是不是分组8,可以从再排序 缓冲器623中退出队列,并且排列在输出队列626中。当这已完成时,数据链 路301的下一个预期的序列号等于7。
如果存在的话,退出队列单元627使分组从输出队列626退出队列,并且 在外部数据链路301上发送该分组。
图7示出示范性判优器单元307的示意性表示。它包括每个输入控制链路 304a有一个的多个控制消息接收单元761、匹配单元762、每个输入有一个的 多个匹配延迟线路763、推测请求判断单元764以及每个输出控制链路304b有 一个的多个控制消息发送单元765。
如图7所示,判优器单元307接收来自控制链路304a的控制消息。控制 消息接收单元761对输入控制消息进行解码。把经解码的调度判断请求传送到 匹配单元762,并且把经解码的推测请求传送到推测请求判断单元764。匹配 单元762根据合适的已知匹配算法(诸如PIM、i-SLIP(见N.McKeown, “Scheduling Algorithms for Input-Queued Switches”,PhD.Thesis,University of California at Berkeley,1995)或双循环匹配算法(DRRM))计算输入和输出之 间的一对一的匹配。因为熟悉本领域的技术人员已知这些算法,所以为了简短 起见而省略其详细说明。把新计算的匹配传送到控制消息发送单元765和匹配 延迟线路763。匹配延迟线路763使匹配延迟预定时间以使纵横机的配置与对 应分组的到达同步。实际上,这个延迟等于往返行程时间,它包括的时间为准 许行进到线路卡的时间加上分组行进到纵横机的时间(包括串行化和去串行化 延迟、发送延迟以及飞行时间)减去把配置信息发送给路由结构以及相应地配 置它的时间。
推测请求判断单元764接收要施加于纵横机的经调度的判断发送请求的当 前匹配以及当前的推测请求作为输入。它否定与已经在当前匹配中匹配的一个 输出对应的所有推测请求,即,经调度的判断发送比推测请求始终获得优先以 保证高的最大通过量。对于至少存在一个推测请求的每个未经匹配的输出,推 测请求判断单元764根据一些政策(例如,循环)选择一个以给予准许,而否 定所有其它的。它向与发送请求的输入对应的控制消息发送单元765发送与每 个成功的推测发送请求对应的确认(ACK)。任选地,推测请求判断单元764 发送与每个否定的推测发送请求对应的否定确认(NAK)。把成功的推测发送 请求添加到匹配中,并且经由纵横机配置链路312把结果施加于纵横机。
每个控制消息发送单元765为其对应的线路卡302汇编一个控制消息,并 且经由控制链路304b把它发送到线路卡302。控制消息可以包括新判断的准许 (如果存在的话)以及对于成功的推测发送(如果存在的话)的确认。
一般,推测发送的使用可能导致出口缓冲器单元322处分组的无次序到达, 因为在飞行的推测分组序列外会由于碰撞而丢失一个或多个分组。因此,根据 特定的RD方案,出口缓冲器单元322可能需要执行序列检查和/或再排序。
可靠的传送
操作的STX模式暗示了通过推测判断发送的分组可能会与其它推测分组 或与通过经调度的判断发送的分组碰撞。如果发生碰撞,则必定会丢失一个或 多个分组,导致即使没有出错也会丢失交换操作。可以采取另外的措施来保证 可靠的、正确的、单个拷贝、有次序的传送。例如,本发明可以与许多可靠的 传送(RD)方案结合以增加系统可靠性。一般,这些方案是通过把分组存储在 发送器中直到接收到表示接收机已经正确地接收到特定分组的确认(ACK)而 工作的。一般通过时间已到隐含地触发再发送或通过否定确认(NAK)明确地 触发再发送。根据特定的实施,需要序列号来识别特定分组和/或在出口处需 要再排序缓冲器以恢复正确的分组次序。
例如,组合了经调度的判断的STX判断可以与已知的停止和等待(S&W)、 返回-N(Go-Back-N)(GBN)以及可选择的再尝试(SR)RD方案结合以增 加可靠性,在存在推测发送时有次序地传送。现在描述这些示范性方案:
停止和等待
在停止和等待(S&W)的情况中,在任何给定时间,只允许每个输出的一 个未经确认的分组停留在每个输入处。只有当对应输出的准许到达输入处或对 应的确认到达时,才可发送这个输入-输出对的下一个分组。既然是这样,分 组、推测发送请求以及确认携带了一个指示符,例如,一位序列号,以允许检 测重复。例如,出口缓冲器单元可以检测序列号(例如,在序列中的序列号必 须是交替的),如果肯定(OK)的话(即,在序列中),则排列该分组,否则 丢弃该分组。例如,图5示出无需再排序而执行的出口缓冲器单元322a。
S&W实施起来是简单的,并且额外开销是低的。例如,分离的RTX队列的 物理实施是不必要的,因为分组可以保留在VOQ的线路的头部直到确认或准许。 然而,当往返行程时间大于一个分组时间时,预期的等待时间改进将是较差的, 因为不能用流水线输送推测发送。当话务爆裂(bursty)时,这是特别不利的。
返回-N(Go-Back-N)
在返回-N(Go-Back-N)(GBN)的情况中,在任何给定时间,允许在每 个输入处不确认每个输出的预定最大分组数量。这个数量取决于再发送队列 412的最大允许长度。在GBN中,可以实施出口缓冲器单元而无需再排序,例 如,根据图5的出口缓冲器单元322a。然而,需要上述的序列检查,因为只有 在正确的次序下才接收分组。即,丢弃所有无次序的分组。此外,只在确认按 次序时才接收它们。例如,当ACK到达时,入口缓冲器单元321检查这个ACK 是否与对应再发送队列412的线路的头部的分组对应。如果序列号匹配以及至 少在一个RT前已经发生了相同VOQ 411的最近的之前的成功发送,则使分组 退出队列并且丢弃该分组,因为已经成功地传送了该分组。如果序列号不匹配, 则忽略该ACK。需要关于最后成功发送(它可以是由经调度的判断或推测判断 导致的一个分组发送)的另外的条件以符合可能的情况,在该可能的情况中, 之后仍可能在出口缓冲器单元322a处丢弃成功的推测发送,因为它作为较早 的推测发送失效而没有按次序到达。在该情况中,ACK是假肯定的。
这暗示了当(流水线式的)STX请求的序列中的第一个失效时,产生对应 的ACK序列中的一个间隙,必须忽略所有后继的ACK直到已经成功地传送了失 效的分组。结果,当一个ACK丢失时必须再发送RTX队列中的所有分组,因此 名称为返回-N(Go-Back-N)。仅当RTX队列不完整时才能发出新的STX请求。
GBN的实施比S&W更复杂。额外的复杂度一部分是由于RTX队列具有先进 先出(FIFO)组织而发生的。额外的额外开销可以包括分组、STX请求和确认 的较长的序列号。还可以按不同方式来实施入口缓冲器(例如,移位寄存器RTX 队列加上附加的NAK队列)。
另一方面,在具有较大往返行程的系统中,GBN的使用可能优于S&W。例 如,GBN允许通过推测背-对-背地发送许多分组,这对于S&W方案是不可能 的。
可选择的再尝试
可选择的再尝试(SR)允许在任何给定时间在每个输入处不确认每个输出 的预定最大分组数量。这个数量取决于再发送队列412的最大允许长度以及再 排序队列623的最大允许长度。可以根据图6a和6b所示的出口缓冲器单元322b 来实施出口缓冲器单元,例如,它允许接收无次序的分组以及再排序,如上所 述。入口缓冲器单元321还按任何次序接收确认。这暗示了仅再发送失效的STX 分组,因此称为有选择的再尝试,与用GBN再发送整个RTX队列相反。
由于在出口缓冲器单元322处的多个再排序队列添加了复杂度,SR的实施 比GBN更大大地复杂。此外,SR中的RTX队列需要随机存取组织,因为分组 可以从队列中的任何点退出队列,而不是只从线路的头部退出队列。
再发送和再排序缓冲器大小
一般,有利的是定再发送缓冲器的大小,以致可通过推测发送分组的至少 全往返行程价值,以便得到等待时间减少方面的最大利益。既然是这样,用推 测发送可以利用100%的链路。
为了得到最佳的优点,一个较佳实施例定每个再排序队列(RQS)的大小 以致它可以存储等于与RSQ缓冲器对应的RTX队列的至少许多分组。例如,可 以根据RTX队列(例如,与RSQ 623对应的RTX队列412)的线路的头部的分 组的序列号以及与RSQ 623对应的RTX队列412的尾部分组的序列号之间的差 异来确定RSQ 623的大小。
在不对称的路由结构中的推测
本发明的上述例子一般示出“正方形”纵横机状的路由结构(即,具有 相同数量的输入和输出的结构)。当它对于要连接到一个结构输入和一个结构 输出的诸如线路卡等板为典型的时,还可以用特征为输出比输入多的交换机结 构来实施本发明。例如,假定输出为输入的K倍,K是大于一的整数,则可以 把K个路由结构输出确切地分配给每个出口线路卡。这使每个出口线路卡在每 个时隙中接收多达K个分组。
图8示出包括不对称的路由结构的示范性系统。如图8所示,系统包括交 换机核心810、N个入口数据链路803a1到803aN,每个都是提供在N个线路卡 802中之一的入口缓冲器821各自的输出之间的,并且数据链路803b1到803bK 提供在路由结构806和每个出口缓冲器822之间。因此,存在总数为N·K的 数据链路803bx,其中x在1和k之间,从交换机核心810的路由结构806输 出。控制链路与上面讨论的存在于交换机核心810和线路卡802之间的那些相 似,然而,为了简洁起见,没有示出控制链路。
交换机核心810包括路由结构806和判优器807,用于为经调度的和/或 推测判断的请求的组或子组确定交换结构资源的无冲突分配,以在输入和输出 端口之间提供合适的匹配。配置链路812把通过判优器807确定的交换配置提 供给路由结构806。如上所述,从路由结构向每个出口822提供数量为来自线 路卡802的输入数量的K倍的输出。例如,在用K=2不对称执行的一个系统 中,出口缓冲器822具有一个额外的数据链路(从交换结构的输出),该数据 链路可以接收来自任何一个交换结构输入的分组。为了处理在任何时间周期或 循环中接收到的数量增加了的数据分组,根据负载和/或各种限制来决定出口 缓冲器822中的队列的大小。同样,出口缓冲器822最好具有K倍的写入带宽。
在图8的示范性系统中,在N个双向全双工入口/出口数据链路801上发 送和接收具有有效负荷信息和包括表示请求分组目的地信息的标头的数据分 组。接收到的数据分组从入口缓冲器821退出队列,并且在数据链路803a1到 803aN上发送到路由结构806的输入。因为每个线路卡802还可以接收从其余N -1个线路卡中来的多达K个的输出,所以本发明的不对称例子的路由结构806 可以,例如,通过N个线路卡802的每一个到输出到任何其它线路卡802的出 口缓冲器822的803bx数据线路中之一,与通过经调度的判断和/或通过推测 判断发送的一个分组匹配。因此,每个线路卡802可以接收多达K个分组,这 可包括通过经调度的或推测判断发送的分组,或从其它N-1个线路卡802发送 的它们的组合。
可以有利地利用这个特征,以允许在任何时隙通过每个出口接收多个经调 度的判断发送、多个推测发送或两者的组合。例如,在本发明的一个实施例中, 可以使用这个特征得到推测发送方案的极大的优点。例如,在给定时隙中,如 果没有经调度的判断发送,则每个出口822可以接收多达K个推测发送,如果 存在一个经调度的判断发送,则每个出口822可以接收多达K-1个推测发送。 在这个例子中,经调度的判断发送仍可以形成输入和输出之间的一对一的匹 配,而推测判断发送可以取得所有其余结构输出带宽的益处。这样,可以保证 推测发送具有较高的成功概率,因此得到相当多的等待时间减少(取决于负 载)。
现有的一对一匹配算法要求最少修改或不修改,以执行本发明的不对称例 子。然而,要理解,相对于发送分组的类型和/或每个类型的发送分组的数量, 可以使用许多方案使路由结构输入与输出匹配。
为了处理每个时隙的每个输出的多达K个的推测请求/确认,必须修改图 7的推测请求判断单元764。首先,必须确定每个输出可以确认的推测请求的 最大数量。对于在当前匹配中已经匹配的所有输出,这个最大数量等于K-1。 对于其它输出,这个最大数量等于K。接着,推测请求判断单元764在每个输 出的接收到的推测请求中作出选择,选择的数量多达得胜者的确定的最大数 量,并且否定所有其它的。为了公平起见,最好以循环的方式执行这个选择, 但是也可以以其它方式来执行。
本发明寻找在互连网络中的应用,诸如并行计算应用,包括高性能计算系 统、簇以及IO网络,其中要求或需要短的等待时间,在总体上它对系统计算 性能引入了影响。本发明可以与包括电控制的电交换机、电控制的光交换机以 及光控制的光交换机的路由结构一起使用。
为了促进对本发明的理解,已经在要通过互连系统的元件执行的动作序列 方面描述了本发明的许多方面。要理解,在每个示范性实施例中,可以通过专 的电路(例如,互连以执行专门功能的分立逻辑门)、通过由一个或多个处 理器执行的程序指令、或通过两者的组合来执行各种动作。此外,另外可以认 为可以在包括使处理器执行这里描述的技术的计算机指令的合适的组的计算 机可读出载体的任何形式中实施本发明,诸如固态存储器、磁盘、光盘或载波 (诸如射频、音频或光频载波)。因此,可以以不同方式来实施本发明的各个 方面,并且认为所有如此的形式都落在本发明的范围内。
在上述例子中,只有当板(例如,线路卡)没有在给定时隙接收到准许时, 该板才是执行推测发送的合格的板。然而,在到纵横机的链路的有效容量超过 外部链路的有效容量以致可以在一个时隙中发送多个分组的应用中,可以使用 备用容量来执行相同时隙中的推测发送和准许的发送。
已经参考特定实施例描述了本发明。然而,熟悉本领域的技术人员要理解, 可以在本发明中作出各种改变和修改而不偏离本发明的精神和范围。因此,旨 在使本发明覆盖由所附的权利要求书及其等效物的范围内提供的本发明的修 改。
申请要求2005年11月14日提交的、题为“METHOD AND SYSTEM TO REDUCE INTERCONNECT LATENCY”的美国临时申请60/736,779的权益。
本发明是在DOE/NNSA授予的第W-7405-ENG-48号合同下用政府支持做 出的。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈