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

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

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

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

1.一种用于把有或没有经调度的仲裁的数据分组从路由结构的多个输入发送到多个输出的方法,所述发送方法包括下列步骤:
如果存在经调度的仲裁的结果,则根据经调度的仲裁的结果发送至少一个数据分组;
以及
如果不存在经调度的仲裁结果:
则选择要被进行推测地发送的一数据分组;以及
发出包括选中的数据分组的输出标识符的推测请求的同时把选中的数据分组发送到所述路由结构,
其中对照其它请求分辨通过推测发出的推测请求,从而产生与所发送的通过推测发出的数据分组的到达同步地发出到路由结构的发送准许,以致正好及时地设置路由结构的交换机状态,以允许数据分组无阻挡地通过该结构。
2.如权利要求1所述的方法,其特征在于,还包括存储选中的数据分组直到接收到针对所存储的分组的确认或准许的步骤。
3.如权利要求1所述的方法,其特征在于,所述路由结构是未经缓冲的。
4.如权利要求1所述的方法,其特征在于,还包括下列步骤:
对于每个时隙,根据经调度的仲裁结果使路由结构的输入与输出匹配;以及对于每个未经匹配的输出,在要把经匹配的输入和输出施加到路由结构的时隙中,如果存在发出的推测请求的话,则根据选择政策选择一个发出的推测请求;以及把每个得胜的推测请求的输入-输出映射添加到要施加到路由结构的当前经调度的仲裁结果中。
5.如权利要求4所述的方法,其特征在于,包括返回一个确认的步骤,所述确认与每个得胜的选中的推测请求对应。
6.用于管理信息单元在多个位置之间流动的系统,包括:
用于接收请求的多个输入,所述请求是为了接入到交换结构以把信息单元从源位置发送到目的地位置,所述请求包括用于接入的经调度的仲裁准许的请求以及用于推测接入而无需经调度的仲裁准许的请求,并且每个所述请求包括要向其传送相关信息单元的目的地位置的指示;
判优器,用于针对准许接入的经调度的仲裁的请求的组或子组确定交换结构资源的无冲突分配;以及
推测请求判优器,用于在经确定的分配接下来要施加于交换结构的一个时刻接收所述推测接入请求并且根据确定的分配来准许或否定所述接收到的推测接入请求,其中对照其它请求分辨通过推测发出的上述推测接入请求,从而产生与所发送的通过推测发出的信息单元的到达同步地发出到交换结构的发送准许,以致正好及时地设置交换结构的交换机状态,以允许信息单元无阻挡地通过该结构。
7.如权利要求6所述的系统,其特征在于,通过交换结构把与所述接收到的推测接入请求中准许的一个相关联的信息单元传送到不为所述组或子组保留的一个输出。
8.如权利要求6所述的系统,其特征在于,所述交换结构不包括用于存储信息单元的缓冲器电路
9.如权利要求6所述的系统,其特征在于,交换结构的多个输入中的每一个都是可同时与交换结构的各个输出连接的。

说明书全文

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

[0001] 本申请要求2005年11月14日提交的、题为“METHOD AND SYSTEM TOREDUCE INTERCONNECT LATENCY”的美国临时申请60/736,779的权益。
[0002] 本发明是在DOE/NNSA授予的第W-7405-ENG-48号合同下用政府支持做出的。

技术领域

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

背景技术

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

发明内容

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

附图说明

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

具体实施方式

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

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈