CN1819523A - 并行交换开关设计方法 - Google Patents
并行交换开关设计方法 Download PDFInfo
- Publication number
- CN1819523A CN1819523A CN 200610031239 CN200610031239A CN1819523A CN 1819523 A CN1819523 A CN 1819523A CN 200610031239 CN200610031239 CN 200610031239 CN 200610031239 A CN200610031239 A CN 200610031239A CN 1819523 A CN1819523 A CN 1819523A
- Authority
- CN
- China
- Prior art keywords
- cell
- crossbar
- pointer
- voq
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
本发明公开了一种能够维持负载均衡、保证信元顺序、简单高效的并行交换开关设计方法。技术方案是并行交换开关由N个输入控制器、m个低速输入缓存Crossbar交换开关和N个输出控制器组成。每个输入控制器包含N个虚拟输出队列VOQ和一个负载分配器。VOQ是信元缓存器,保存输入信元;负载分配器维持负载均衡,确定每个时间槽向Crossbar交换开关发送的信元,它由信元分配请求产生器、Crossbar状态监视器、输入轮询指针产生器和信元分配仲裁逻辑组成。每个输出控制器包括mN个虚拟输入队列VIQ和一个信元整合器,VIQ是信元缓存器,到达输出控制器的信元首先在VIQ队列排队;信元整合器进行信元重组,且在不同流之间提供公平服务,它由信元重组请求产生器、输出轮询指针产生器和信元重组仲裁逻辑组成。
Description
技术领域
本发明涉及网络交换设备中的交换开关设计方法,特指一种基于输入缓存交叉开关(Crossbar)的并行交换开关设计方法。
背景技术
交换开关是网络交换设备的核心部件,负责将输入信元传送到输出端口。目前,集中式输入缓存crossbar交换开关得到广泛应用。它包含若干输入端口和输出端口,由调度器确定输入输出端口之间的连接关系,将信元从输入端口交换到输出端口。
为适应应用需求,网络交换设备向更高端口速率和更大规模发展,这将极大地增加集中式交换开关的设计难度。首先,高速端口导致调度器工作周期的缩短,需要在短时间内对各输入端口的交换请求完成仲裁;其次,调度器的复杂度为O(N·logN),N为交换开关端口数量,端口数量的增加将加大调度器的复杂度,使得大规模高速集中式输入缓存crossbar交换开关的设计与实现变得非常困难,对器件提出极高要求,造成很高的开发成本。
并行交换开关有效地解决了上述问题,它使用并行工作的低速交换开关实现高性能交换,具有很好的可扩展性,能够满足大规模高速网络交换设备对交换能力的要求。并行交换开关由N个输入控制器、m个低速交换开关和N个输出控制器组成。输入控制器将输入信元分配到低速交换开关,实现负载均衡。低速交换开关并行工作,独立处理分配的数据。输出控制器完成信元重组,将重组后的信元输出到外部线路。
并行交换开关必须具有以下特点:
(1)负载均衡分配。将输入信元均匀分配到各个低速交换开关,提高系统并行性能,实现高速交换;
(2)信元保序。保证信元按照输入顺序输出并行交换开关,避免信元乱序;
(3)复杂度低,易于实现。
研究人员针对并行交换开关进行了大量工作,基于不同类型低速交换开关,采用不同输入控制器和输出控制器,提出多种并行交换开关结构。S.Iyer在论文“Analysis ofthe Parallel Packet Switch Architecture”(发表于IEEE/ACM Transactions onNetworking,2003(11),April:314~324)中提出PPS(Parallel Packet Switch)并行交换开关,PPS使用输出缓存交换开关作为低速交换模块,实现100%吞吐量,并能够提供延时保证。W.Wang在发表于IEEE INFOCOM 2002会议的“A distributed switcharchitecture with dynamic load-balancing and parallel input-queued crossbars forterabit switch fabrics”论文中提出ADSA(Advanced Distributed SwitchArchitecture)并行交换开关。ADSA的低速交换模块为输入缓存交换开关,输入控制器向低速交换开关发送交换请求,低速交换开关根据内部调度器的仲裁结果返回确认,输入控制器依据确认信息输出相应信元。信元经过低速交换开关到达输出控制器,完成信元重组后,输出到外部链路。ADSA具有较高交换性能,实现难度相对较小。
以上成果促进了并行交换开关技术的发展,但也存在不足之处。PPS研究的着眼点是从理论上探讨并行交换开关提供100%吞吐量和延时保证的可能性,它对低速交换模块要求高,需要使用输出缓存交换开关,由于输出缓存交换开关可扩展性差,对存储器带宽要求高,难以适应高速网络的速率要求。因此,PPS实现难度大,不易实际应用。
ADSA的输入控制器与低速交换开关之间采用请求-确认工作方式,既增加了通信开销,也加大了同步难度,而且还要求使用专用低速交换开关。其次,ADSA在一个仲裁周期内可能将属于同一条流的多个信元发送到低速交换开关,这一方面增加输入端口缓存带宽的需求,另一方面还会导致信元乱序,输出端口需要使用时间戳和PIFO队列重组报文,造成额外的带宽开销,增加了实现代价。
发明内容
本发明要解决的技术问题在于:针对并行交换开关负载均衡分配和信元保序问题,提出一种能够维持负载均衡、保证信元顺序、简单高效的并行交换开关设计方法,以适应大规模高速网络交换设备的发展需求。
本发明的技术方案为:端口速率为R的并行交换开关PSC(Parallel Switch based onCrossbars)由N个输入控制器、m个加速比为1(端口速率为R/m)的低速输入缓存Crossbar交换开关和N个输出控制器组成。报文进入PSC并行交换开关之前首先被分割成定长信元,PSC接收一个信元所需时间称为一个时间槽。定义具有相同输入端口i和输出端口j的信元集合为一条流,记为(i,j)。输入控制器负责接收信元,以轮询方式将信元均匀分配到Crossbar交换开关,保证负载均衡;各Crossbar交换开关并行工作,独立完成信元交换;输出控制器则按照信元的分配顺序重组信元,提供信元保序支持。
每个输入控制器由一片FPGA实现,它包含N个虚拟输出队列VOQ(Virtual OutputQueue)和一个负载分配器。VOQ队列是信元缓存器,可以采用FPGA片内存储器或外接存储器实现,用于保存输入信元,输入控制器i接收目的端口为j的信元后,将它加入VOQ(i,j)队列尾,0≤i,j≤N-1。
负载分配器进行负载均衡,确定每个时间槽向Crossbar交换开关发送的信元,它由信元分配请求产生器、Crossbar状态监视器、输入轮询指针产生器和信元分配仲裁逻辑组成。
如果VOQ(i,j)队列非空,信元分配请求产生器将当前请求的相应位置为有效,即REQi[j]=1。
Crossbar状态监视器检查当前时间槽输入控制器与Crossbar交换开关之间的链路是否空闲,如果空闲,置位空闲指示的相应位,表示输入控制器可以发送信元。Crossbar状态监视器包括m个计数器和m个比较器,对应不同Crossbar交换开关。初始化时,将所有计数器赋值为0。向某个Crossbar交换开关发送信元后,将相应计数器置为m,以后每个时间槽计数器减1,直至等于0。如果计数器等于0,表示链路空闲。
输入轮询指针产生器负责维护两类指针,第一类为VOQ轮询指针PRR,指示具有最高优先级的VOQ队列;另一类为Crossbar轮询指针PVOQ,每个VOQ队列均有一个对应的指针,指示队列头信元的目标Crossbar交换开关。输入轮询指针产生器向信元分配仲裁逻辑提供这两类指针,用于负载调度,并根据仲裁结果修改指针。PRR为模N的加法器,而PVOQ为模m的加法器,初始化时均赋值为0。
信元分配仲裁逻辑进行负载分配,根据信元分配请求产生器、Crossbar状态监视器和输入轮询指针产生器的输入,为VOQ队列头信元选择Crossbar交换开关,产生仲裁结果,包括信元发送控制信号GntIn和GntCrb。如果GntIn=i,GntCrb=j,表示将第i个VOQ队列头信元发送到交换开关j。
负载分配采用迭代方式调度信元,按照轮询顺序将输入信元分配到不同Crossbar交换开关。负载分配过程是:
第一步.根据VOQ轮询指针PRR确定本次调度处理的起始VOQ队列start;
第二步.迭代N次:
第(1)步:处理VOQ队列start。如果队列非空,根据Crossbar轮询指针PVOQ选择处理队列头信元的Crossbar交换开关C,若交换开关C的输入端非空闲,继续第(2)步。否则,选择将队列头信元发送到C,修改Crossbar轮询指针:PVOQ=(PVOQ+1)mod m,如果是第一次迭代,修改VOQ轮询指针:PRR=(PRR+1)modN,mod为求模运算。
第(2)步:start=(start+1)mod N,继续下一次迭代。
每个输出控制器由一片FPGA实现,它包括(m·N)个虚拟输入队列VIQ(Virtual InputQueue)和一个信元整合器。VIQ队列是信元缓存器,可以采用FPGA片内存储器或外接存储器实现,到达输出控制器的信元首先在VIQ队列排队,如果信元的输入端口为i,输出端口为j,经过第l个Crossbar交换开关到达输出端口,它将进入VIQ(i,j,1)队列,0≤i,j≤N-1,0≤l≤m-1。m个连续队列VIQ(i,j,0),VIQ(i,j,1),...,VIQ(i,j,m-1)队列保存所有属于流(i,j)的信元,称之为VIQ流组,记作VIQ(i,j)。如果VIQ流组非空,则称队列头信元组成一个完整块,否则为非完整块。信元整合器对信元进行重组,恢复信元原有顺序。它由信元重组请求产生器、输出轮询指针产生器和信元重组仲裁逻辑组成。
信元重组请求产生器根据VIQ流组是否包含完整块产生不同的调度请求,如果流(i,j)有完整块等待输出,那么REQi[j]=1,否则,REQi[j]=0。
输出轮询指针产生器维护三类指针,第一类为完整块轮询指针PFB,指示在包含完整块的流中具有最高优先级的流;第二类为非完整块轮询指针PNFB,指示在包含非完整块的流中具有最高优先级的流;第三类为VIQ队列轮询指针Pf,每个VIQ流组对应一个指针,指示下一个应该处理的VIQ队列。输出轮询指针产生器向信元重组仲裁逻辑提供这三类指针,用于重组信元,并根据仲裁结果修改指针。PFB和PNFB为模N的加法器,而Pf为模m的加法器,初始化时均赋值为0。
信元重组仲裁逻辑对信元进行重组,即根据信元重组请求REQi、完整块轮询指针PFB、非完整块轮询指针PNFB和VIQ队列轮询指针Pf,选择输出信元,产生仲裁结果,包括GntIn、GntOut和GntCrb信元发送控制信号。如果GntIn=i,GntOut=j,GntCrb=l,则表示从第l个VIQ队列开始,连续输出m个属于流(i,j)的信元。信元重组仲裁逻辑以m个时间槽作为一个工作周期,在每个工作周期可最多选择m个信元输出到外部线路。
对信元进行重组的方法是:
第一步.确定处理的流f
(1)如果REQi≠0,即输出控制器收到完整块,那么从完整块轮询指针PFB开始选择第一个具有完整块的流f,并修改PFB:PFB=(f+1)modN
(2)如果输出控制器尚未收到完整块,将PNFB作为处理的流,修改PNFB:PNFB=(PNFB+1)modN。
第二步.如果流f的Crossbar轮询指针Pf所指VIQ队列非空,发送队列头信元,Pf=(Pf+1)modm,继续处理下一个信元。如果VIQ队列空或者已发送m个信元,处理结束。
Crossbar交换开关完成信元的实际交换,它将影响并行交换开关的系统性能和实现的难度,因此要求Crossbar交换开关使用简单高效、吞吐量高、公平的调度算法。本发明建议采用iSLIP或ISP(Input Serial Polling Algorithm)调度算法。
并行交换开关的设计目标是使用多个并行工作的低速交换开关,获得与集中式交换开关相近的性能。以集中式输入缓存Crossbar交换开关作为参考对象,通过仿真实验分析PSC并行交换开关的吞吐量和信元平均延时等性能,发现PSC与集中式输入缓存Crossbar交换开关的性能相当,它具有较高的吞吐量,在配置16个低速交换开关数时,PSC的吞吐量达到集中式交换开关的99.7%以上。虽然平均延时较长,但平均延时的增加对端到端延时的影响很小,能够满足应用需求。
采用本发明可以取得以下技术效果:
(1)PSC的低速Crossbar交换开关加速比为1,它的端口速率为PSC外部端口速率的1/m,输出控制器也是以m个时间槽为工作周期,与Crossbar交换开关具有相同的工作周期,解决了集中式交换开关调度器以单个时间槽为工作周期,仲裁时间短,实现难度高的问题。而且,Crossbar交换开关与输出控制器的工作频率与交换开关数量成反比,随着交换开关数量的增加,其实现难度进一步降低。与PPS相比较,PSC对构成并行交换开关的低速交换模块要求低,充分利用输入缓存Crossbar实现简单、可扩展性好的特点;
(2)输入控制器与输出控制器采用协同工作方式,均按照模N加1的顺序分配或重组信元,既保证负载均衡,又不需要任何额外开销实现信元保序。另外,输出控制器为同一条流经过不同Crossbar交换开关到达输出端的信元设置独立的VIQ队列,只需按序重组信元,克服了ADSA要求使用PIFO(Pushed In First Out)等复杂队列管理机制的缺点,降低了PSC的实现难度;
(3)具有良好的性能。性能分析表明,PSC的吞吐量和信元平均延时与集中式交换开关基本相当,适合于实际应用;
(4)可扩展性好。模拟结果显示,Crossbar交换开关的增加对系统性能影响小,因此,可以通过增加低速交换开关的数量,实现更高性能、更大规模的并行交换开关。
附图说明
图1是并行交换开关一般结构图;
图2是本发明并行交换开关PSC结构图;
图3是本发明输入控制器结构图;
图4是本发明负载分配流程图;
图5是本发明输出控制器结构图;
图6是本发明信元重组流程图;
图7是PSC与集中式Crossbar交换开关吞吐量比较图;
图8是PSC与集中式Crossbar交换开关信元平均延时比较图。
具体实施方式:
图1是并行交换开关一般结构图,它由N个输入控制器、m个低速交换开关和N个输出控制器组成。输入控制器将输入信元分配到低速交换开关,实现负载均衡。低速交换开关并行工作,独立处理分配的数据。输出控制器完成信元重组,将重组后的信元输出到外部线路。
图2是本发明并行交换开关PSC结构图。PSC并行交换开关由N个输入控制器、m个加速比为1(即端口速率为R/m)的输入缓存Crossbar交换开关和N个输出控制器组成。输入控制器负责接收信元,以轮询方式将信元均匀分配到Crossbar交换开关,保证负载均衡,每个输入控制器包含N个虚拟输出队列VOQ和一个负载分配器。各Crossbar交换开关并行工作,独立完成信元交换。输出控制器按照信元的分配顺序重组信元,提供信元保序支持,每个输出控制器包括(m·N)个虚拟输入队列VIQ和一个信元整合器。
图3是本发明输入控制器结构图。输入控制器i(0≤i≤N-1)采用一片FPGA实现,它包含N个虚拟输出队列VOQ和一个负载分配器。VOQ队列是FPGA片内存储器,保存输入信元,输入控制器i接收目的端口为j的信元后,将它加入VOQ(i,j)队列尾,0≤i,j≤N-1。
负载分配器确定每个时间槽向Crossbar交换开关发送的信元,它由信元分配请求产生器、Crossbar状态监视器、输入轮询指针产生器和信元分配仲裁逻辑组成。
如果VOQ(i,j)队列非空,信元分配请求产生器将当前请求的相应位置为有效,即REQi[j]=1。
Crossbar状态监视器检查当前时间槽输入控制器与Crossbar交换开关之间的链路是否空闲,如果空闲,置位空闲指示的相应位,表示输入控制器可以发送信元。Crossbar状态监视器包括m个计数器和m个比较器,对应不同Crossbar交换开关。初始化时,将所有计数器赋值为0。向某个Crossbar交换开关发送信元后,将相应计数器置为m,以后每个时间槽计数器减1,直至等于0。如果计数器等于0,表示链路空闲。
输入轮询指针产生器负责维护两类指针,第一类为VOQ轮询指针PRR,指示具有最高优先级的VOQ队列;另一类为Crossbar轮询指针PVOQ,每个VOQ队列均有一个对应的指针,指示队列头信元的目标Crossbar交换开关。输入轮询指针产生器向信元分配仲裁逻辑提供这两类指针,用于负载调度,并根据仲裁结果修改指针。PRR为模N的加法器,而PVOQ为模m的加法器,初始化时均赋值为0。
信元分配仲裁逻辑进行负载分配,根据信元分配请求产生器、Crossbar状态监视器和输入轮询指针产生器的输入,为VOQ队列头信元选择Crossbar交换开关,产生仲裁结果,包括信元发送控制信号GntIn和GntCrb。如果GntIn=i,GntCrb=j,表示将第i个VOQ队列头信元发送到交换开关j。
图4是本发明负载分配流程图,它的处理过程是:
第一步.根据VOQ轮询指针PRR确定本次调度处理的起始VOQ队列start;
第二步.迭代N次:
第(1)步:处理VOQ队列start。如果队列非空,根据Crossbar轮询指针PVOQ选择处理队列头信元的Crossbar交换开关C,若交换开关C的输入端非空闲,继续第(2)步。否则,选择将队列头信元发送到C,修改Crossbar轮询指针:PVOQ=(PVOQ+1)modm,如果是第一次迭代,修改VOQ轮询指针:PRR=(PRR+1)modN,mod为求模运算。
第(2)步:start=(start+1)mod N,继续下一次迭代。
图5是本发明输出控制器结构图。输出控制器j(0≤j≤N-1)由一片FPGA实现,它包括(m·N)个虚拟输入队列VIQ、信元重组请求产生器、输出轮询指针产生器和信元重组仲裁逻辑。VIQ队列是FPGA片内存储器,到达输出控制器的信元首先在VIQ队列排队,如果信元的输入端口为i,输出端口为j,经过第l个Crossbar交换开关到达输出端口,它将进入VIQ(i,j,1)队列,0≤i,j≤N-1,0≤l≤m-1。显然,m个连续队列VIQ(i,j,0),VIQ(i,j,1),...,VIQ(i,j,m-1)队列保存所有属于流(i,j)的信元,称之为VIQ流组,记作VIQ(i,j)。如果VIQ流组非空,称队列头信元组成一个完整块,否则为非完整块。
信元重组请求产生器根据VIQ流组是否包含完整块产生不同的调度请求,如果流(i,j)有完整块等待输出,那么REQi[j]=1,否则,REQi[j]=0。
输出轮询指针产生器维护三类指针,第一类为完整块轮询指针PFB,指示在包含完整块的流中具有最高优先级的流;第二类为非完整块轮询指针PNFB,指示在包含非完整块的流中具有最高优先级的流;第三类为VIQ队列轮询指针Pf,每个VIQ流组对应一个指针,指示下一个应该处理的VIQ队列。输出轮询指针产生器向信元重组仲裁逻辑提供这三类指针,用于重组信元,并根据仲裁结果修改指针。PFB和PNFB为模N的加法器,而Pf为模m的加法器,初始化时均赋值为0。
信元重组仲裁逻辑对信元进行重组,根据信元重组请求REQi、完整块轮询指针PFB、非完整块轮询指针PNFB和VIQ队列轮询指针Pf,选择输出信元,产生仲裁结果,包括GntIn、GntOut和GntCrb信元发送控制信号。如果GntIn=i,GntOut=j,GntCrb=l,则表示从第l个VIQ队列开始,连续输出m个属于流(i,j)的信元。信元重组仲裁逻辑以m个时间槽作为一个工作周期,在每个工作周期可最多选择m个信元输出到外部线路。
图6是本发明信元重组流程图,它包括以下处理过程:
第一步.确定处理的流f
(1)如果REQi≠0,即输出控制器收到完整块,那么从完整块轮询指针PFB开始选择第一个具有完整块的流f,并修改PFB:PFB=(f+1)mod N
(2)如果输出控制器尚未收到完整块,将PNFB作为处理的流,修改PNFB:PNFB=(PNFB+1)modN。
第二步.如果流f的Crossbar轮询指针Pf所指VIQ队列非空,发送队列头信元,Pf=(Pf+1)modm,继续处理下一个信元。如果VIQ队列空或者已发送m个信元,处理结束。
图7给出不同负载条件下,包含不同数量低速Crossbar交换开关的PSC相对于集中式交换开关的吞吐量。图中参数N表示交换开关端口数,m表示低速交换开关数,纵坐标是相对吞吐量,定义为在模拟时间段内,PSC交换的信元数与集中式交换开关的比值。从图中可以看到,PSC具有较高吞吐量,与集中式交换开关基本相当。由于负载均衡是影响PSC吞吐量的关键因素,因此分析结果表明输入控制器能够均衡分配负载,有效避免系统内部的低速交换开关出现热点。其次,PSC的吞吐量与低速交换开关数相关,增加低速交换开关将导致PSC吞吐量的减小。这是因为内部交换开关的工作速率与其数量成反比,随着低速交换开关数的增加,PSC的实现难度降低,但是,更多的低速交换开关可能引起负载分配均衡度的下降,进而影响系统吞吐量。当然,这种影响并不显著,例如,在配置16个低速交换开关数时,PSC的相对吞吐量仍保持在0.997以上。
图8是不同负载条件下,包含不同数量低速Crossbar交换开关的PSC与集中式交换开关的信元平均延时比较图。平均延时以时间槽为单位,是信元在输入控制器、Crossbar交换开关、和输出控制器的延时之和。图中参数N表示交换开关端口数,m表示低速交换开关数。该图显示,PSC的信元平均延时高于集中式交换开关,而且平均延时差随着低速交换开关数量的增加而增大。这是因为信元在Crossbar交换开关的延时占总延时的很大比例,而前者是由于输入缓存交换开关的输入端口冲突和输出端口冲突造成的,解决冲突所需时间与交换开关工作速率紧密相关。PSC基于低速输入缓存交换开关完成信元交换,因此平均延时较长。随着交换开关数的增加,其工作速率进一步降低,从而导致平均延时的增加。但是,在高速网络交换设备中,随着端口速率的提高,时间槽长度变短,例如,在OC768链路中,满负载情况下增加的平均延时为30us,远小于实时应用所需的端到端毫秒级延时要求,因此,平均延时的增加对端到端延时的影响很小,能够满足应用需求。
Claims (6)
1.一种并行交换开关设计方法,采用该方法设计的并行交换开关由N个输入控制器、m个低速交换开关和N个输出控制器组成,输入控制器将输入信元分配到低速交换开关,实现负载均衡,低速交换开关并行工作,独立处理分配的数据,输出控制器完成信元重组,将重组后的信元输出到外部线路;其特征在于若设计端口速率为R的并行交换开关PSC,低速交换开关采用m个加速比为1的低速输入缓存Crossbar交换开关;每个输入控制器包含N个虚拟输出队列VOQ和一个负载分配器,VOQ队列是信元缓存器,用于保存输入信元,输入控制器i接收目的端口为j的信元后,将它加入VOQ(i,j)队列尾,0≤i,j≤N-1;负载分配器确定每个时间槽向Crossbar交换开关发送的信元,它由信元分配请求产生器、Crossbar状态监视器、输入轮询指针产生器和信元分配仲裁逻辑组成;每个输出控制器包括(m·N)个虚拟输入队列VIQ和一个信元整合器,VIQ队列是信元缓存器,到达输出控制器的信元首先在VIQ队列排队,如果信元的输入端口为i,输出端口为j,经过第l个Crossbar交换开关到达输出端口,它将进入VIQ(i,j,l)队列,0≤i,j≤N-1,0≤l≤m-1,m个连续队列VIW(i,j,0),VIQ(i,j,1),…,VIQ(i,j,m-1)队列保存所有属于流(i,j)的信元,称为VIQ流组,记作VIQ(i,j),如果VIQ流组非空,那么队列头信元组成一个完整块,否则为非完整块;信元整合器对信元进行重组,恢复信元原有顺序,它由信元重组请求产生器、输出轮询指针产生器和信元重组仲裁逻辑组成。
2.如权利要求1所述的并行交换开关设计方法,其特征在于如果VOQ(i,j)队列非空,信元分配请求产生器将当前请求的相应位置为有效,即REQi[j]=1;Crossbar状态监视器检查当前时间槽输入控制器与Crossbar交换开关之间的链路是否空闲,如果空闲,置位空闲指示的相应位,表示输入控制器可以发送信元,Crossbar状态监视器包括m个计数器和m个比较器,对应不同Crossbar交换开关,初始化时,将所有计数器赋值为0,向某个Crossbar交换开关发送信元后,将相应计数器置为m,以后每个时间槽计数器减1,直至等于0,如果计数器等于0,表示链路空闲;输入轮询指针产生器负责维护两类指针,第一类为VOQ轮询指针PRR,指示具有最高优先级的VOQ队列;另一类为Crossbar轮询指针PVOQ,每个VOQ队列均有一个对应的指针,指示队列头信元的目标Crossbar交换开关;输入轮询指针产生器向信元分配仲裁逻辑提供这两类指针,用于负载调度,并根据仲裁结果修改指针;信元分配仲裁逻辑进行负载分配,根据信元分配请求产生器、Crossbar状态监视器和输入轮询指针产生器的输入,为VOQ队列头信元选择Crossbar交换开关,产生仲裁结果,包括信元发送控制信号GntIn和GntCrb,如果GntIn=i,GntCrb=j,表示将第i个VOQ队列头信元发送到交换开关j。
3.如权利要求1或2所述的并行交换开关设计方法,其特征在于所述负载分配采用迭代方式调度信元,按照轮询顺序将输入信元分配到不同Crossbar交换开关,负载分配过程是:
第一步.根据VOQ轮询指针PRR确定本次调度处理的起始VOQ队列start;
第二步.迭代N次:
第(1)步:处理VOQ队列start:如果队列非空,根据Crossbar轮询指针PVOQ选择处理队列头信元的Crossbar交换开关C,若交换开关C的输入端非空闲,继续第(2)步;否则,选择将队列头信元发送到C,修改Crossbar轮询指针:PVOQ=(PVOQ+1)modm,如果是第一次迭代,修改VOQ轮询指针:PRR=(PRR+1)modN,mod为求模运算;
第(2)步:start=(start+1)modN,继续下一次迭代。
4.如权利要求1所述的并行交换开关设计方法,其特征在于:所述信元重组请求产生器根据VIQ流组是否包含完整块产生不同的调度请求,如果流(i,j)有完整块等待输出,则REQi[j]=1,否则,REQi[j]=0;输出轮询指针产生器维护三类指针,第一类为完整块轮询指针PFB,指示在包含完整块的流中具有最高优先级的流;第二类为非完整块轮询指针PNFB,指示在包含非完整块的流中具有最高优先级的流;第三类为VIQ队列轮询指针Pf,每个VIQ流组对应一个指针,指示下一个应该处理的VIQ队列;输出轮询指针产生器向信元重组仲裁逻辑提供这三类指针,用于重组信元,并根据仲裁结果修改指针;信元重组仲裁逻辑对信元进行重组,即根据信元重组请求REQi、完整块轮询指针PFB、非完整块轮询指针PNFB和VIQ队列轮询指针Pf,选择输出信元,产生仲裁结果,包括GntIn、GntOut和GntCrb信元发送控制信号;如果GntIn=i,GntOut=j,GntCrb=l,则表示从第l个VIQ队列开始,连续输出m个属于流(i,j)的信元,信元重组仲裁逻辑以m个时间槽作为一个工作周期,在每个工作周期可最多选择m个信元输出到外部线路。
5.如权利要求1或4所述的并行交换开关设计方法,其特征在于对信元进行重组的方法是:
第一步.确定处理的流f:
(1)如果REQi≠0,即输出控制器收到完整块,那么从完整块轮询指针PFB开始选择第一个具有完整块的流f,并修改PFB:PFB=(f+1)mod N;
(2)如果输出控制器尚未收到完整块,将PNFB作为处理的流,修改PNFB:PNFB=(PNFB+1)mod N;
第二步.如果流f的Crossbar轮询指针Pf所指VIQ队列非空,发送队列头信元,Pf=(Pf+1)mod m,继续处理下一个信元,如果VIQ队列空或者已发送m个信元,处理结束。
6.如权利要求1所述的并行交换开关设计方法,其特征在于所述输入控制器和输出控制器均可由FPGA实现,VOQ队列和VIQ队列可以采用FPGA片内存储器或外接存储器实现,PRR、PFB和PNFB为模N的加法器,而PVOQ和Pf为模m的加法器,初始化时均赋值为0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610031239 CN1819523A (zh) | 2006-02-20 | 2006-02-20 | 并行交换开关设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610031239 CN1819523A (zh) | 2006-02-20 | 2006-02-20 | 并行交换开关设计方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1819523A true CN1819523A (zh) | 2006-08-16 |
Family
ID=36919230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200610031239 Pending CN1819523A (zh) | 2006-02-20 | 2006-02-20 | 并行交换开关设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1819523A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101860489A (zh) * | 2010-06-09 | 2010-10-13 | 西南交通大学 | 基于隐式流分割器的负载均衡结构 |
CN101964747A (zh) * | 2010-09-10 | 2011-02-02 | 西南交通大学 | 基于前置反馈的两级交换结构工作方法 |
CN101378355B (zh) * | 2007-08-30 | 2011-05-11 | 联发科技股份有限公司 | 仲裁电路及其方法以及使用该仲裁电路的无线装置 |
CN102684983A (zh) * | 2011-03-15 | 2012-09-19 | 中兴通讯股份有限公司 | 一种信元调度方法和装置 |
CN101741720B (zh) * | 2009-11-06 | 2013-01-16 | 中兴通讯股份有限公司 | 多路信元时隙复用的装置和方法 |
WO2014056362A1 (zh) * | 2012-10-11 | 2014-04-17 | 中兴通讯股份有限公司 | 一种支持多路变长信元时隙复用的装置和方法 |
CN104052686A (zh) * | 2013-03-12 | 2014-09-17 | 想象技术有限公司 | 用于对互连访问进行仲裁的系统和方法 |
WO2017162123A1 (zh) * | 2016-03-21 | 2017-09-28 | 深圳市中兴微电子技术有限公司 | 消除报文的交换头阻的方法、装置及计算机存储介质 |
CN107483405A (zh) * | 2017-07-17 | 2017-12-15 | 中国科学院空间应用工程与技术中心 | 一种支持变长信元的调度方法和调度系统 |
CN108833308A (zh) * | 2018-05-28 | 2018-11-16 | 天津芯海创科技有限公司 | 数据交换方法、装置及系统 |
CN110290074A (zh) * | 2019-07-01 | 2019-09-27 | 西安电子科技大学 | FPGA片间互连的Crossbar交换单元设计方法 |
CN112073336A (zh) * | 2020-08-21 | 2020-12-11 | 西安电子科技大学 | 基于AXI4 Stream接口协议的高性能数据交换系统及方法 |
CN115454889A (zh) * | 2022-11-09 | 2022-12-09 | 中科声龙科技发展(北京)有限公司 | 存储访问调度方法、系统及芯片 |
-
2006
- 2006-02-20 CN CN 200610031239 patent/CN1819523A/zh active Pending
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101378355B (zh) * | 2007-08-30 | 2011-05-11 | 联发科技股份有限公司 | 仲裁电路及其方法以及使用该仲裁电路的无线装置 |
CN101741720B (zh) * | 2009-11-06 | 2013-01-16 | 中兴通讯股份有限公司 | 多路信元时隙复用的装置和方法 |
CN101860489A (zh) * | 2010-06-09 | 2010-10-13 | 西南交通大学 | 基于隐式流分割器的负载均衡结构 |
CN101964747A (zh) * | 2010-09-10 | 2011-02-02 | 西南交通大学 | 基于前置反馈的两级交换结构工作方法 |
CN102684983A (zh) * | 2011-03-15 | 2012-09-19 | 中兴通讯股份有限公司 | 一种信元调度方法和装置 |
CN102684983B (zh) * | 2011-03-15 | 2016-08-03 | 中兴通讯股份有限公司 | 一种信元调度方法和装置 |
WO2014056362A1 (zh) * | 2012-10-11 | 2014-04-17 | 中兴通讯股份有限公司 | 一种支持多路变长信元时隙复用的装置和方法 |
CN104052686B (zh) * | 2013-03-12 | 2018-11-06 | 想象技术有限公司 | 用于对互连访问进行仲裁的系统和方法 |
CN104052686A (zh) * | 2013-03-12 | 2014-09-17 | 想象技术有限公司 | 用于对互连访问进行仲裁的系统和方法 |
WO2017162123A1 (zh) * | 2016-03-21 | 2017-09-28 | 深圳市中兴微电子技术有限公司 | 消除报文的交换头阻的方法、装置及计算机存储介质 |
CN107483405A (zh) * | 2017-07-17 | 2017-12-15 | 中国科学院空间应用工程与技术中心 | 一种支持变长信元的调度方法和调度系统 |
CN107483405B (zh) * | 2017-07-17 | 2020-01-31 | 中国科学院空间应用工程与技术中心 | 一种支持变长信元的调度方法和调度系统 |
CN108833308A (zh) * | 2018-05-28 | 2018-11-16 | 天津芯海创科技有限公司 | 数据交换方法、装置及系统 |
CN108833308B (zh) * | 2018-05-28 | 2020-12-01 | 天津芯海创科技有限公司 | 数据交换方法、装置及系统 |
CN110290074A (zh) * | 2019-07-01 | 2019-09-27 | 西安电子科技大学 | FPGA片间互连的Crossbar交换单元设计方法 |
CN110290074B (zh) * | 2019-07-01 | 2022-04-19 | 西安电子科技大学 | FPGA片间互连的Crossbar交换单元设计方法 |
CN112073336A (zh) * | 2020-08-21 | 2020-12-11 | 西安电子科技大学 | 基于AXI4 Stream接口协议的高性能数据交换系统及方法 |
CN115454889A (zh) * | 2022-11-09 | 2022-12-09 | 中科声龙科技发展(北京)有限公司 | 存储访问调度方法、系统及芯片 |
CN115454889B (zh) * | 2022-11-09 | 2023-01-06 | 中科声龙科技发展(北京)有限公司 | 存储访问调度方法、系统及芯片 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1819523A (zh) | 并行交换开关设计方法 | |
CN1146192C (zh) | 以太网交换芯片输出队列管理调度方法和装置 | |
CN1064500C (zh) | 临时存储数据包的方法和设备 | |
US6977935B2 (en) | Two-dimensional pipelined scheduling technique | |
US20100158015A1 (en) | Packet aggregation and fragmentation at layer-2 over a managed network | |
CN106533982B (zh) | 基于带宽借用的动态队列调度装置及方法 | |
CN1938992B (zh) | 用于加权随机调度的方法和装置 | |
JP3788697B2 (ja) | メッセージ制御装置 | |
CN110290074B (zh) | FPGA片间互连的Crossbar交换单元设计方法 | |
CN109639596A (zh) | 一种用于车载can-canfd混合网络的网关调度方法 | |
CN1866927A (zh) | 实现信息交换的系统及方法和调度算法 | |
CN1449160A (zh) | 用于包括无阻塞交换结构和线路卡接口的系统的包调度 | |
CN1859279A (zh) | 一种调度纵横式交换矩阵中变长数据包队列的方法 | |
CN1643874A (zh) | 使用定额和差额值进行调度 | |
CN1192563C (zh) | 服务于多输出队列的调度方法、程序调度装置及数据交换节点 | |
CN1878132A (zh) | 一种实现变长分组包交换的方法及系统 | |
CN1298149C (zh) | 基于包模式的流量控制装置及方法 | |
CN1220950C (zh) | 外置式多通道网络磁盘阵列控制装置及其使用的协议适配方法 | |
CN1265583C (zh) | 一种业务资源的分配方法 | |
CN1479542A (zh) | 一种公平的总线仲裁方法及仲裁装置 | |
US10742558B1 (en) | Traffic manager resource sharing | |
CN1691637A (zh) | 通信设备中数据包的存储方法 | |
CN1933441A (zh) | 一种支持均匀交换的路由器交换结构及服务质量保证方法 | |
CN1290092A (zh) | 基于队列状态的累计补偿型循环轮询不定长包调度方法 | |
CN1149786C (zh) | 用户接入网维护与管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |