CN1306759C - 一种用于交换系统中输入端两阶段排队结构的方法 - Google Patents

一种用于交换系统中输入端两阶段排队结构的方法 Download PDF

Info

Publication number
CN1306759C
CN1306759C CNB031264328A CN03126432A CN1306759C CN 1306759 C CN1306759 C CN 1306759C CN B031264328 A CNB031264328 A CN B031264328A CN 03126432 A CN03126432 A CN 03126432A CN 1306759 C CN1306759 C CN 1306759C
Authority
CN
China
Prior art keywords
queuing
input
packet
stage
switching system
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
CNB031264328A
Other languages
English (en)
Other versions
CN1601978A (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.)
University of Chinese Academy of Sciences
Original Assignee
University of Chinese Academy of Sciences
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 University of Chinese Academy of Sciences filed Critical University of Chinese Academy of Sciences
Priority to CNB031264328A priority Critical patent/CN1306759C/zh
Publication of CN1601978A publication Critical patent/CN1601978A/zh
Application granted granted Critical
Publication of CN1306759C publication Critical patent/CN1306759C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种用于交换系统中在输入端两阶段排队结构的方法,其中交换系统是一个N×M的排队系统,有N个输入端,M个目的地端,从输入端到目的地端有交换装置、流量控制器和系统中央调度器,其特征在于:(1)在输入端缓冲储存区内数据包进行两阶段排队,第一阶段排队是将到达系统的每个输入端的数据包根据优先级分成L个等级,其中L是预先给定的一个大于1的正整数;(2)然后每个等级再按目的地进行排队;(3)通过简单有效的调度算法将数据包从第一阶段的队列发送到第二阶段相应的队列进行数据包的第二阶段排队,第二阶段的排队是把来自于第一阶段排队的数据包再按目的地端排队;(4)由中央调度器快速调度,经过交换装置到达系统的目的地端。本发明减轻了中央调度的压力,同时能很大程度上支持服务质量,降低了高速骨干网上路由器设计中的中央调度这一瓶颈问题的难度,可用于高性能大规模的高速路由器亦可用于其它交换机。

Description

一种用于交换系统中输入端两阶段排队结构的方法
技术领域
本发明涉及一种用于流经网络通信系统数据包控制的方法,具体的涉及一种用于交换系统中输入端两阶段排队结构的方法。
背景技术
当前,信息网络以极其迅猛的态势向前发展,因特网上的数据信息流正以每月百分之三十的速度增长,在信息网络上传输的信息量已是天文数字,下一代网络发展的总体趋势必然是带宽的迅速增长和速度的不断提高,核心路由器这个中心节点的交换能力也必然会以几十至几百倍的速度增长;另一方面,人类在信息网络使用的层次在不断深化,用户对于服务质量的要求也在迅速提高。近几年来,服务质量保障已经成为人们研究与讨论的主要课题。对于传统数据传输,“尽力而为(Best-effort)”的服务是足够了,但实时音频、视频等多媒体应用有其不同于传统的数据传输的特点:交互性;实时性;突发性;数据量大。“尽力而为”服务往往导致实时应用出现延迟、抖动、分组丢失率高,极大影响了实时应用的运行效果。对于服务质量的控制和管理,特别是在高速骨干网上,交换节点是关键。这些都为路由器技术的研究提出了新的课题。研究优化的、高带宽的服务质量接入控制和管理系统已成为当今工业界的尖端技术热点。此外,网络发展的一个趋势是将快速包交换机作为新一代路由器的底层硬件。因此,设计一种满足不同网络环境的包交换机的体系结构是非常必要的。包交换机的体系结构包括包的排队策略和包调度方法。排队方案包括输入端排队、中央排队、目的地端排队及它们之间的组合,由于其良好的可扩展性及高线速的要求,现在高速路由器的交换结构中大多采用输入端排队或输入端排队与其它排队组合的排队方案。带有输入端排队的交换机实现快速交换的关键是要有一个简单有效的调度方法,调度在输入端排队的数据包从输入端到目的地端的传送。下面从交换系统的模型介绍:
一个N×M的交换系统,如图1所示,有N个输入端,M个目的地端,从输入端到目的地端有一个交换装置和该系统的中央调度器的一个调度方法,该系统的时间将被离散为离散时间段,虚拟目的地端排队是指到达该系统的数据包在输入端缓冲储存区内按目的地端排队等待被调度传送,数据包仅在时间段的开始到达该系统的输入端,到达输入端的数据包将在各个时间段的结束被调度方法调度它们传送到相应的目的地端,各个数据包将在各个时间段的结束被传送到相应的目的地端。各个数据包的传送时间以时间段为单位衡量,如不加说明,每个数据包的传送时间假设为一个时间段。
经过流量控制后在同一时间到达该交换系统不同输入端的数据包有可能要被发送到相同的目的地,其结果是造成输入端对目的地端的竞争。这些竞争可以由各种方法来解决,在竞争中获胜的数据包将沿着建立好的路径传送到相应的目的地端,而在竞争中失败的数据包则继续在相应的缓冲区内排队,等待以后的调度。排队机制和调度算法是影响系统性能的关键因素。
为了支持服务质量的要求,常见的方法有:(1)同时按优先级和目的地排队,中央调度器直接面对所有的队列调度,即到同一个目的地的各个级别的数据包采用动态加权匹配;(2)只按目的地排队,但采用动态加权排队的方法,总是将最高优先级的数据包排在队首,中央调度器只对M个队列的队首数据包进行调度。第一种方法的优点是排队比较简单,但由于队列往往太多,采用加权匹配,导致中央调度算法的时间复杂度比较高;而第二种方法恰恰相反,只对M个队列进行调度,中央调度算法比较好实现,但由于每一个时间段都要动态计算数据包的权,并且要将权最大的放到队首,即每一个时间段都要动态插队,排队的时间复杂度比较高,很难实现。所以,这些方法都存在着复杂度高和实现难度大等问题。
发明内容
本发明需要解决的技术问题是:克服现有技术的不足,提供一种用于交换系统中输入端两阶段排队结构的方法,该方法采用简单的排队机制和调度方法,简捷快速地实现了插队功能,达到了按动态权调度的效果,减轻了中央调度的压力,并同时能很大程度上支持服务质量,降低了高速骨干网上路由器设计中的中央调度这一瓶颈问题的难度。
本发明所采用的技术方案是:一种用于交换系统中输入端两阶段排队结构的方法,其中交换系统是一个N×M的排队系统,有N个输入端,M个目的地端,从输入端到目的地端有交换装置、对进入每个输入端的数据包进行流量控制的流量控制器和系统的中央调度器,其特征在于具体包括下列步骤:
(1)将到达系统输入端缓冲储存区内数据包进行两阶段排队,第一阶段排队是将到达系统的每个输入端的数据包根据优先级(或称为服务要求)分成L个等级,其中L是预先给定的一个大于1的正整数;
(2)每个输入端的数据包先按它们的等级再按目的地进行排队,即将同一等级的、送到同一目的地端的数据包组成一个独立的队列,每个输入端缓冲区中第一阶段排队共排成了L×M个队,每M个队组成一个等级的所有队,较高等级的队总是排在较前面;
(3)通过简单有效的调度算法将数据包从第一阶段的队列发送到第二阶段相应的队列进行数据包的第二阶段排队,第二阶段的排队是把来自于第一阶段排队的数据包再按目的地端排队,即:把来自于第一阶段排队的、送到同一目的地端的数据包组成一个独立的队列,每个输入端缓冲区中第二阶段排队共排成了M个队;
(4)由中央调度器快速调度,经过交换装置到达系统的目的地端。
步骤(3)所述的简单有效的调度算法是将第一阶段队列中的队首数据包采用简单规则发送到第二阶段队列中,即:将第一阶段的L×M个队整合成第二阶段的M个队,同时高级别的数据包优先由第一阶段到达第二阶段排队,同时还要考虑到公平性。
上述的简单规则包括下列步骤:第一步:初始化,使系统处于调度状态;第二步:根据各队列的情况,使用快速算法,每个时间段选定一个非空队列准备发送队首数据包。
本发明与现有技术相比具有的优点:本发明给出的一个在输入端采用两级排队机制,第一级排队将数据流分为L个等级,其中L是预先给定的一个大于1的正整数,每个等级再按目的地进行排队,通过采用简单有效地调度算法将优先级高的数据包尽快地传送给第二级排队,准备交换,第二级则采用简单的虚拟目的地排队,整个排队过程和调度过程都通过简单的排队机制和简单的调度方法,简捷快速地实现了插队功能,达到了按动态权调度的效果,减轻了中央调度的压力,并同时能很大程度上支持服务质量,降低了高速骨干网上路由器设计中的中央调度这一瓶颈问题的难度。
附图说明
图1为一个N×M的交换系统结构示意图;
图2为本发明中一个输入端的QM1的整体结构示意图;
图3为本发明中QM2的整体结构示意图;
图4为本发明实施例中一个有3个输入端、3个目的地端的整体交换系统示意图;
图5为本发明实施例中一个输入端的QM1与QM2排队某一时刻状态图;
图6为图5中的状态3个时间段后QM1与QM2的状况;
图7为图5中的状态6个时间段后QM1与QM2的状况;
图8为图5中的状态13个时间段后QM1与QM2的状况;
图9为本发明用于输入、目的地端排队路由器交换的基本结构示意图;
图10为本发明用于基于并行数据包交换的路由器的交换结构示意图。
具体实施方式
本发明实施例给出了一个在输入端排队的具体方法,为了叙述方便,本发明中第一级排队被称为QM1(Queue Manager 1),第二级排队被称为QM2(Queue Manager 2)。该系统的时间将被离散为离散时间段。输入端排队是指到达该系统的数据包在输入端缓冲储存区排队等待被调度传送,再把时间段分为“系统内部时间段”和“系统外部时间段”。数据包仅在“系统外部时间段”的开始到达该系统的输入端。到达输入端的数据包将在各个“系统内部时间段”的结束被调度方法调度它们传送到相应的目的地端,各个数据包将在各个“系统内部时间段”的结束被传送到相应的目的地端。各个数据包在系统内部的传送时间以“系统内部时间段”为单位衡量。如不加说明,在系统内部每个数据包的传送时间假设为一个“系统内部时间段”。“系统内部时间段”应小于或等于“系统外部时间段”。如果一个“系统外部时间段”等于S个“系统内部时间段”,则称该系统具有加速比(Speed-up)S。以下内容如不另加说明,时间段都是指“系统内部时间段”。
本发明不涉及中央调度的方法,任何一种基于“输入端虚拟目的地排队”的中央调度方法都可以配上该排队机制而支持服务质量。以上所述的交换系统是一系列交换系统的抽象模型,其应用包括通讯网络和其它网络。系统中的流量控制器要对进入每个输入端的数据包的流量进行控制,在各输入端的缓冲区中的第一阶段排队的数据包的总数目限制在任意希望的范围内,在各输入端的缓冲区中的第二阶段排队的数据包,对每一个独立的队列上的数目限制在任意希望的范围内,执行该流量控制的任务可根据系统参数,采用包括仿真、分析或两者相结合、现有和将来出现的任何方法来实现,实现该流量控制的方法和形式不受任何限制。
如图2所示,一个输入端的QM1的整体结构示意图,L取3,QM1的功能有两个:数据包排队及向QM2调度和发送数据包。QM1排队分两个层次,依次为:级别(Level)和目的地,因而共有L×M个队,每M级组成一个等级的所有队,较高等级的队总是排在较前面,其中M代表目的地端的个数。表1给出了一个针对ATM的CoS(Class of service)和IP的ToS(Type of service)级别按本发明的方法划分为三个级别的一个具体例子。
表1
    CoS(ATM)     1     2     3     4     5     6   7     8
    ToS(IP)     1     2   3
级别L  0(时延、丢包、抖动) 1(丢包) 2(尽力而为服务)
在本发明中对QM1到QM2通过简单有效的调度算法将数据包从第一阶段的队列发送到第二阶段相应的队列中,等待中央调度器调度。为了支持服务质量的要求,调度算法应该尽快让高级别的数据包快速调度到QM2,同时考虑公平性。作为一个具体的例子,本发明给出了一个被称之为修正了的跑表算法,简记为MRW(Modified Running Watch),该算法的基本规则是:第k级每服务一轮(第k级对应的M个队列各被服务一次),第k+1级被服务一次(第k+1级对应的M个队列中的一个队列被服务一次)。如果当前被服务的队列为空队,则按服务规则直接转到要被服务的非空队列上,该算法能够很好地达到上述要求。
如图3所示,QM2中排队方式是按目的地排队,亦即是要送到同一个目的地的数据包组成一条独立的队列。为了防止出现阻塞的情况,每个QM2缓冲区按照目的地平均分成M个独占区域,第j个独占区只供目的地为j的数据包排队用。一旦第j个独占区被占满,则要求相应的QM1不要再向QM2调度发送到该目的地的数据包。
如图4所示,一个有三个输入端1、2、3,三个目的地端23、24、25的整体交换系统图,输入端和目的地端有一个互联网络22相连的系统,在三个输入端分别进行两阶段排队,第一阶段在各个输入端,先按三个级别再按虚拟目的地排队4、5、6、7、8、9、10、11、12,第二阶段,按虚拟目的地排队13、14、15、16、17、18、19、20、21,队中的一个方框代表一个数据包,每一个队都是先进先出的队列,另外,在每一个输入端,还有一个第一阶段到第二阶段的调度器26、27、28。
一个输入端的QM1与QM2在某一时刻的状态如图5所示。图5至图8中数据包的编号按如下规则:自右至左第一位表示数据包的数目,取值为0、1、2、3、…;第二位表示该数据包所在的级别L,取值为0、1、2;第三位表示该数据包的目的地,取值为0、1、2。第一阶段的排队,优先级是按从高到低排列,用MRW调度方法,3个时间段后QM1与QM2的状况如图6所示,6个时间段后QM1与QM2的状况如图7所示,12个时间段后QM1与QM2的状况如图8所示。
另外,假设以上所有的数据包的长度是定长的,如果是变长数据包,则必须要求在进入输入端时被系统首先切成定长数据包。
本发明具体应用举例如图9和图10的所示。
图9是输入、目的地端排队路由器交换基本结构图,其中路由器的输入端口为1、2、3,输入端调度4,路由器的交换阵列(crossbar)5,路由器的目的端口6、7、8。本发明给出的排队控制方案用在图9中4所示的“输入端调度”,对路由器的所有输入端口接收到的数据包进行排队控制。根据每一个输入端口1、2、3中数据包队列的情况调度,具体实施方式中给出了一种情况的实施方式。
图10是高速骨干网络中的基于并行数据包交换的路由器交换结构图,它是一个4×4路由器并行交换结构,每一个端口的速率为R,其中路由器的输入端口为1、2、3、4,相应的输入端口的数据包分发器(demultiplexor)为5、6、7、8,4×4的路由器的子交换器为9、10、11,目的端口的数据包复合器(multiplexor)12、13、14、15,路由器的目的端口16、17、18、19。本发明给出的调度算法可用在图10中9、10、11所示的4×4的路由器的子交换器中,对子交换器接收到的数据包进行分别调度。具体应用方式类似于图9所示的输入、目的地端排队路由器交换调度算法的应用。

Claims (8)

1.一种用于交换系统中输入端两阶段排队结构的方法,其中交换系统是一个N×M的排队系统,有N个输入端,M个目的地端,从输入端到目的地端有交换装置、对进入每个输入端的数据包进行流量控制的流量控制器和系统中央调度器,其特征在于具体包括下列步骤:
(1)将达到系统输入端缓冲储存区内的数据包进行两阶段排队,第一阶段排队是将到达系统的每个输入端的数据包根据优先级分成L个等级,其中L是预先给定的一个大于1的正整数;
(2)每个输入端的数据包先按它们的优先级等级再按目的地进行排队;
(3)通过采用修正了的跑表调度算法MRW将优先级高的数据包尽快地传送给第二级排队准备交换,第二级排队采用虚拟目的地排队;
(4)最后由中央调度器快速调度,经过交换装置到达系统的目的地端。
2、根据权利要求1所述的用于交换系统中输入端两阶段排队结构的方法,其特征在于:上述步骤(2)是指将同一等级的、送到同一目的地端的数据包组成一个独立的队列,每个输入端缓冲区中第一阶段排队共排成了L×M个队,每M个队组成一个等级的所有队,较高等级的队总是排在较前面。
3、根据权利要求1所述的用于交换系统中输入端两阶段排队结构的方法,其特征在于:所述的步骤(3)按虚拟目的地端排队是把来自于第一阶段排队的、送到同一目的地端的数据包组成一个独立的队列,每个输入端缓冲区中第二阶段排队共排成了M个队。
4、根据权利要求1所述的用于交换系统中输入端两阶段排队结构的方法,其特征在于:上述步骤(3)所述的修正了的跑表调度算法MRW是将第一阶段队列中的队首数据包发送到第二阶段队列中,即将第一阶段的L×M个队整合成第二阶段的M个队,且高优先级级别的数据包优先由第一阶段到达第二阶段排队,同时还要考虑到公平性。
5、根据权利要求1所述的用于交换系统中输入端两阶段排队结构的方法,其特征在于:修正了的跑表算法MRW是:第k级对应的M个队列相继各被服务一次,第k+1级对应的M个队列中的一个队列被服务一次,如果当前被服务的队列为空队,则按服务规则直接转到要被服务的非空队列上。
6、根据权利要求1所述的用于交换系统中输入端两阶段排队结构的方法,其特征在于:所述的交换系统是一系列网络通信系统,包括输入端排队的交换机、路由器及其它网络的抽象模型,该交换系统的输入被抽象为数据包。
7、根据权利要求1所述的用于交换系统中输入端两阶段排队结构的方法,其特征在于:所述交换系统的输入数据包是定长的。
8、根据权利要求1所述的用于交换系统中输入端两阶段排队结构的方法,其特征在于:所述交换系统的输入数据包是不定长的,不定长的数据包要事先被系统切成定长的数据包。
CNB031264328A 2003-09-28 2003-09-28 一种用于交换系统中输入端两阶段排队结构的方法 Expired - Fee Related CN1306759C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB031264328A CN1306759C (zh) 2003-09-28 2003-09-28 一种用于交换系统中输入端两阶段排队结构的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB031264328A CN1306759C (zh) 2003-09-28 2003-09-28 一种用于交换系统中输入端两阶段排队结构的方法

Publications (2)

Publication Number Publication Date
CN1601978A CN1601978A (zh) 2005-03-30
CN1306759C true CN1306759C (zh) 2007-03-21

Family

ID=34658797

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031264328A Expired - Fee Related CN1306759C (zh) 2003-09-28 2003-09-28 一种用于交换系统中输入端两阶段排队结构的方法

Country Status (1)

Country Link
CN (1) CN1306759C (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI117685B (fi) * 2004-12-09 2007-01-15 Tellabs Oy Yhdistetty asiakasvuo- ja laatuluokkaperusteinen vuorotusmenetelmä ja -laitteisto siirtoyhteyskapasiteetin vuorottamiseksi pakettikytkentäisten tietoliikennevoiden kesken
CN101039254B (zh) * 2006-03-15 2011-01-26 联想(北京)有限公司 一种媒体数据重组方法以及组包服务器
EP3070893B1 (en) * 2015-03-20 2017-10-04 Alcatel Lucent Scheduling of packets in network devices

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5757771A (en) * 1995-11-14 1998-05-26 Yurie Systems, Inc. Queue management to serve variable and constant bit rate traffic at multiple quality of service levels in a ATM switch
WO1998036587A2 (en) * 1997-02-14 1998-08-20 Advanced Micro Devices, Inc. Queuing structure and method for prioritization of frames in a network switch
CN1332554A (zh) * 2000-07-07 2002-01-23 Lg电子株式会社 异步传输模式交换机中的信元处理方法和设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5757771A (en) * 1995-11-14 1998-05-26 Yurie Systems, Inc. Queue management to serve variable and constant bit rate traffic at multiple quality of service levels in a ATM switch
WO1998036587A2 (en) * 1997-02-14 1998-08-20 Advanced Micro Devices, Inc. Queuing structure and method for prioritization of frames in a network switch
CN1332554A (zh) * 2000-07-07 2002-01-23 Lg电子株式会社 异步传输模式交换机中的信元处理方法和设备

Also Published As

Publication number Publication date
CN1601978A (zh) 2005-03-30

Similar Documents

Publication Publication Date Title
US8861344B2 (en) Network processor architecture
US7742405B2 (en) Network processor architecture
US7499464B2 (en) Buffered crossbar switch with a linear buffer to port relationship that supports cells and packets of variable size
US7212535B2 (en) Scheduling items using mini-quantum values
JPH10313324A (ja) 通信ネットワークにおけるパケットの配送装置とその方法
CA2318163A1 (en) Method for providing delays independent of switch size in a crossbar switch with speedup
US7675930B2 (en) Chip circuit for combined and data compressed FIFO arbitration for a non-blocking switch
US7565496B2 (en) Sharing memory among multiple information channels
CN1306759C (zh) 一种用于交换系统中输入端两阶段排队结构的方法
CN1298149C (zh) 基于包模式的流量控制装置及方法
US7350208B1 (en) Method and apparatus for scheduling using a resource variable decreased by amounts corresponding to the efficiency of the resource
US7346068B1 (en) Traffic management scheme for crossbar switch
Liang et al. Performance analysis of packet bundling techniques in DIS
CN114531399A (zh) 一种内存阻塞平衡方法、装置、电子设备和存储介质
RU2257678C2 (ru) Модульный масштабируемый коммутатор и способ распределения кадров в сети быстрого ethernet
US20090059921A1 (en) Replicating and switching multicast internet packets in routers using crosspoint memory shared by output ports
US7123611B2 (en) Packet switching
James et al. A 40 Gb/s packet switching architecture with fine-grained priorities
TAKAHASHI et al. Broadband packet switching network featuring dynamic link speed control
Li et al. Analysis of the centralized algorithm and the distributed algorithm for parallel packet switch
Chandravanshi11 et al. A study of FIFO buffer adoption scheme for high speed data links
CN1464701A (zh) 具有多级缓冲器的负载平衡式交换装置及方法
Wang et al. Bandwidth Guaranteed Multicast Scheduling for Buffered Crossbar
Liu et al. ACK Packet Void Filling Priority Scheduling for Variable Length Optical Packet Switch

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070321

Termination date: 20100928