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

文档序号:7911291阅读:179来源:国知局
专利名称:一种用于交换系统中输入端两阶段排队结构的方法
技术领域
本发明涉及一种用于流经网络通信系统数据包控制的方法,具体的涉及一种用于交换系统中输入端两阶段排队结构的方法。
背景技术
当前,信息网络以极其迅猛的态势向前发展,因特网上的数据信息流正以每月百分之三十的速度增长,在信息网络上传输的信息量已是天文数字,下一代网络发展的总体趋势必然是带宽的迅速增长和速度的不断提高,核心路由器这个中心节点的交换能力也必然会以几十至几百倍的速度增长;另一方面,人类在信息网络使用的层次在不断深化,用户对于服务质量的要求也在迅速提高。近几年来,服务质量保障已经成为人们研究与讨论的主要课题。对于传统数据传输,“尽力而为(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

在本发明中对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所示。第一阶段的排队,优先级是按从高到低排列,用MRW调度方法,3个时间段后QM1与QM2的状况如图6所示,6个时间段后QM1与QM2的状况如图7所示,13个时间段后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。本发明给出的调度算法可用在图6中9、10、11所示的4×4的路由器的子交换器中,对子交换器接收到的数据包进行分别调度。具体应用方式类似于图9所示的输入、目的地端排队路由器交换调度算法的应用。
权利要求
1.一种用于交换系统中输入端两阶段排队结构的方法,其中交换系统是一个N×M的排队系统,有N个输入端,M个目的地端,从输入端到目的地端有交换装置、对进入每个输入端的数据包进行流量控制的流量控制器和系统中央调度器,其特征在于具体包括下列步骤(1)将达到系统输入端缓冲储存区内的数据包进行两阶段排队,第一阶段排队是将到达系统的每个输入端的数据包根据优先级分成L个等级,其中L是预先给定的一个大于1的正整数;(2)每个输入端的数据包先按它们的等级再按目的地进行排队;(3)通过采用简单有效地调度算法将优先级高的数据包尽快地传送给第二级排队准备交换,第二级排队采用虚拟目的地排队。(4)最后由中央调度器快速调度,经过交换装置到达系统的目的地端。
2.根据权利要求1所述的用于交换系统中输入端两阶段排队结构的方法,其特征在于上述步骤(2)是指将同一等级的、送到同一目的地端的数据包组成一个独立的队列,每个输入端缓冲区中第一阶段排队共排成了L×M个队,每M个队组成一个等级的所有队,较高等级的队总是排在较前面。
3.根据权利要求1所述的用于交换系统中输入端两阶段排队结构的方法,其特征在于所述的步骤(3)按虚拟目的地端排队是把来自于第一阶段排队的、送到同一目的地端的数据包组成一个独立的队列,每个输入端缓冲区中第二阶段排队共排成了M个队。
4.根据权利要求1所述的用于交换系统中输入端两阶段排队结构的方法,其特征在于上述步骤(3)所述的简单有效的调度算法是将第一阶段队列中的队首数据包采用简单规则发送到第二阶段队列中,即将第一阶段的L×M个队整合成第二阶段的M个队,且高级别的数据包优先由第一阶段到达第二阶段排队,同时还要考虑到公平性。
5.根据权利要求4所述的用于交换系统中输入端两阶段排队结构的方法,其特征在于所述的简单规则是第一步初始化,使系统处于调度状态;第二步根据各队列的情况,使用快速算法,每个时间段选定一个非空队列准备发送队首数据包。
6.根据权利要求1所述的用于交换系统中输入端两阶段排队结构的方法,其特征在于修正了的跑表算法MRW满足所述的快速调度算法的要求。
7.根据权利要求1所述的用于交换系统中输入端两阶段排队结构的方法,其特征在于所述的交换系统是一系列网络通信系统,包括输入端排队的交换机、路由器及其它网络的抽象模型,该交换系统的输入被抽象为数据包。
8.根据权利要求1所述的用于交换系统中输入端两阶段排队结构的方法,其特征在于所述交换系统的输入数据包是定长的。
9.根据权利要求1所述的用于交换系统中输入端两阶段排队结构的方法,其特征在于所述交换系统的输入数据包是不定长的,不定长的数据包要事先被系统切成定长的数据包。
全文摘要
一种用于交换系统中在输入端两阶段排队结构的方法,其中交换系统是一个N×M的排队系统,有N个输入端,M个目的地端,从输入端到目的地端有交换装置、流量控制器和系统中央调度器,其特征在于(1)在输入端缓冲储存区内数据包进行两阶段排队,第一阶段排队是将到达系统的每个输入端的数据包根据优先级分成L个等级,其中L是预先给定的一个大于1的正整数;(2)然后每个等级再按目的地进行排队;(3)通过简单有效的调度算法将数据包从第一阶段的队列发送到第二阶段相应的队列进行数据包的第二阶段排队,第二阶段的排队是把来自于第一阶段排队的数据包再按目的地端排队;(4)由中央调度器快速调度,经过交换装置到达系统的目的地端。本发明减轻了中央调度的压力,同时能很大程度上支持服务质量,降低了高速骨干网上路由器设计中的中央调度这一瓶颈问题的难度,可用于高性能大规模的高速路由器亦可用于其它交换机。
文档编号H04L12/24GK1601978SQ0312643
公开日2005年3月30日 申请日期2003年9月28日 优先权日2003年9月28日
发明者郭田德, 陈玉福, 高随祥, 徐德举, 张敏洪, 张三国, 尹红霞, 华光, 杨德庄 申请人:中国科学院研究生院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1