专利名称:输入/输出太比特开关的rrgs-循环贪婪调度的制作方法
技术领域:
本发明涉及应用于像电子和光介质上的太(1012)比特开关。特别是,本发明涉及一种循环贪婪调度算法。本发明包括调度方法和实现循环贪婪调度算法的太比特开关系统。
背景技术:
随着对带宽的持续增长的要求,相应地增加对太比特开关的需要,参见M.Beshai,和E.Miinter,“Multi-tera-bit/s switch basedon burst transfer and independent shared buffers”,ICC’95,pp.1724-1730,N.McKeown等,“The ting teraa packet switchcore,”IEEE Micro,vol.171,Jan.-Feb.1997,pp.26-33;W.D.Zhong,Y.Shimazu,M.Tsukuda,and K.Yukimatsu,“A modular Tbit/s TDM-WDMphotonic ATM switch using optical buffers”IEICE通讯学报vol.E77-B,no.2,February 1994,pp.190-196。带电子控制的光开关磁芯(可看作是一个逻辑纵横接线器)是高容量开关的一个有吸引力的选择。在线速率为10Gb/s时,在40ns内必须处理64字节单元/包。
本领域的技术人员面对的一个重要问题是如何作出快速的决定,将高效地使用光缆芯。这种情况下的开关设计可能包括输入缓冲、输出缓冲或者两者都有。在具有输出缓冲的开关中,输出缓冲器要求存取速度大于开关的总吞吐量。作为一种选择,采用顶出结构以便于降低所需输出缓冲器的速度,这里一定数量的单元被输出缓冲器接受,其余的被丢掉。如下的文章中提出光顶出开关,Zhong,Y.Shimazu,M.Tsukuda,and K.Yukimatsu,“A modular Tbit/s TDM-WDM photonic ATMswitch using optical buffers”IEICE通讯学报vol.E77-B,no.2,February 1994,pp.190-196。由于每个输出要求几个光反向榕树网络和光缓冲器,因此开关复杂性高。
带有输入缓冲的开关以更为有效的方式使用缓冲器,而且需要的存储器带宽仅仅是线性速率的两倍。在一个带输入缓冲的简单方案中,所有的输入要求传输位于它们各自队列顶端的信息包。如果对同一输出端需要两个或多个的输入端,则随机地选取它们当中的一个。参见M.J.Karol,M.G.Hluchyj,和S.P.Morgan“Input vs.Output queuingon a space-division packet switch”IEEE通讯学报,vol.COM-35,no.12,December 1987,pp.1347-1356;其中表明在均匀业务量条件下输入缓冲算法可使开关达到0.587的吞吐量。在非均匀业务量条件下效率进一步地降低。在其他的几种调度方案中,除HOL(线头)信息包外的信息包也参与输出端口的竞争。参见R.Fan,M.Akiyama,和Y.Tanaka的“An input buffer-type ATM switching using schedulecomparison”日本电子与通讯,Part I,vol.74,no.11,1991,pp.17-25;S.Motoyama,D.W.Petr,和V.S.Frost的“Input-queuedswitch based on a scheduling algorithm”电子通讯,vol.31,no.14,July 1995,pp.1127-1128,和H.Obara的“Optimum architecture forinput queuing ATM switches”,电子通讯,vol.27,no.7,3月1991年,pp.555-557。在每个时隙里,一个入端向几个出端发送请求。在每个时隙仅4个请求的条件下,其效率可接近1。然而,此方案在高速情况下,多个请求/应答的调度在一个时隙内是不能被处理完成的(这里一个时隙表示一个信息包传输时间)。而且,在带热点的非均匀业务量条件下,由于入端各自独立地决定它们要请求哪一个出端,所以性能可能会降低。
如果开关控制器知道所有的输入-输出队列的状态,提高开关的性能是有可能的。此状态信息能够使开关控制器在一个时隙里提高同时传输的数目。在SLIP规程中,出端各自独立地向入端发送许可命令,这就导致一定的低效率。参见N.Mckeown,P.Varaiya,J.Walrand“Scheduling cells in an input-queued switch”电子通讯,vol.29,no.25,December 1993,pp.2174-2175。使用下文里讨论的算法,可在各输入端之间实现更好的协调,参见D.Guo,Y.Yemini,Z.Zhang的“Scalable high-speed protocols for WDM optical starnetworks”IEEE INFOCOM′94。然而,这些算法都有一个缺点,就是它们都要求用许多时隙来做调度决定。
发明内容
本发明的一个目的是要解决现有技术中的上述问题。特别是,本发明的一个目的是要提供一种方法,用兆太比特开关实现调度决定,此开关有效地使用光芯。本发明的更进一步目的是提供一种流水线结构,该结构实现循环式贪婪调度,同时在不提高内部速度的情况下提供良好的性能和满足严格的时间要求。
为了实现上述目的,提供一种在对采用循环式贪婪调度规程的N×N纵横接线器中确定一个时隙的方法,包括对应于N个出端的N个逻辑队列,根据此规程,入端处于全部输入-输出队列状态,规程的输出处于调度状态,本方法包括以下步骤选择与i=(常数-k-1)mod N相对应的入端,其中i是0到N-1范围内的一整数,表示入端序号;k是任意一个整数,表示时隙序号;如果没有多个入端,则停止,否则按i=(i+1)mod N确定的循环方式选择下个入端;选择出端j,使对(i,j)相应于集合C={(i,j)|从1到j至少有一信息包},其中j是0到N-1范围内的一整数,表示出端序号;如果对(i,j)存在,从入端集合去掉i,并从出端集合中去掉j;将对(i,j)加到调度中,并重复这些步骤;如果对(i,j)不存在,则从入端集合去掉i,并重复这些步骤。
本发明的另一方面是提供一种调度方法,其中在每个时隙里,同时进行N个不同的调度,以确定N个未来的时隙,本方法包括以下步骤使入端能以循环的方式在特定的未来时隙得到调度;在未来的第k个时隙由入端i选择出端;开始为未来的第k个时隙进行调度;确定下个入端(l+1)mod N,并把剩余的出端送至下个入端,剩余出端是指在第k个时隙可接收信息包的出端。
如果入端i是完成第k个时隙调度的最后一个入端,则此入端最好选择一个出端(如果可行),并将修改过的出端集合发送给下一入端;而且,如果入端l完成第k个时隙的调度,它不将出端集合发送给下个输入。
最好是一个并未从以前的入端收到修改过的出端集合的入端开始新的调度。
本发明的另一方面是提供一种对奇数个入端的流水线式循环贪婪调度方法,其中完成第i个时隙的过程包括初始化k(0,1)=k(1,1)=...k(N-1,1)=0,常数=N+1,其中,如果k(i,l)>0,是入端i在第i个时隙为其保留一个出端的时隙,il=(常数-N-1)mod N表示在第1个时隙开始新的调度的入端,而且k(i,l)=0意味着入端i在第l个时隙的动作受到阻止;设定Oi+N={0,1,,N-1},k(il,l)=1+N,k(i,l)=k((i-1)modN,l-1),0≤i≤N-1,而且i≠il;从集Ok(i,l)中以循环方式为入端i(0≤i≤N-1)选择一个出端j,此入端i有信息包要发送,假定k(i,l)≠0并从Ok(i,l)中将j删除;将选择的出端存于入端i(0≤i≤N-1)的联结存储器位置k(i,1)mod N处,并将相应的接收输入-输出队列的线头(HOL)信息包移到单独的发送输入-输出队列;并在入端i(0≤i≤N-1),而且i≠il-2 modN),将集合Ok(i,l)转送到下一入端(i+1)mod N;在入端i(0≤i≤N-1)和出端之间建立交叉连接,出端的地址是从入端i的联结存储器的位置(lmod(N+1))处读取的;通过开关芯为每个入端i(0≤i≤N-1)将位于调度过的发送输入-输出队列i顶端的剩余信息包发送出去。
最好将多信道调度信息包括在循环式贪婪调度算法中,其中以先进先服务的方式存储多信道信息包,而且比单信道队列具有优先权,在第l个时隙采取的步骤进一步包括在入端i(0≤i≤N-1)选择满足j∈Ok(i,1)∩BMi条件的所有出端j,并在第k个时隙通过所选择的出端将HOL多信道信息包传送出去。如果Ok(i,1)∩BMi是空集,则服务单信道队列,否则删除从Ok(i,l)和BMi中选择的出端;而且如果BMi是空集,则从多点队列中删除HOL多点信息包。
本发明的另一方面是对具有偶数个入端结构的流水线循环贪婪调度方法,其中,完成第l个时隙的过程包括初始化k(0,1)=k(1,1)=...k(N-1,1)=0,常数=N+1,其中,k(i,l)>0是入端i在第l个时隙保存有输出的时隙,il=(常数-N-1)mod N表示在第1个时隙开始一个新的调度的入端,而且k(i,l)=0意味着入端i在时隙l的动作被阻止;设置Ol-N={0,1,...,N-1},k(il,l)=l+N+1,k(mod(il+1)mod N,l)=k(il,l-2),而且k(i,l)=k((i-1)mod N,l-1),0≤i≤N-1并且i∉{il,(il+1)modN},]]>同时l不等于l1;在入端i(0≤i≤N-1)以循环方式从集合Ok(i,l)中选择一个出端j,此入端i有信息包发送,假定k(i,l)≠0并且从Ok(i,l)中删除j;在入端i(0≤i≤N-1)将选择的出端的地址存储于与入端的联结存储器的位置k(i,l)mod(N+1)处,并从相关的接收输入-输出队列的HOL信息包移到单独的发送输入-输出队列;将位于入端i(0≤i≤N-1,而且i=(il-2)mod N)的集合Ok(i,l)移向下一个入端(i+1)mod N,其中入端(il-2)mod N在移向下个入端前延迟集合Ok((il-2)mod N,1)的一个时隙;在入端i(0≤i≤N-1)和出端之间建立交叉联接,出端的地址是从入端i的联结存储器的位置(l mod(N+1))处读取的;通过开关芯为每个入端i(0≤i≤N-1)将位于调度过的发送输入-输出队列i顶端的剩余信息包发送出去。
最好使多点调度信息包括在循环式贪婪调度算法中,其中以先进先服务的方式存储多信道信息包,而且比单信道队列具有优先权,而在第i个时隙采取的步骤进一步包括在入端i(0≤i≤N-1)选择满足j∈Ok(i,1)∩BMi条件的j,并在第k个时隙通过所选择的出端将HOL多信道信息包传送出去。如果Ok(i,1)∩BMI是空集,则服务单信道队列,否则除了被选择的出端以外,从Ok(i,1)和BMI中被除去;而且如果BMi是空集,则将HOL多信道信息包从多信道队列中删除掉。
本发明的另一方面是用于调度N×N纵横接线器的一个N级流水线系统,其中级i与入端i相关,所述级i在未来时隙调度向输出的传输,所述未来时隙游历所有各级,其中与入端对应的流水线级同时进行调度,以便于没有两个入端在同一时间选择相同的未来时隙,选中的输出时隙是基于循环式的,其中,当某出端被某级选中后,就将此出端从可选的自由出端口中移去,以便于在一个时隙中流水线级不再选已经被选择的出端。
通过参考附图详细地描述最佳实施例,本发明的上述目的和优点就会变得更清楚,其中图1示出开关控制器(N=5)的最佳实施例时序图;图2示出开关控制器(N=4)的最佳实施例时序图;图3示出实现一个N×N纵横接线器的控制;图4示出根据分析和仿真结果实现RRGS,RGS,HOL,SLIP,和I-TDMA的平均信息包延迟的比较;图5A、B示出根据仿真结果在固定业务量(A)0.8和(B)0.9条件下TDMA,SLIP,RGS和RRGS的信息包延迟的互补分布函数;图6A-D示出在非均匀业务量条件下对应于RRGS,RGS,SLIP和I-TDMA的四组队列(A)G1(B)G2(C)G3和(D)整体的平均信息包延迟。
具体实施方式
按照本发明流水线结构实现“循环贪婪调度”(RRGS)。这是对随机贪婪调度(RGS)的修改和改进,参见R.Chipalkatti,Z.Zhang,和A.S.Acampora的“Protocols for optical star-coupler network usingWDMperformance and complexity study”,IEEE杂志通讯选集,vol.11,no.4,May 1993,pp.579-589;和D.Guo,Y.Yemini,Z.Zhang的“Scalable high-speed protocols for WDM optical star networks”,IEEE INFOCOM’94。本发明的规程能实现严格的时序要求而不提高内部的速度,同时保持了RGS的良好的性能。参见D.Guo,Y.Yemini,Z.Zhang的“Scalable high-speed protocols for WDM optical star networks”,IEEE INFOCOM’94。它几乎达到了100%的使用率,并同样很好地处理非均匀业务量的情况。
1.循环贪婪调度(RRGS)现在详细地描述最佳实施例。本发明中使用的规程称为RRGS规程。考虑一个N×N纵横接线器,其中,每个入端i(i∈{0,1,...,N-1}>有N个逻辑队列,相应于N个出端中的每一个。由所述接线器接收到的所有信息包都是固定长度的信元。RRGS规程的入端是全部输入-输出队列的状态。这样的入端可用如下的集合C所描述C={(i,j)/入端i至少有一个信息包要在出端j输出}。
规程的输出是一个使入端与出端相联系的调度。这样的集合S可描述如下S={(i,j)/信息包将被从入端i送到出端j}。
对于一个熟练技术人员来讲将会清楚,在每个时隙内,一个入端只能传送一个信息包,而且一个出端只能接收一个信息包。在这种条件下,任意第k个时隙的调度可按如下步骤确定步骤1)Ik={0,1,...,N-1}是所有入端集合,Ok={0,1,...,N-1}是所有出端集合。选择i=(常数-k-1)mod N。这样选择入端开始调度将使实现得以简化。
步骤2)如果Ik是空集,则停止。否则,根据i=(i+1)mod N以循环方式选择下一入端i。
步骤3)以循环方式从Ok中选取出端j,使(i,j)0Ck。如果不存在这样的出端,则从Ik中除去i,进到步骤2。
步骤4)从Ik中去掉入端i,并从Ok中去掉出端j,把(i,j)加到Sk中,进到步骤2。
上述规程明显地是对传统的RGS的改进。参见D.Guo,Y.Yemini,Z.Zhang的“Scalable high-speed protocols for WDM optical starnetworks”,IEEE INFOCOM’94。亦参见R.Chipalkatti,Z.Zhang,和A.S.Acampora的“Protocols for optical star-coupler network using WDMperformance and complexity study”,IEEE杂志通讯选集,vol.11,no.4,May 1993,pp.579-589,其中讲述了DAS算法。在传统的RGS中,入端和与之配对的出端都是随机地被选取的。然而,这样的一个随机的选取方案实现起来实际上是困难的。要说明的是,在每个时隙,N个信息包可从N个入端转送到N个出端。
在RRGS中对给定时隙的调度过程包括N步。在给定时隙(将来)的每步,一个入端从余下的出端中选择其一用于在所述时隙传输。每步包括从入端模块(IM)到循环(RR)判优程序、RR选择的请求、和从RR判优程序来的对IM的确认。入端选择出端的循环次序在每个时隙周期性地移位,以便保证所有入端平等地访问。
2.有奇数个入端的流水线化的RRGS在高的连接速度(如10Gb/s)下,在一个时隙内(假定信息包大小是64字节时为40ns)不能完成N步。随着日益增长的连接速度,用传统的技术在一个时隙内仅仅能完成一步。为了克服这个问题,本发明采用流水线逼近方法,其中,在每个时隙,为N个不同的时隙(将来的)同时进行N个不同的调度。对特定的调度的每一步仅涉及一个入端。在任何给定的时隙里,其它的入端同时对其它不同的未来时隙进行调度步骤。
定义当所有的N个步骤都完成时,也就是说,当所有的入端在Tk期间都有机会选择(顺序地或相反)一个出端用来传输时,我们称对未来时隙Tk的调度完成了。
虽然完成给定调度的N步需要N个时隙,采用流水线逼近方法通过并行地计算N个调度,就能够在一个时隙内完成N个不同调度的N步。但是,这等效于在每个时隙完成一个调度。在RRGS中,对入端而言以循环方式可对未来特定时隙进行调度。对于开始对未来的第k个时隙进行调度的入端i,以循环(RR)的方式选择出端,并传递到下个入端(i+1)mod N,则集合Ok指示在第k个时隙期间仍处于空闲可接收信息包的输出端口。任何由前面入端(i-1)mod N接收的入端i设定对第k个时隙适用的出端集合Ok,如果可能的话从此集合选择一个出端,并且如果入端i没有完成对第k个时隙Tk的调度,就将修改过的集合Ok传递给下个入端(i+1)mod N。完成第k个时隙调度的入端i不应该将修改过的集合Ok转到下个入端(i+1)mod N。这样,没有收到当前时隙的集合Ok的入端(i+1)mod N将在下个时隙开始(为新时隙)进行新的调度。RRGS的步骤1意味着在N个时隙里一个入端阻止向下传递集合Ok一次。不向下传递集合Ok的入端应是为第k个时隙选择出端的最后一个入端。
命题1如果入端(常数-k)mod N在第(k-1)个时隙里阻止向下传递集合Ok,而且入端数目N是奇数,则入端(常数-k)mod N完成第k个时隙的调度。
证明上述命题意味着
·在每个时隙里,所有N个入端都有机会为一个未来时隙调度传输。
·在每一个时隙,一个入端仅能为一个未来时隙调度传输。
·在每一个时隙,可使一个出端被调度成仅能从一个入端接收传输。
在第(k-1)个时隙,固定入端i=(常数-k)mod N,此入端阻止向下传递集合Ok。在这种情况下,前面N-1个入端的每个入端在第k个时隙内预定一个出端后必须将集合Ok向下传送。要说明的是在第(k-1-j)个时隙,入端(i+j)mod N不向下个入端转送集合Oi。另外,入端(i-j)mod N为第k个时隙预定一个出端。如果∀(1≤j≤(N-1))i-j≠i+jmodN⇔]]>∀(1≤j≤(N-1))2.j≠0modN⇔]]>N是奇数的话,则这样的调度是可行的。
由于入端I在第(k-N-1)个时隙不转送集合Ok-N,所以在第(k-N)个时隙为第k个时隙的调度是从入端(i+1)mod N开始的。
图1示出一个5×5的纵横接线器实施例的时序图。此图显示入端和用于它们选择其出端的时隙之间的关系。例如,在时隙T5,入端I正在调度或选择一个在时隙T10传输的出端,同时,I3正在为T9调度等等。在下个时隙T6,I1正在为T8调度等等。黑粗垂直线表示前面的入端完成了一个调度,而且下个入端将开始一个新的调度。如果入端是为相关的时隙选择出端的最后一个入端,则此入端就不向下一入端转送集合O。由于这种条件每N(=5)个时隙只发生一次,通过模N计数器,入端作出不向下转送集合O的决定。
最后,在第个时隙(例如当前时隙),由RRGS采取动作。Ok表示适合于第k个时隙的出端的集合。设k(i,l)>0表示入端i在第l个时隙预留出端的时隙。而且il(常数-N-1)mod N表示在第l个时隙开始一个新调度的入端。并且,K(i,l)=0意味着在时隙1入端i的动作受到阻止。调度程序需要正确的初始化。初始化的周期需要持续N个时隙。假定初始化过程在第一个时隙T1开始。通过设定k(0,1)=k(1,1)=...=k(N-1,1)=0,常数=N+1,使初始化过程开始。也就是说,在头N个时隙所有入端的动作都受到阻止,除非随后调整。还假定所有信息包以逻辑上分开的队列形式在入端排队,此形式叫做输入-输出队列,每个输出端口的一个队列防止HOL阻塞。另外,还提供接收输入-输出队列和传送输入-输出队列。
·Ol+N={0,1,,N-1}·k((il,l)=1+N,而且,k(i-l)=k((i-1)mod N,l-1),0≤i≤N-1,且i≠i1·入端i(0≤i≤N-1)以RR方式从集合Ok(i,l)中选择出端j,入端i有信息包要发送,给出k(i,l)≠0。(入端i(0≤i≤N-1,且i≠i1,),在前面时隙从入端(i-1)mod N接收Ok(i,l))。出端j从Ok(i,l)中被排除。
·入端i(0≤i≤N-1)将所选择的出端地址存于该入端的联接存储器的k(i,L)mod N处。将来自相应的接收输入输出队列的行信息包头移到单独的发送输入-输出队列。
·入端i(0≤i≤N-1,而且i≠(il-2)mod N)传送集合Ok(i,l)到下个入端(i+1)mod N。要说明的是仅N比特的信息需要被传递。
·在入端i(0≤i≤N-1)和出端之间建立一个交叉联接,并从入端i的联接存储器的位置(1 mod N)处读取出端的地址。
·对每个入端i(0≤i≤N-1),被调度的传输输入-输出队列的HOL信息包通过开关磁芯被发送。
3.有偶数个入端的流水线化的RRGS在有奇数个入端的方案中,如果入端是为未来时隙选择出端的最后一个入端,每个入端阻止调整过的集合Ok传送到下个入端(邻端),这样就完成了该时隙的调度。这种算法(为奇数N开发)的直接应用是导致某些入端用于调度不止一个未来时隙,而其它入端根本不参与调度。于是,为了控制有偶数个入端的开关,就要调整流水线技术。
命题1的证明推断出延迟控制信息而不是阻塞控制信息将意味着偶数个输入端。对于偶数入端的情况,每个入端在N个时隙里阻止将集合Ol到下个入端一次,而在下个时隙里入端从前个时隙获得的延迟一个时隙的集Ol传递下去。当入端传送延迟的集Ol时,它将不传递当前的集Ok。因此,入端i应是为第k个时隙选择出端的最后一个入端。
命题2如果入端(常数-k)mod N在第(k-2)个时隙延迟集Ol(并在第(k-1)个时隙传送它),而且入端数目N是偶数,那么入端(常数-k)mod N完成第k个时隙的调度。
证明固定入端(常数-k)mod N,它在第(k-2)个时隙延迟集合Ol,并在第(k-1)个时隙传送被延迟的集合Ol而不是集合Ok。这样,在第(k-1-j)个时隙,入端(i+j-1)mod N延迟集合Om,入端(i+j)mod N传送被延迟的集合On,在第(k-1-j)个时隙,入端(i-j)mod N为第k个时隙预留,并向下传递集Ok其中Ok给出i-j≠i+j mod N,而且i-j≠i+j-1mod N,这里的N满足0≤j≤N/2且N为偶数。在第(k-1-N/2)个时隙期间,入端(i-N/2)mod N存储Ok,导致没有入端可预留给第k个时隙。在第(k-2-N/2)个时隙,入端(i-N/2)为第k个时隙预留。在第(k-1-j)个时隙(N/2+2≤j≤N),入端(i-j+1)mod N为第k个时隙预留,并传送Ok,其中Ok给出i-j+1≠i+j mod N且i-j+1≠i+j-1 mod N,这里的N为偶数。
因此,第k个时隙的调度游历整个流水线,在完成前不被用户i中断。此调度在第(k-N-1)个时隙由用户(i+1)mod N启动,因为入端i在第(k-N-2)个时隙延迟控制信息。
图2示出一个4×4纵横接线器实施例的时序图,它示出偶数个入端的情况。长方形阴影表示控制信息O的延迟。黑粗垂线表示前面的入端完成调度,而下个入端将开始新的调度。
再者,对于入端为偶数的情况,在第1个时隙RRGS采取的动作是确定的。Ok表示第k个时隙可获得的出端的集合。设k(i,1)>0表示入端i在第1个时隙为入端i预留出端的时隙,而且il-(常数-N-1-1)modN表示在第1个时隙开始新调度的入端。设定K(i,1)=0意味着在时隙1入端i的动作受到阻止。调度程序需要正确的初始化。初始化周期持续N个时隙。假定初始化过程在第一个时隙T1开始。通过设置k(0,1)=k(1,1)=...=k(N-1,1)=0,常数=N+2,开始初始化过程。也就是说,在头N个时隙所有入端的动作都受到阻止,除非随后调整。
Ol+N+j={0,1,,N-1}k(il,l)=l+N+1,k(mod((il+1)modN,l)=k(il,l-2),且k(i,l)=k((i-1)mod N,l-1)0≤i≤N-1,且i∉{il,(il+1)modN}.]]>入端i(0≤i≤N-1)以RR方式从集合Ok(i,l)中选择出端j,入端i有信息包要发送,给出k(i,1)≠0(入端i(0≤i≤N-1,i≠il,),在前面时隙从入端(i-1)mod N接收集Ok(i,l))。出端j从Ok(i,l)中被排除。
入端i(0≤i≤N-1)将所选择的出端的地址存于入端的联接存储器位于k(i,l)mod(N+1)处。将来自于相应接收输入一输出队列的HOL信息包移到独立的发送输入-输出队列。
入端i(0≤i≤N-1,且i≠(il-2)mod N)传送集合Ok(i,l)到下个入端(i+1)mod N。入端((il-2)mod N在传递集合Ok((il-2)mod N,l)之前将它延迟一个时隙。
在入端i(0≤i≤N-1)和出端4之间建立一个交叉联接,出端4的地址是从入端i的联接存储器位置(l mod(N+1))处读取的。
对每个入端i(0≤i≤N-1),被在调度的传输输入-输出队列头部的保留信息包通过开关磁芯被发送。
4.多信道调度本发明的另一方面是包括多信道功能。多信道信息包存储在独立的队列里,其是以先入先服务的方式(FCFS方式)服务。每个队列有一个多信道位表(BM),它指明它的HOL信息包的目的地。在最简单的情形,多信道信息包将比单信道信息包有优先权。在第i个时隙进行的附加多信道操作如下·入端i(0≤i≤N-1)选择所有的出端j(例如j∈Ok(i,l)∩BMi)。HOL多信道信息包在第k个时隙将被传送到所选的出端。
·如果Ok(i,l)∩BMi是空集,单信道队列得到服务。否则,从Ok(i,l)和BMi中排除掉被选中的出端以外的出端。
·如果BMi是空的,就从多信道队列中删除HOL多信道信息包。
5.开关控制器的实现图3示出一个N×N光学纵横接线器所用的控制器。每个入端需要一个输入模块(3.11,3.21,3.31,...,3.N1),一个RR判定器和流水线式控制器(3.12,3.22,3.32,...3.N2),和一个连接存储器(3.13,3.23,3.33,...,3.N3)。输入模块(IM)以逻辑上分离的接收队列方式存储所接收的信息包,每个队列确定于一特定的输出。IM向与其相关的RR判定器发送请求。RR判定器选择一个在未来时隙为空闲的出端,并将有关所做的这种选择通知相应的入端和流水线式控制器。要说明的是对流水线的初始化过程确保在任何给定的时隙,没有两个判定器选择相同的未来时隙用于调度传输。输入模块把成功的信息包存储到独立的传输输入-输出队列。RR判定器也将其调度决定写入与之相关的联接存储器的特定存储位置。存储器中的位置由信息包调度用的时隙来确定。流水线控制器通知下个入端的RR判定器,所有还没有被某特定时隙预留的出端;更精确地讲,控制器禁止对这些预留的出端访问。如果某些入端不转发控制信息,则它的流水线控制器允许下个入端的RR判定器能够为未来时隙选择任何出端。
根据写入联接存储器中的调度,通过开关磁芯将来自输入模块的信息包转送到输出端模块。
6.性能比较在这部分,把iRRGS与有相似复杂性的其它规程进行比较。复杂性是以规程完成一个调度所需的时间来测定的。比较HOL、I-TDMA、SLIP、RGS和RRGS规程。参见K.Bogineni,K.M.Sivilingam,和P.W.Dowd的“Low-complexity multiple access protocols for wavelength-divisionmultiplexed photonic networks”IEEE杂志通信选集,vol.11,no.4,May 1993,pp.590-604;D.Guo,Y.Yemin,Z.Zhang的“Scalable high-speed protocols forWDM optical star networks”IEEE INFOCOM’94;M.J.Karol,M.G.Hluchyj,和S.P.Morgan的“Input vs.output queuing on a space-division packet switch”IEEE通信文集,vol.COM-35,no.12,December 1987,pp.1347-1356;和N.McKeown,P.Varaiya,J.Walrand的“Scheduling cells in an input-queuedswitch”电子通讯,vol.29,no.25,December 1993,pp.2174-2175。
对于入端排队开关的最简单的规程就是线头(HOL)规程,参见M.J.Karol,M.G.Hluchyj,和S.P.Morgan的“Input vs.output queuing on aspace-division packet switch”IEEE通信文集,vol.COM-35,no.12,December1987,pp.1347-1356。每个入端向合适的出端发送请求,要求传输HOL信息包。被请求的出端以循环方式向其中一个入端发出允许。在下个时隙,被允许的入端将信息包发送到相应的出端。
在间插的TDMA(I-TDMA)中,以固定的方式将出端指定给入端,参见K.Bogineni,K.M.Sivilingam,和P.W.Dowd的“Low-complexity multipleaccess protocols for wavelength-division multiplexed photonic networks”IEEE杂志通信选集,vol.11,no.4,May 1993,pp.590-604。时间划分为多个帧,传输调度被预先确定在帧的每个时隙中。依据它们的目的地将信息包存储在分立的队列中,并在预定的时隙发送。
参见N.McKeown,P.Varaiya,J.Walrand的“Scheduling cells in an input-queued switch”电子通讯,vol.29,no.25,December 1993,pp.2174-2175,该文提出采用slip(SLIP)迭代循环匹配。每个入端向所有的出端发送请求,入端有信息包发送给出端。被请求的出端以循环的方式向请求入端之一发出允许。接收到多个允许的入端以循环方式选择其中一个被允许的出端。从上个被选中的入端之后的位置处开始每个以循环方式进行的选择。
随机贪婪调度(RGS)同RRGS是相似的,除了前者用随机选择方式代替循环选择方式,参见D.Guo,Y.Yemini,Z.Zhang的“Scalable high-speedprotocols for WDM optical star networks”IEEE INFOCOM’94。控制器随机地选择入端队列,并随机地同未被配对的出端进行匹配。在高速情况下,不能在一个时隙内完成RGS;然而,我们评估它的性能,以便探究用循环方式选择代替随机方式选择所产生的影响。
图4分别为HOL、I-TDMA、SLIP、RGS和RRGS绘制了给定业务量的平均信息包延迟曲线。获得的分析性能结果和模拟结果吻合的很好。
图5示出在固定给定业务量条件下分别对应I-TDMA、SLIP、RGS、RRGS的信息包延迟互补分布函数。绘制的曲线是利用模拟的结果得到的。对于大多数业务量负荷下,RRGS的性能明显地超过I-TDMA和SLIP的性能。
图6示出对四个不同负载G1、G2、G3和G4的话务模型非均匀业务量的协议性能。
7.结论本发明提出一种并行循环方式调度程序,该程序用于快速入端缓冲的信息包开关。本发明的RRGS规程与复杂程度相似的其它规程相比具有更短的平均信息包延迟。信息包延迟分布没有严重的尾端。在非均匀业务量的条件下,与其它规程的延迟比较,负荷较轻的信息包延迟较长,但负荷较重的信息包具有明显短的延迟。
通过前面公开和教导的内容,有关本发明的其他改进和变形对本领域的技术人员来说都是显而易见的。因此,虽然这里只是具体地描述本发明的一些实施例,显然在不脱离本发明的精神和范围的条件下,可以进行许多变形。
权利要求
1.一种用于在循环贪婪调度规程的N×N纵横接线器中确定时隙的方法,所述规程在每个入端包括N个逻辑队列,对应于N个输出端口,所述规程的入端处于全输入-输出队列的状态,所述规程的出端处于调度状态,该方法包括a)选择与i=(常数-k-1)mod N相对应的入端,其中i是0到N-1范围内的一整数,表示入端序号;k是任意一个整数,表示时隙序号;b)如果没有多个入端,则停止,否则以按i=(i+1)mod N确定的循环方式选取下个入端;c)如果对(i,j)存在,选取出端j使对(i,j)属于集合C={(i,j)|从1到j至少有一个信息包},其中j是0到N-1范围内的一整数,表示出端序号;d)如果在步骤c)中对(i,j)不存在,将i从入端集中去掉,并进到步骤b);e)将i和j分别从入端集合和出端集合中去掉;f)将对(i,j)加到调度中,并进到步骤b)。
2.一种调度方法,其中在每个时隙,对N个不同未来时隙同时进行N个不同的调度,该方法包括a)为循环方式调度的入端,选择可用的一个特定的未来第k个时隙;b)确定一出端,该出端可接收在未来的第k个时隙的信息包,而且在未来的第k个时隙,入端i将发送信息包到该出端;c)通过对入端i分派(i+1)mod N,确定下个入端,并把在第k个时隙期间可以接收信息包的剩余出端发送到下个入端;以及d)重复b)和c)直到所有的入端被访问以致完成第k时隙调度,其中i是0到N-1范围内的一整数,表示入端序号;k是任意一个整数,表示时隙序号。
3.如权利要求
2所述的方法,其中如果入端i没有完成第k个时隙的调度,选择一个出端,并将修改过的出端集合发送到下个入端;如果入端i完成第k个时隙的调度,则此入端就不将出端集合发送到下个入端。
4.如权利要求
3所述的方法,其中一个并未从上个入端接收到修改过的出端集合的入端开始一个新的调度。
5.一种用于奇数个入端的流水线循环贪婪调度的方法,其中完成第i个时隙的过程包括e)初始化k(0,1)=k(1,1)=...k(N-1,1)=0,常数=N+1,其中,k(i,l)>0是入端i在第l个时隙预留有出端的时隙,il=(常数-N-1)mod N表示在第l个时隙开始新的调度的入端,而且k(i,l)=0意味着入端i在时隙l的动作受到阻止;f)设置Ol+N={0,1,,N-1},k(il,l)=l+N,k(i,l)=k((i-1)modN,l-1)其中0≤i≤N-1,而且i≠il;g)在入端i,0≤i≤N-1,以循环方式从集合Ok(i,l)中选择一个出端j,此入端有信息包要发送,假定k(i,l)≠0,并从集合Ok(i,l)中排除j;h)在入端i,0≤i≤N-1,将所选择的出端地址存于入端i的联结存储器的位置k(i,l)mod N处,并将来自相应的接收输入-输出队列的信息包线头(HOL)移到单独的发送输入-输出队列;i)将位于入端i,0≤i≤N-1,而且i≠(il-2)mod N的集合Ok(i,l)传递到下个入端(i+1)mod N;j)在入端i,0≤i≤N-1,和出端间建立交叉联接,所述出端的地址是从入端i的联接存储器的位置(l mod (N+1))处读取的;k)对每个入端i,0≤i≤N-1,通过开关磁芯将位于调度的发送输入-输出队列i头的预留的信息包发送出去,
6.一种用于偶数个入端的流水线循环贪婪调度的方法,其中为第i个时隙调度的过程包括l)初始化k(0,1)=k(1,1)=...k(N-1,1)=0,常数=N+1,其中,k(i,l)>0是入端i在第l个时隙预留有出端的时隙,il=(常数-N-1)mod N表示在第l个时隙开始新的调度的入端,而且k(i,l)=0意味着入端i在时隙l的动作受到阻止;m)设置Ol+N={0,1,,N-1},k(il,l)=l+N+1,k(mod(il+1)modN,l)=k(il,l-2),而且k(i,l)=k((i-1)mod N,l-1)其中0≤i≤N-1,而且(il+1)mod N),而且i∉{(il,(il+1)modN};]]>n)在入端i,0≤i≤N-1,以循环方式从集合Ok(i,l)中选择一个出端j,该入端有信息包要发送,假定k(i,l)≠0,并从集合Ok(i,l)中排除j;o)在入端i,0≤i≤N-1,将所选择的出端地址存于它的联接存储器的位置k(i,l)mod(N+1)处,并将来自于相应的接收输入-输出队列的OHL信息包移到单独的发送输入-输出队列;p)在入端i,0≤i≤N-1,而且i=(il-2)mod N将集合Ok(i,l)传递到下个入端(i+1)mod N,其中,入端(il-2)mod N在传递集合Ok(il-2)mod N,1)之前将其延迟一个时隙;q)在入端i,0≤i≤N-1,和出端间建立交叉联接,所述出端的地址是从入端i的联接存储器的位置(l mod (N+1))处读取的;r)对每个入端i,0≤i≤N-1,通过开关磁芯将位于调度的发送输入-输出队列头的预留的信息包发送出去。
7.如权利要求
5所述的方法,其中在循环贪婪算法中包括多信道调整度,其中多信道信息包以先进先服务的方式被存储,而且多信道队列比单信道队列有优先权,在第i个时隙的步骤进一步包括s)在入端i,0≤i≤N-1,选择所有的出端j,使j∈Ok(i,l)∩BMi,在第k个时隙将HOL多信道信息包传送到所选的出端;t)如果Ok(i,l)∩BMi是空集,单信道队列得到服务,否则,从Ok(i,l)和BMi中排除掉被选中的出端以外的出端;u)如果BMi是空的,就从多信道队列中删除掉HOL多信道信息包。
8.根据权利要求
6所述的方法,其中在循环贪婪调度算法中包括多信道调度,其中多信道信息包以先进先服务的方式被存储,且比单信道队列有优先权,在第i个时隙的步骤进一步包括v)在入端i,0≤i≤N-1,选择所有的出端j,使满足j∈Ok(i,l)∩BMi。w)在第k个时隙将HOL多信道信息包传送到所选的出端。x)如果Ok(i,l)∩BMi是空集,则服务单信道队列,否则,从Ok(i,l)和BMi中排除掉被选中的出端以外的出端。y)如果BMi是空的,就从多信道队列中删除掉HOL多信道信息包。
9.一种用于调度N×N纵横接线器的N级流水线系统,这里级i与入端i相关,在未来时隙向出端传输所述级i调度,所述未来时隙脉冲通过整个全部级,其中与所有入端对应的流水线级同时进行调度,以便没有两个入端在同一时间选择相同的未来时隙,选中的时隙是基于循环方式的,其中当一个出端被一级选中后,就将此出端从可选的自由出端口中移去,以便于时隙中流水线级不再选已经被入端在一个时隙选择的出端。
专利摘要
本发明的循环贪婪调度(RRGS)采用流水线技术可在太比特吞吐量下实现优化调度。流水线逼近法避免对开关结构内部速度的需求而达到高使用率。采用循环贪婪调度规程的N×N 纵横接线器中确定时隙的方法包括相对于i=(常数-k-1)mod N选择入端,如果对(i,j)存在,选择出端j,使对(i,j)属于集合C={(i,j)|从1到j至少有一个信息包}。如果对(i,j)不存在,将入端i从入端集合中去掉,并重复所述步骤;从入端集合去掉i,并从出端集合去掉j;把对(i,j)加到调度并重复所述步骤。
文档编号H04Q11/04GKCN1197275SQ99110823
公开日2005年4月13日 申请日期1999年7月22日
发明者拉马穆尔蒂·戈帕拉克里希南, 范瑞学, 斯米利亚尼奇·亚历山德拉 申请人:日本电气株式会社导出引文BiBTeX, EndNote, RefMan