CN100420241C - 实现信息交换的系统及方法和调度算法 - Google Patents

实现信息交换的系统及方法和调度算法 Download PDF

Info

Publication number
CN100420241C
CN100420241C CNB2006100765066A CN200610076506A CN100420241C CN 100420241 C CN100420241 C CN 100420241C CN B2006100765066 A CNB2006100765066 A CN B2006100765066A CN 200610076506 A CN200610076506 A CN 200610076506A CN 100420241 C CN100420241 C CN 100420241C
Authority
CN
China
Prior art keywords
packet
input port
crosspoint
formation
queue
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.)
Expired - Fee Related
Application number
CNB2006100765066A
Other languages
English (en)
Other versions
CN1866927A (zh
Inventor
贺磊
申涓
兰巨龙
朱宣勇
李云涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NATIONAL DIGITAL SWITCH SYSTEM ENGINEERING TECHNOLOGY RESEARCH CENTER
Original Assignee
NATIONAL DIGITAL SWITCH SYSTEM ENGINEERING TECHNOLOGY RESEARCH CENTER
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NATIONAL DIGITAL SWITCH SYSTEM ENGINEERING TECHNOLOGY RESEARCH CENTER filed Critical NATIONAL DIGITAL SWITCH SYSTEM ENGINEERING TECHNOLOGY RESEARCH CENTER
Priority to CNB2006100765066A priority Critical patent/CN100420241C/zh
Publication of CN1866927A publication Critical patent/CN1866927A/zh
Application granted granted Critical
Publication of CN100420241C publication Critical patent/CN100420241C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种实现信息交换的系统及方法和调度算法,所述系统包括输入端口和交换单元,所述输入端口用于输入数据包,所述交换单元用于实现输入端口和输出端口的数据交换;在输入端口设置两级缓存队列,输入端口按照数据包的目的端口划分缓存队列,并对每个缓存队列按照数据包的服务需求进行划分,再选择数据包进行转发至交换单元,交换单元存储数据包,再按照服务需求选择数据包向输出端口发送。利用本发明能够对业务数据进行服务区分,同时能够按照服务需求增强隔离性,并且能够满足优先级,算法复杂度,时延和公平性的要求。

Description

实现信息交换的系统及方法和调度算法
技术领域
本发明涉及信息技术的网络通信领域,尤其涉及一种实现信息交换的系统及方法和调度算法。
背景技术
交换结构是当前实现快速包转发的主要体系结构,以往的设计思想是考虑它的通用性,即交换结构的端口是面向所有可能到达的业务进行设计的,所以交换结构为它们提供的处理能力也相同。现有技术多是以此为基础对交换结构的性能进行研究,设计了不同的缓存策略,如输出排队(OQ,Output-Queued)结构、输入排队(IQ,Input-Queued)结构、联合输入输出排队(CIOQ,Combined Input-Output-Queued)结构等。
参照图1,现有技术一的交换系统是输出排队(OQ)结构中所有缓存队列都设置在输出端口处,该系统要求内部互联网络能够同时将多个包送到目的端口。当多个输入端口的包同时去往同一个目的端口时,不利于扩展,不适宜直接用于高速环境。
参照图2,现有技术二的交换系统是输入排队(IQ)结构中所有缓存队列都设置在输入端口处,到达的包首先被存储在缓存队列中,由输入端口进行调度。当多个队列头部的包要去往同一个输出端口时,所述技术会产生队头(HOL,Head of Line)阻塞,不能充分利用链路资源。
参照图3,现有技术三的交换系统是联合输入输出排队(CIOQ)结构在输入输出端口分别进行缓冲排队。Shang-Tse Chuang等虽证明最小加速比仅需为2-1/N,但因目前基于此种结构提出的调度算法复杂度过高,故只具有理论意义。
然而,上述现有技术的交换系统在缓存机制方面都存在以下缺陷:
1、端口设计的针对性不强,隔离性比较差;
2、每个端口都是面向所有的业务,都对所有的业务数据进行处理,没有对业务数据进行区分,不利于区分服务。
目前许多调度算法是根据上述交换系统的缓存机制而提出的,这些缓存机制与调度算法相配合,在实际应用中取得了很好的效果,主要的调度算法有以下几种:
基于优先级的算法是一种相对简单的可支持区分等级服务的队列调度算法。在典型的优先级排队(PQ,Priority Queuing)中,包经过分类后送入不同的优先级队列中缓存,调度器严格按照优先级从高到低的次序优先发送较高优先级队列中的包。在每个优先级队列中,包按照先来先服务(FCFS)的准则接受调度,这种调度称为严格优先级排队(SPQ,Strict PriorityQueuing)机制。优先级的调度算法计算复杂度低,可为最高优先级队列提供低时延保证,但是公平性差。
广义处理器共享(GPS,Generalized Processor Sharing)算法是一种理想化的算法,该算法假设输入业务数据可无限细分(Fluid-flow Mode)。GPS能够克服公平排队(FQ,Fair Queuing)不能在变长包网络中真正实现公平服务的缺陷,但是该算法只具有理论分析的价值。
逐包广义处理器共享(PGPS,Packet-by-Packet GPS)算法是GPS可实现的近似版本,它以逐包调度的方式进行,但是该算法复杂度大,难以实现。
加权公平排队(WFQ,Weighted Fair Queuing)算法是在逐比特轮询(BBRR,Bit-bY-bit Round Robin Service)算法的基础上提出的,BBRR仅仅是一个理论分析方法。为了将BBRR算法实用化,Demers等人又提出了WFQ算法,当轮询到某一队列时,从该队列中调度的比特数由该队列的权值决定,但是加权公平排队算法复杂度大,难以实现。
加权轮询(WRR,Weighted Round Robin)算法把包缓存到相应的优先级队列中,每一个队列具有不同的归一化权值,轮询到该队列时,根据其权值发送一定量的数据。但是WRR算法对于变长包调度,无法准确分配带宽比例,不能准确保证公平性。
差额加权轮询(DWRR,Deficit Weighted Round Robin)算法用以改进WRR无法为变长包提供指定的带宽分配。DWRR在进行整包调度的前提下,能够为不同的服务类别实现预定的长期相对带宽分配,并且降低WFQ的计算复杂度。但是DWRR算法优先级特性不够好,在支持低时延业务方面,其性能要比优先级排队差。
根据上述几种调度算法的缺点可知,现有技术的缺陷是不能同时满足优先级,算法复杂度,时延,公平性四个方面的要求。
发明内容
本发明要解决的技术问题是提供一种实现信息交换的系统及方法和调度算法,本发明能够对业务数据进行服务区分,同时能够按照服务需求增强隔离性,并且能够满足优先级,算法复杂度,时延,公平性四个方面的要求。
为解决上述技术问题,本发明提供一种实现信息交换的系统,该系统是这样实现的:
一种实现信息交换的系统,该系统包括输入端口和交换单元,所述输入端口用于输入数据包,所述交换单元用于实现输入端口和输出端口的数据交换;
在输入端口设置两级缓存队列,输入端口按照数据包的目的端口划分缓存队列,并对每个缓存队列按照数据包的服务需求进行划分,再选择数据包进行转发至交换单元,交换单元存储数据包,再按照服务需求选择数据包向输出端口发送。
其中,所述缓存队列采用虚拟输出队列结构。
其中,所述输入端口包括输入调度器,用于判断调度服务,所述输入调度器根据支持抢占的差额加权轮询SPDWRR算法选择向交换单元发送的数据包。
其中,所述交换单元包括输出缓存队列和输出调度器,所述输出缓存队列用于存储输出到同一目的端口的数据包,所述输出调度器根据支持抢占的差额加权轮询SPDWRR算法选择向输出端口发送的数据包。
为解决上述技术问题,本发明提供一种实现信息交换的方法,该方法包括以下步骤:
A、输入端口内部设有两级缓存队列,输入端口按照数据包的目的端口划分缓存队列,并对每个缓存队列按照数据包的服务需求进行划分;
B、输入端口选择数据包向交换单元进行发送;
C、交换单元存储数据包,再按照服务需求选择数据包向输出端口发送。
其中,步骤B具体包括:
输入端口对缓存队列进行划分后,输入调度器根据服务需求采用调度算法判断调度服务,并选择数据包向交换单元发送。
其中,所述输入调度器采用的算法是支持抢占的差额加权轮询SPDWRR算法,具体包括:
a、将输入数据包按照目的端口和服务需求进行分类,每类对应一个两级缓存队列,两级缓存队列中具有最高优先级队列Q0;
b、输入调度器判断高优先级队列Q0的差额计数器C0与队头包长度L0的差值是否大于或等于0,如果是,Q0得到服务,重复步骤b直到C0-L0<0,再执行步骤c,否则直接执行步骤c;
c、判断轮询队列Qi的差额计数器Ci与队头包长度Li的差值是否大于或等于0,如果是,Qi得到服务,再转去执行步骤b,否则执行步骤c直至Ci-Li<0。
其中,步骤C具体包括:
C1、交换单元内部设置缓存队列,交换单元根据输入数据包的目的端口将数据包存储到对应的缓存队列;
C2、输出调度器根据服务需求采用调度算法判断调度服务,并选择数据包向输出端口发送。
其中,步骤C2中所述输出调度器采用的算法是支持抢占的差额加权轮询SPDWRR算法,具体包括:
a、将输出数据包按照目的端口和服务需求进行分类,每类对应一个多服务缓存队列,多服务缓存队列中具有最高优先级队列Q0;
b、输出调度器判断高优先级队列Q0的差额计数器C0与队头包长度L0的差值是否大于或等于0,如果是,Q0得到服务,重复步骤b直到C0-L0<0,再执行步骤c,否则直接执行步骤c;
c、判断轮询队列Qi的差额计数器Ci与队头包长度Li的差值是否大于或等于0,如果是,Qi得到服务,再转去执行步骤b,否则执行步骤c直至Ci-Li<0。
其中,所述队列采用链式存储结构。
以上技术方案可知,本发明提供了一种实现信息交换的系统及方法,所述系统和方法都是采用两级式缓存机制来实现信息交换的,上述技术方案在输入端口设置缓存,对输入端口的每个队列进行细分,按服务需求划分为不同的服务队列,可针对某种业务的服务需求设置调度策略;进一步地,该技术方案针对每个输出端口,在交换结构内部设置缓存队列,这组队列不仅保存了输出到同一目的端口的数据包,而且又按服务需求增强隔离性。同时为集中处理保证延迟(GD,Guaranteed-Delay)、保证带宽(GB,Guaranteed-Bandwidth)、尽力服务(BE,Best-Effort)类业务提供了解决方法,并且具有良好的可扩展性和较低的计算复杂度。
另外,由上述技术方案可知,本发明还提供了一种专用的调度算法,在份额范围内高优先级队列的包比低优先级队列的包优先得到调度,因而满足优先级的需求;进一步地,该算法中高低优先级队列轮流获得调度,当高优先级队列的份额用完之后,即使队列中还有包也应该调度低优先级队列,以避免低优先级队列中的包因得不到服务导致“饿死”。另外,由于该调度算法支持最高优先级队列抢占,故最高优先级队列可获得比在DWRR算法下更小的时延,同时该调度算法具有较低的时延特性,队列在不同负载下始终能得到最小的时延。
附图说明
图1现有技术一的交换系统;
图2现有技术二的交换系统;
图3现有技术三的交换系统;
图4本发明的系统详细结构图;
图5本发明的系统主体结构图;
图6本发明系统的缓存机制示意图;
图7本发明的方法流程图;
图8本发明调度算法的高优先级队列调度流程图;
图9本发明调度算法的低优先级队列调度流程图;
图10链队列数组示意图。
具体实施方式
本发明提供了一种实现信息交换的系统,该系统的基本思想是:在输入端口设置缓存,采用虚拟输出排队结构,对每个虚拟输出队列按服务需求划分为不同的服务队列,每个虚拟输出队列可划分为多个服务类别,输入端口的调度器再选择数据包进行转发;数据包离开输入端口后根据包的目的端口进行二次缓存,再由交换结构中的输出调度器进行转发至输出端口。
根据上述基本思想,再结合附图对本发明的系统进行说明。参照图5,图5是本发明的系统主体结构图,所述系统包括输入端口200,交换单元300和输出端口400,其中输入端口200包括输入缓存队列201和调度器202,交换单元300包括输出缓存队列301和输出调度器302。
输入端口200用于输入数据包,交换单元300用于实现输入端口200和输出端口400的数据交换,输出端口400用于输出数据包。输入端口200采用虚拟输出队列(VOQ)结构设置输入缓存队列201,再按输入数据包的目的端口划分VOQ队列,再根据包的服务需求进一步分类,调度器202针对服务需求设置调度策略,再选择数据包进行转发至交换单元300,交换单元300针对每个输出端口400设置输出缓存队列401,所述输出缓存队列用于保存输出到同一目的端的数据包,交换单元300将来自不同输入端口的数据包进行汇总,再将数据包的输入端口和输出端口看作一个序偶,每个序偶对应一个缓存队列,称为服务质量(QOS)队列,交换单元的输出调度器302针对服务需求设置调度策略再将选择包进行转发至输出端口400。
下面结合图6对本发明系统的缓存机制进一步地详细说明,第一级,在输入端口设置缓存,采用VOQ结构,对输入端口的每一个VOQ队列进行细分,按服务需求划分为不同的服务队列,称为fq,当一个VOQ队列可划分为p个服务类别时(p>1),则一个VOQ队列包含p个fq队列,由于每个输入端口只接收某种业务,所以可针对这种业务的服务需求设置某种调度策略。第二级,针对每个输出端口,在非对称交换结构内部设置一组缓存队列,这组队列既保存了输出到同一目的端口的数据包,又按服务需求增强了隔离性。由此设计出两级式缓存机制,该机制包括N个输入端口和N个输出端口,在输入端口和交换结构内部设有缓存队列。在图6中,输入端口为i和输出端口为j。在输入端口i,按输入数据包的目的端口划分VOQ队列,对于每一个VOQ队列,再根据包的服务需求进一步分类,如队列VOQi,j,按服务需求分为q个fq队列,即从fqi,j,1到fqi,j,q,由输入端口的调度器i选择包进行转发。当数据包离开输入端口后,交换单元将来自不同输入端口的数据包在此汇合,注意这些包可能具有不同的服务要求,为了保证服务的隔离性,把数据包的输入端口和输出端口看作一个序偶,如<i,j>,(i≠j),每一序偶对应一个缓存队列,称为服务质量(QoS)队列,如图6中的Ci,j,这样所有需要从端口j输出的包都缓存到相应的QoS队列中,再由交换单元的输出调度器j选择包进行转发。
本发明还提供一种实现信息交换的方法,该方法的基本思想是:输入端口和交换单元都设置缓存队列,输入端口先按输入数据包的目的端口划分缓存队列,再根据输入数据包的服务需求进一步分类,每个类别对应一个缓存队列,输入端口的调度器再根据调度算法选择数据包向交换单元进行发送,交换单元根据输入数据包的目的端口将数据包存储到对应的缓存队列中,输出调度器再根据调度算法选择数据包向输出端口进行转发。
根据上述方法的基本思想,再结合图7对本发明的方法进行描述,该方法包括以下步骤:
步骤701、输入端口和交换单元内部均设置缓存队列;
步骤702~704、输入端口为每个输出端口设置一个队列,输入的数据包根据其目的端口缓存到相应的队列中,再根据输入数据包的服务需求进一步分类,每个类别对应一个缓存队列;
步骤705、输入端口的调度器再根据调度算法选择数据包向交换单元进行发送,其中,所述调度算法采用的是支持抢占的差额加权轮询(SPDWRR)算法;
步骤706、交换单元根据输入数据包的目的端口将数据包存储到对应的缓存队列中,其中交换单元将来自不同输入端口的数据包在此汇合,注意这些包可能具有不同的服务要求,为了保证服务的隔离性,把数据包的输入端口和输出端口看作一个序偶,如<i,j>,(i≠j),每一序偶对应一个缓存队列,称为服务质量(QoS)队列,如图6中的Ci,j,这样所有需要从端口j输出的包都缓存到相应的QoS队列中。
步骤707、输出调度器再根据调度算法选择数据包向输出端口进行转发,其中,所述调度算法采用的是支持抢占的差额加权轮询(SPDWRR)算法。
本发明还提供一种专用的调度算法,该算法的基本思想是:缓存队列采用链式存储结构,缓存队列中具有高优先级队列Q0,高优先级队列不参加其它队列的轮询顺序排队;调度器在判断下一个得到调度的队列时,根据高优先级队列Q0的差额计数器C0与其队头包长度L0的比较来决定是否得到服务,如果C0-L0≥0,Q0得到服务,否则调度轮询队列中的队列。各队列均设有差额计数器Ci,但是队列Q0的计数器C0的计数方式与其它队列不同。
所述调度算法包括高优先队列的调度和低优先级队列的调度。参照图8,图8是本发明调度算法的高优先级队列调度流程图,所述高优先级队列调度流程包括以下步骤:
步骤801~803、调度器访问高优先级队列,判断所述队列是否为空,如果是,设置C0=0,结束流程,其中,C0为高优先级队列的差额计数器,否则执行步骤804;
步骤804、设置C0=C0+N0,其中N0表示在一个调度周期内高优先级队列应分得的字节数;
步骤805~807、判断高优先级队列的差额计数器C0与队头包长度L0差值是否大于或等于0,如果是,调度高优先级队列的队头包输出,调度完成后,C0=C0-L0,直到C0-L0<0,否则结束流程。
参照图9,图9是本发明调度算法的低优先级队列调度流程图,所述低优先级队列调度流程包括以下步骤:
步骤901~903、调度器访问低优先级队列,判断所述队列是否为空,如果是,设置Ci=0,结束流程。其中,Ci(i=1,2,...,n-1,n为队列总数)是低优先级队列的差额计数器,否则执行步骤904;
步骤904、设置Ci=Ci+Ni,其中Ni表示在一个调度周期内低优先级队列应分得的字节数;
步骤905~907、判断低优先级队列的差额计数器Ci与队头包长度Li的差值是否大于或等于0,如果是,调度所述队列的队头包输出,调度完成后,Ci=Ci-Li,否则结束流程;
步骤908、判断高优先级队列是否为空,如果是,重复执行步骤905,否则执行步骤909,转去访问高优先级队列。
综合上述高优先级队列和低优先级队列的调度流程,所述调度算法包括以下基本步骤:
a、输入数据包分为一定数量的服务队列,每种服务对应一个缓存队列,并在缓存队列中具有最高优先级队列Q0,Q0不参加其他队列的轮询顺序排队。其中,队列都采用链式存储结构,称为链式队列,如图10所示,即每个队列由一个单链表组成,并且为单链表设置头指针和尾指针,这是为了便于结点的插入和删除,每个队列都维护一个用于存储字节数的差额计数器Ci,定义由n个指针组成的指针数组维护这n个队列。
b、依据服务等级和输出链路总带宽,计算每个队列在每次轮询时应分配的传输字节计数Ni,该数值存放在每个队列的差额计数器内Ci(i=1,2,...,n-1;n为队列总数);调度器依次轮询每个非空队列,初始时刻所有Ci=0,每次轮询到队列Qi时,Ci=Ci+Ni。
c、判断最高优先级队列Q0的差额计数器C0与队头包长度L0差值是否大于或等于0,如果是,调度Q0的队头包输出,调度完成后,C0=C0-L0,直到C0-L0<0,再执行步骤d;如果否,也执行步骤d;
d、判断轮询队列Qi的差额计数器Ci与队头包长度Li的差值是否大于或等于0,如果是,调度队列Qi的队头包输出,调度完成后,Ci=Ci-Li,再转去执行步骤c,否则重复执行步骤d直至Ci-Li<0。
另外,所述调度算法的最高优先级队列Q0的计数器C0的计数方式与其它队列不同。
Q0的计数器C0的计数方式为:
i.当Q0不为空,而且调度器在调度服务除Q0以外的队列时,令C0=C0+N0,其中N0表示在一个调度周期内队列Q0应分得的字节数;
ii.当Q0正在得到调度传输时,比较计数器C0与队头包长度L0,若C0-L0≥0,则调度队头包输出,调度完成后,C0=C0-L0,直到C0-L0<0;
iii.当Q0为空时,设置C0=0。
其余队列的差额计数器计数方式与原DWRR算法相同,但是在调度这些队列的过程中,支持队列Q0的温和抢占。其余队列Qi(0<i≤n-1)的计数器方式为:
i.当轮询到非空队列时,计数器才获得字节计数Ci=Ci+Ni(0<i≤n-1);
ii.比较计数器Ci与队头包的长度Li,若Ci-Li≥0,则调度队列Qi的队头包,调度完成后,Ci=Ci-Li;
iii.当服务完当前队头包,转去查看队列Q0是否为空,若Q0不为空且C0-L0≥0,则Q0得到服务,否则重复ii的操作直到Ci-Li<0,若Ci-Li<0,则保持Ci值不变并转到下一个队列;
iv.当Qi为空时,令Ci=0。其中,队列Qi为空队列时清零字节计数,这一做法是为了不让Ci无限增大,能够防止突发的形成和对其他队列的影响。
由上述调度算法的实施方式可知,本实施方式仅为本发明较佳的实施方式。缓存队列除可采用链式存储方式外还可以采用顺序存储方式。另外,链式存储结构除单链表外还包括双链表、循环单链表或循环双链表。
以上对本发明所提供的一种实现信息交换的系统及方法和专用的调度算法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1. 一种实现信息交换的系统,其特征在于,该系统包括输入端口和交换单元,所述输入端口用于输入数据包,所述交换单元用于实现输入端口和输出端口的数据交换;
在输入端口设置两级缓存队列,输入端口按照数据包的目的端口划分缓存队列,并对每个缓存队列按照数据包的服务需求进行划分,再选择数据包进行转发至交换单元,交换单元存储数据包,再按照服务需求选择数据包向输出端口发送。
2. 如权利要求1所述的实现信息交换的系统,其特征在于所述缓存队列采用虚拟输出队列结构。
3. 如权利要求1所述的实现信息交换的系统,其特征在于,所述输入端口包括输入调度器,用于判断调度服务,所述输入调度器根据支持抢占的差额加权轮询SPDWRR算法选择向交换单元发送的数据包。
4. 如权利要求1所述的实现信息交换的系统,其特征在于,所述交换单元包括输出缓存队列和输出调度器,所述输出缓存队列用于存储输出到同一目的端口的数据包,所述输出调度器根据支持抢占的差额加权轮询SPDWRR算法选择向输出端口发送的数据包。
5. 一种实现信息交换的方法,其特征在于,该方法包括以下步骤:
A、输入端口内部设有两级缓存队列,输入端口按照数据包的目的端口划分缓存队列,并对每个缓存队列按照数据包的服务需求进行划分;
B、输入端口选择数据包向交换单元进行发送;
C、交换单元存储数据包,再按照服务需求选择数据包向输出端口发送。
6. 如权利要求5所述的实现信息交换的方法,其特征在于,步骤B具体包括:
输入端口对缓存队列进行划分后,输入调度器根据服务需求采用调度算法判断调度服务,并选择数据包向交换单元发送。
7. 如权利要求6所述的实现信息交换的方法,其特征在于,所述输入调度器采用的算法是支持抢占的差额加权轮询SPDWRR算法,具体包括:
a、将输入数据包按照目的端口和服务需求进行分类,每类对应一个两级缓存队列,两级缓存队列中具有最高优先级队列Q0;
b、输入调度器判断高优先级队列Q0的差额计数器C0与队头包长度L0的差值是否大于或等于0,如果是,Q0得到服务,重复步骤b直到C0-L0<0,再执行步骤c,否则直接执行步骤c;
c、判断轮询队列Qi的差额计数器Ci与队头包长度Li的差值是否大于或等于0,如果是,Qi得到服务,再转去执行步骤b,否则执行步骤c直至Ci-Li<0。
8. 如权利要求5所述的实现信息交换的方法,其特征在于,步骤C具体包括:
C1、交换单元内部设置缓存队列,交换单元根据输入数据包的目的端口将数据包存储到对应的缓存队列;
C2、输出调度器根据服务需求采用调度算法判断调度服务,并选择数据包向输出端口发送。
9. 如权利要求8所述的实现信息交换的方法,其特征在于,步骤C2中所述输出调度器采用的算法是支持抢占的差额加权轮询SPDWRR算法,具体包括:
a、将输出数据包按照目的端口和服务需求进行分类,每类对应一个多服务缓存队列,多服务缓存队列中具有最高优先级队列Q0;
b、输出调度器判断高优先级队列Q0的差额计数器C0与队头包长度L0的差值是否大于或等于0,如果是,Q0得到服务,重复步骤b直到C0-L0<0,再执行步骤c,否则直接执行步骤c;
c、判断轮询队列Qi的差额计数器Ci与队头包长度Li的差值是否大于或等于0,如果是,Qi得到服务,再转去执行步骤b,否则执行步骤c直至Ci-Li<0。
10. 如权利要求7或9所述的实现信息交换的方法,其特征在于,所述队列采用链式存储结构。
CNB2006100765066A 2006-05-08 2006-05-08 实现信息交换的系统及方法和调度算法 Expired - Fee Related CN100420241C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006100765066A CN100420241C (zh) 2006-05-08 2006-05-08 实现信息交换的系统及方法和调度算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006100765066A CN100420241C (zh) 2006-05-08 2006-05-08 实现信息交换的系统及方法和调度算法

Publications (2)

Publication Number Publication Date
CN1866927A CN1866927A (zh) 2006-11-22
CN100420241C true CN100420241C (zh) 2008-09-17

Family

ID=37425815

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100765066A Expired - Fee Related CN100420241C (zh) 2006-05-08 2006-05-08 实现信息交换的系统及方法和调度算法

Country Status (1)

Country Link
CN (1) CN100420241C (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011050542A1 (zh) * 2009-10-31 2011-05-05 深圳市利德嘉实业有限公司 支持视频质量分级的路由器构造方法
CN101945054B (zh) * 2010-10-18 2012-09-19 西南交通大学 一种适用于反馈制两级交换结构的调度算法
GB201111106D0 (en) 2011-06-30 2011-08-10 Xelerated Ab Method, network device, computer program and computer program product for communication queue state
CN102857442B (zh) * 2011-06-30 2017-11-21 马维尔国际贸易有限公司 传送队列状态的方法、网络设备及其产品
WO2012119414A1 (zh) * 2011-08-24 2012-09-13 华为技术有限公司 交换网的流量控制方法和装置
CN103516621B (zh) * 2012-06-29 2017-11-17 中兴通讯股份有限公司 队列调度的方法和装置
CN104734873B (zh) * 2013-12-20 2018-04-13 深圳市国微电子有限公司 一种交换系统及其交换设备中缓冲器的管理方法、系统
DE102014207476A1 (de) * 2014-04-17 2015-10-22 Robert Bosch Gmbh Verfahren zur Auswahl einer von mehreren Warteschlangen
CN105915468B (zh) * 2016-06-17 2019-03-29 北京邮电大学 一种业务的调度方法及装置
CN109684269B (zh) * 2018-12-26 2020-06-02 成都九芯微科技有限公司 一种pcie交换芯片内核及工作方法
CN111865838B (zh) * 2020-07-21 2022-03-08 深圳市风云实业有限公司 一种信号的多通道数据传输系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1450767A (zh) * 2002-04-10 2003-10-22 深圳市中兴通讯股份有限公司 一种数据包转发控制装置和方法
CN1508682A (zh) * 2002-12-17 2004-06-30 国际商业机器公司 任务调度的方法、系统和设备
CN1645839A (zh) * 2005-01-25 2005-07-27 南开大学 基于并行缓存结构的通信网络交换系统及其控制方法
CN1728698A (zh) * 2004-07-30 2006-02-01 国家数字交换系统工程技术研究中心 并行结构保序流量平衡系统及基于流分类的报文调度方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1450767A (zh) * 2002-04-10 2003-10-22 深圳市中兴通讯股份有限公司 一种数据包转发控制装置和方法
CN1508682A (zh) * 2002-12-17 2004-06-30 国际商业机器公司 任务调度的方法、系统和设备
CN1728698A (zh) * 2004-07-30 2006-02-01 国家数字交换系统工程技术研究中心 并行结构保序流量平衡系统及基于流分类的报文调度方法
CN1645839A (zh) * 2005-01-25 2005-07-27 南开大学 基于并行缓存结构的通信网络交换系统及其控制方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
在CICQ交换结构下PGPS调度算法的实现. 王荣,贺磊,邬江兴.计算机工程,第31卷第12期. 2005
在CICQ交换结构下PGPS调度算法的实现. 王荣,贺磊,邬江兴.计算机工程,第31卷第12期. 2005 *

Also Published As

Publication number Publication date
CN1866927A (zh) 2006-11-22

Similar Documents

Publication Publication Date Title
CN100420241C (zh) 实现信息交换的系统及方法和调度算法
Chuang et al. Practical algorithms for performance guarantees in buffered crossbars
EP1384354B1 (en) High speed network processor
KR100933917B1 (ko) 네트워크 스위치에서의 대역폭 보장 및 과부하 보호 방법및 장치
US20090141732A1 (en) Methods and apparatus for differentiated services over a packet-based network
US20010033581A1 (en) Packet switch, scheduling device, drop control circuit, multicast control circuit and QoS control device
JPH0983547A (ja) パケットスケジューリング装置
CA2451764A1 (en) Method and apparatus for allocating link bandwidth
CN104885420A (zh) 使用单个共享缓存支持服务质量差异化
CN101695051A (zh) 一种用于缓冲Crossbar的队列长度均衡调度方法
US20110170558A1 (en) Scheduling, including distributed scheduling, for a buffered crossbar switch
CN100505688C (zh) 一种用于网络处理器的差额权重排队调度装置及调度方法
CN100421420C (zh) 一种调度纵横式交换矩阵中变长数据包队列的方法
CN102918812A (zh) 最小缓存复杂度的负载均衡分组交换结构及其构造方法
US7304949B2 (en) Scalable link-level flow-control for a switching device
JP3820272B2 (ja) 交換装置
CN102594670B (zh) 多端口多流的调度方法、装置及设备
Rojas-Cessa et al. Load-balanced combined input-crosspoint buffered packet switches
CN100425035C (zh) 基于变长包的交换系统及交换方法
Mhamdi et al. Practical scheduling algorithms for high-performance packet switches
CN103326962B (zh) 多样化服务交换方法
Tong et al. Quantum varying deficit round robin scheduling over priority queues
Rojas-Cessa High-performance round-robin arbitration schemes for input-crosspoint buffered switches
US6977946B1 (en) Virtual connection service cache for filling available bandwidth
Pan et al. Providing performance guarantees for buffered crossbar switches without speedup

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080917

Termination date: 20160508