书签 分享 收藏 举报 版权申诉 / 21

一种受约束排队系统的调度方法.pdf

  • 上传人:1520****312
  • 文档编号:1314535
  • 上传时间:2018-04-15
  • 格式:PDF
  • 页数:21
  • 大小:670.60KB
  • 摘要
    申请专利号:

    CN99107993.0

    申请日:

    1999.06.09

    公开号:

    CN1277509A

    公开日:

    2000.12.20

    当前法律状态:

    撤回

    有效性:

    无权

    法律详情:

    发明专利申请公布后的视为撤回|||地址不明的通知收件人:顾 钧文件名称:视为撤回通知书|||地址不明的通知收件人:顾钧文件名称:第一次审查意见通知书|||实质审查的生效|||公开

    IPC分类号:

    H04L12/56

    主分类号:

    H04L12/56

    申请人:

    顾钧; 农革

    发明人:

    顾钧; 农革

    地址:

    100080北京市海淀区中关村南四街4号中科院软件所国家973项目办公室

    优先权:

    专利代理机构:

    代理人:

    PDF完整版下载: PDF下载
    内容摘要

    本发明给出了一种受约束排队系统的调度方法。一个NxM受约束排队系统(图0)有N个发送源(4)、(5)、(6),M个目的站(8)、(9)、(10),一个交换网络(7)和该系统的调度方法(11)。该系统中的时间被离散成时间段。到达该系统发送源的数据包(或称顾客)在发送源的缓冲储存区内(1)、(2)、(3)内排队等候被调度传送。我们的创造性调度方法动态地计算各排队顾客的发送源和目的站优先级并据此进行高速的配对调度。该调度方法可广泛应用到实际的高效受约束排队系统如高性能大规模的交换机中。

    权利要求书

    1: (1)一个NxM受约束排队系统有N个发送源(或称输入端)、M个目的站(或称输出 端)、一个交换网络和该系统的调度方法,其特征在于:一种新型高效动态调度方法用局部 增量方法来计算排队顾客(或称数据包)相应的发送源和目的站的优先级以达到对顾客的 快速配对调度及传输服务。 (2)根据权利要求1所述的调度方法,其特征在于:用以下七个步骤达到对顾客的快 速调度及传输服务: 第一步:初始化,以建立优先级数据结构并使系统处于调度状态; 第二步:将对应每个目的站的队头数据包按其目的站优先级来进行从高到低的排序; 第三步:对每个目的站已排序的队头数据包的发送源优先级进行处理,以维持这些队 头数据包间发送源优先级的非减性; 第四步:根据各队头数据包的状态,找出一个发送源和目的站间的最大配对,该最大 配对满足以下条件:如果一个数据包未被配对,则至少有一个被配对的数据包的优 先级比该数据包的优先级高,该被配对的数据包与该未被配对的数据包或有相同的 发送源,或有相同的目的站; 第五步:根据建立的配对,传送相应的数据包到其目的站; 第六步:完成传送后,调整新队头数据包的优先级; 第七步:调整未配对数据包的优先级。 (3)根据权利要求2所叙述的调度方法,其特征在于:每个发送源对其要送到各目的 站的数据包都根据它们的目的站优先级进行单独的排队,每个队头数据包是该队 列中的最高优先级数据包。 (4)根据权利要求2所叙述的数据包排队方案,其特征在于:每个数据包的目的站优 先级可以任何方法来计算。 (5)根据权利要求2所叙述的调度方法的第一步,其特征在于:(i)建立储存对应于 每个队头数据包的优先权信息的三元数据结构:SP、DP和VSP,(ii)建立创建 各目的站优先级表的数据结构。 (6)根据权利要求2所叙述的调度方法的第二步,其特征在于:将所有的队头数据包 按其所属目的站进行分组,将每组内的队头数据包按其目的站的优先级来进行从 高到低的排序以构成一个目的站优先级表。 (7)根据权利要求6所叙述的排序操作,其特征在于:排序操作可用软件、固件、硬 件或其组合来实现。 (8)根据权利要求2所叙述的调度方法的第一步、第三步、第六步和第七步,其特 征在于:一个优先权处理器可被组成来产生可供调度方法使用的调度信息。 (9)根据权利要求8所叙述的优先权处理器,其特征在于:这种优先权处理器的一 种操作步骤如下: (i)将每个新到的数据包的SP和VSP变量值初始化为0; (ii)每个队头数据包的优先级按以下情况区别处理: (a)在该数据包已传送到其目的站后,则将该数据包所对应的三元数据结构 删除,并将所有于目的站优先级表里位于其后的所有数据包的SP和VSP 变量值都加一; (b)在该数据包已传送到其目的站后,原在其相应队列中紧随其后的数据包 的SP和VSP变量值都加以该数据包的VSP变量值,如果已加上该数据 包的VSP变量值后的SP变量值仍然小于该数据包的SP变量值,则将紧 随其后数据包的SP变量值设成该数据包的SP变量值; (c)对每个目的站优先级表,如其中任一数据包的SP变量值小于位于其前 的数据包的SP变量值,则将该数据包的SP变量值设成位于其前的数据 包的SP变量值。 (iii)在每S个时间段的结束(S>=1),所有队头数据包的SP和VSP变量值都减 一。 (10)根据权利要求8所叙述的优先权处理器,其特征在于:优先权处理器的另一种 操作步骤如下: (i)将每个新到的数据包的SP和VSP变量值初始化为0; (ii)每个队头数据包的优先级按以下情况区别处理: (a)在该数据包已传送到其目的站后,则将该数据包所对应的三元数据结构 删除,并将所有于目的站优先级表里位于其前的所有数据包的SP和VSP 变量值都减一; (b)在该数据包已传送到其目的站后,原在其相应队列中紧随其后的数据包 的SP和VSP变量值都加以该数据包的VSP变量值,如果已加上该数据 包的VSP变量值后的SP变量值仍然小于该数据包的SP变量值,则将紧 随其后的数据包的SP变量值设成该数据包的SP变量值; (c)对每个目的站优先级表,如其中任一数据包的SP变量值小于位于其前 的数据包的SP变量值,则将该数据包的SP变量值设成位于其前的数据 包的SP变量值; (iii)在每S个时间段的结束(S>=1),所有队头数据包的SP和VSP变量值都加 上S-1。 (11)根据权利要求9或10所叙述的优先权处理器的操作步骤中的(i),其特征在于:对 每个新到的数据包的VSP变量值进行初始化,在各数据包的VSP变量值用相同的 具体值进行初始化时,该具体值可为任意常数。 (12)根据权利要求9或10所叙述的优先权处理器的操作步骤中的(c),其特征在于: 该操作可用任意方法来维护每个目的站优先级表中的队头数据包间的发送源优先级 的非减性。 (13)根据权利要求9或10所叙述的优先权处理器的操作步骤中的(a)和(iii),其特征在 于:对数据包的SP和VSP变量值加上或减去某个值而使各个队头数据包的优先级 进行动态的调整时,这些被加以或减去的数值可为其它任意合理的数值。 (14)根据权利要求2所叙述的调度方法的第四步,其特征在于:根据各队头数据包的 状态,用任意一个最大配对方法来找出一个发送源和目的站间的最大配对。 (15)根据权利要求14所叙述的最大配对方法,其特征在于:一种最大配对的方法如下: 在每次循环配对中,如果一个未配对队头数据包具有其所在发送源的未配对队头数 据包中最高的发送源优先级并且该数据包在所有未配对及要传送到其对应目的站的 队头数据包中有最高的目的站优先级,那么此数据包将被配对。 (16)根据权利要求14所叙述的最大配对方法,其特征在于:另一种最大配对的方法如 下:如果一个未配对队头数据包具有其所在发送源的未配对队头数据包中最高的发 送源优先级或者该数据包在所有未配对及要传送到其对应目的站的队头数据包中有 最高的目的站优先级,那么此数据包将被配对。 (17)根据权利要求15或16所叙述的最大配对方法,其特征在于:一种并行的最大配 对方法将使以下的两个操作步骤重复直到min(N,M)次循环已经被执行或没有新的 配对可能被建立: 步骤1:每个未配对的目的站对其在先前的循环中未曾请求过的队头数据包中具有 最高目的站优先级的包所在的发送源发出请求; 步骤2:每个被请求的发送源依以下情况进行答复: 情况1:如果该发送源是未配对的,该发送源将和发出请求的目的站配对; 情况2:如果该发送源是已配对的且请求中的目的站的发送源优先级比配对中的 目的站的为高,则将当前的配对撤除并与请求中的目的站建立一个新的 配对。 (18)根据权利要求2中的第五步,其特征在于:各被配对的数据包在同一时间段内传 送到其对应的目的站。 (19)根据权利要求2方法中的第六步,其特征在于:一种调整新队头数据包的优先级 的方法是用插入排序法来对要加入到一个目的站优先级表中的新队头数据包以每个 时间段加入一个的形式完成。 (20)根据权利要求19将一个新队头数据包加到其对应的目的站优先级表的方法,其特 征在于:可以应用任何插入排序法,包括二叉插入排序法。 (21)根据权利要求2所叙述的操作,其特征在于:各操作不但可以对定长数据包进行, 也可以应用到变长数据包上。 (22)根据权利要求21所叙述的对变长数据包的应用,其特征在于:一种方法是当一个 数据包在某时间段内被调度要传送到其目的站时,如果另有一个与该被调度数据包 同队列的数据包早于该时间段开始其传送但尚未传送完毕,则此另一数据包在该时 间段内继续其传送过程,而该被调度的数据包则等待下次再被调度。 (23)根据权利要求2所叙述的操作,其特征在于:各操作可用串行、并行、流水线、 软件、硬件、固件或它们的组合的方式来实现。 (24)根据权利要求23所叙述的实现方式,其特征在于:该实现方式可以是集中的,也 可以是分布的。 (25)根据权利要求1所叙述的受约束排队系统,其特征在于:该受约束排队系统可用 来实现一系列的网络系统,包括输入端排队的交换机、路由器、波分光纤网、无线 网及有线网等。 (26)根据权利要求5所叙述的数据结构,其特征在于:在先进先出队列的情况下,我 们不再需要辅助变量VSP来从数据包的目的站优先级推导数据包的发送源优先级, 因而辅助变量VSP可被删去,简化为以下的二元数据结构:DP及SP,而建立相 应的目的站优先级表所需的数据结构也可作出相应的改动。 (27)根据权利要求2所叙述的调度方法,其特征在于:当应用到权利要求26所叙述的 二元数据结构上时,所有对VSP的操作可被删去。 (28)根据权利要求2所叙述的调度方法,其特征在于:该调度方法可控制每个数据包 的传输延迟,因而为设计不同的数据包传输服务质量保证方法提供最大的自由度和 最大的支持。

    说明书


    一种受约束排队系统的调度方法 发明所属技术领域:网络通讯系统与应用

        今日的Internet不但在规模上,而且在容量上都迅速增长。此外,近期有一个趋势是将快速包交换机如ATM交换机作为新一代路由器的底层硬件。因此极需设计一种可满足不同网络环境的包交换机体系结构。采用该体系结构生产的包交换机可以部署在从接入网到骨干网的不同位置。为达到此目的,采用的交换机体系结构必须要有很好的扩展性。交换机的扩展性主要决定于所用的排队策略,即供排队之用的缓冲区所处的位置及其组织机制。一般地,排队方案可分为输入端排队、中央排队、输出端排队或前者间之组合。在各种方案中,输入端排队具有最好的扩展性。然而,一个输入端排队之交换机达到高性能的关键是设计一个高效调度方法来调度排队中的数据包从输入端到输出端间的传送。

        本文给出(我们命名为)DSP的高效动态调度方法(在第5节中描述)。该方法可用来对在输入端排队交换机中的数据包进行调度。然而,该方法的应用并不仅仅局限于输入端排队交换机。其应用包括有线网和无线网、电子网和光纤网,等等。我们以下地讨论从一个受约束排队系统模型开始。

        一个NxM的受约束排队系统有N个发送源和M个目的站。该受约束排队系统中的时间被离散成以时间段为单位。到达该系统发送源的数据包(顾客)在他们被调度传送到目的站以前将在发送源的缓冲区排队。数据包仅在时间段的开始到达该系统的发送源。到达发送源后的数据包将在各个时间段内被DSP方法调度它们传送到相应目的站的次序。依据此次序,各个数据包将在各时间段的结束被传送到相应目的站。各个数据包的传送时间以时间段为单位来衡量。如不加说明,每个数据包的传送时间假设为一个时间段。每个数据包的传送延迟定义为其到达相应发送源及目的站的时间间隔。再者,有限的互连网络资源仅在以下限制被满足的情况下可同时建立连接多个发送源及多个目的站间的路径:

        限制1:任何时间,这些同时建立的路径相互间没有共同的发送源和目的站。

        在同一时间到达该受约束排队系统的不同发送源的数据包有可能要被送到相同的目的站,其结果是造成对发送源和目的站的竞争。这些竞争必须用某种方法来解决。在竞争中获胜的包将沿着建立的路径被传送到它们的目的站。而在竞争中失败的包则进入缓冲区排队,以候下次调度。用来组织排队的机制及解决对发送源和目的站的竞争的方法是影响该受约束排队系统的关键因素。解决对发送源和目的站的竞争是该受约束排队系统所用调度方法的主要任务。

        具体地,每个队列中的数据包以它们的目的站优先级来进行排队。因此在每个队列中排头的数据包具有该队列中所有数据包的最高目的站优先级。任何时间段里,仅于各个队列中排头的数据包在满足以下限制的情况下可被调度传送到其目的站:

        限制2:在每个时间段里,每个发送源最多可以传出一个数据包。

        限制3:在每个时间段里,每个目的站最多可以接收一个数据包。

        详细地,在每个时间段的开始,调度方法对各个队列中排头的数据包进行调度。然后在每个时间段的结束,被调度方法所选中的数据包将被传送到它们的目的站。

        例子:图1给出的是一个3×3的受约束排队系统。图2给出了在一个受约束排队系统中的调度及传送操作的时序关系。

        与其它同领域中的方案一样,我们假设每个发送源缓冲区中的数据包按它们的目的站来进行组队。即是,要送到同一个目的站的数据包组成一条独立的队列。此组队方式可有效解决困扰先进先出队列的所谓队头堵塞问题。(在先进先出排队方式中,每个发送源维持一条队列来对所有到达该发送源的数据包提供缓冲。)调度方法根据排队中的数据包状态来进行调度。

        以上所述的受约束排队系统是一系列网络的抽象模型,例如,输入端排队的交换机、波分光纤网、无线网及等等。

        我们的命为DSP的创造性动态调度方法可以控制每个数据包的延迟。为达此目的,现存的研究已在输入端排队交换机的环境里作了一些努力及设计了一些方法。不同方法间的区别主要在于如何从排队中的数据包状态来获得所需的调度信息。与其它方法不同的是,我们的DSP方法是唯一的且是创造性的。主要表现在其所达到的高效、高性能、低复杂度以及易于物理实现。

        现阶段已有多个对一种称之虚拟输出端排队交换机的输入端排队交换机的调度方法[文献1,3,4,6,7,8,9,10,11,12,13,14,15,16,17,18,19]。根据它们可否控制各个数据包通过交换机的延迟,这些现存的方法大体上可分为两大类。

        一个NxM的虚拟输出端排队交换机实际上也是一个受约束排队系统。在一个虚拟输出端排队交换机中,每个输入端(亦即是发送源)有一个缓冲储存区。该(物理)缓冲区由M个(逻辑)队列组成。每个队列对应一个输出端(亦即是目的站),即该队列被单独用来容纳所有从该发送源到所对应的输出端的数据包。该交换机的输入端和输出端间以一个交换网络相连。调度方法的任务是在每个时间段里根据所排队数据包的状态来控制交换网络以建立传送相应被选中数据包的路径。大部分现存的方法都以提高交换机的吞吐量为目标,仅极少数几个可以控制各个数据包通过该交换机的延迟。然而,这几个方法都难以实现。

        在文献中,每个时间段里对排队数据包的调度通常被描述成根据系统当前的负载矩阵来找出一个配对矩阵。负载矩阵及配对矩阵中的行和列分别对应被调度虚拟输出端排队交换机的输入端和输出端。负载矩阵的每个元素是一个二元式(Wi,Wo),该二元式中的Wi和Wo分别代表对应队头数据包的优先级。不失一般性,一个为“0”的元素代表其所对应的队列为空。如果Wi和Wo总是相等的,二元式(Wi,Wo)可用一个标量W来表示。根据一个负载矩阵所找出的配对矩阵由值为“0”或“1”的元素组成。每个配对矩阵满足以下限制:

        限制4:每行或每列最多可有一个“1”。

        由配对矩阵中值为“1”的元素所构成的行和列间的一一映射可用以控制交换网络来建立相应之路径。显然,据此建立之路径满足限制1。

        根据负载矩阵来找配对矩阵是图论中的一个典型匹配问题[文献2]。以所找出的配对矩阵依其性质可分为最大的、最优的或稳定的。在图论中,各种匹配问题已被研究得相当透澈。对将之应用到虚拟输出端排队交换机而言,主要任务是如何定义各队头数据包的优先级。不同的定义可导致截然不同的方法复杂度和交换机性能。在已有的方法中,稳定配对方法具有最好的可调性以及对数据包通过该交换机的延迟进行控制的最强能力。但这些方法的复杂度很高,不能付诸实用。

        本发明给出了对一种受约束排队系统的快速调度方法,即DSP方法。该方法创造性地动态计算在排队顾客的发送源和目的站优先级,以达对该系统进行高速的配对调度。该调度方法可广泛应用到实际的高效受约束排队系统中,如用以实现高性能大规模的数据交换机或路由器。该受约束排队系统可作为一系列通讯系统如交换机,无线网络和波分光纤网络等等的抽象模型。

        DSP调度方法:

        设计可用于虚拟输出端排队交换机的调度方法是一个近期内急待解决的问题。不幸的是,现存的方法不但复杂而且难于实现,因而导致较差的交换机性能。本节给出可用于高速虚拟输出端排队交换机的DSP方法。该方法具有一般性,其应用并不仅仅局限于输入端排队交换机,还可用于包括有线网和无线网、电子网和光纤网等等的网络。

        首先,我们列出一些用以简明后随论述的符号:  符号                         定义  t  在从0开始的时间轴上的一个时间段。  Q(i,j)  用以缓冲储存从发送源i到目的站j的队列。  Cij  Q(i,j)的队头数据包。  Cij’  在Q(i,j)内紧随Cij后的数据包。  PL[j]  由在所有发送源中排队且要送到目的站j的队头数据包所  组成的有序表。该表中的每个元素是一个包括三个变量:  DP、SP和VSP的三元式。每个表中的元素对应一个队头  数据包。该表因而最多可有N个元素。当一个要送到目的  站j的数据包成为一个新的队头数据包时,其对应的三元  式将被加入该有序表中。当一个数据包被传送到目的站j  后,其对应的三元式将从该有序表中删除。  PL[j][k]  PL[j]中的第k个三元式。  |PL[j]|  PL[j]中的元素个数。

        接着,我们的DSP方法给出如下:

        第一步:初始化;

        第二步:将对应每个目的站的队头数据包按其目的站优先级来进行从高到低的排序:

        第三步:对每个目的站已排序的队头数据包的发送源优先级进行处理,以维持这些队头数据包间发送源优先级的非减性;

        第四步:根据各队头数据包的状态,找出一个发送源和目的站间的最大配对。(一个配对是最大的当且仅当任何未配对的发送源和目的站间没有可供调度的数据包。)该最大配对满足以下条件:如果数据包Cij未被配对,则至少有一个被配对的数据包优先级比Cij高。该被配对的数据包或在发送源i,或要送到目的站j;

        第五步:根据建立的配对,传送相应的数据包到其目的站;

        第六步:调整新队头数据包的优先级;

        第七步:调整未配对数据包的优先级;

        以上所示的DSP方法执行以下两个任务:

        任务1:在每次调度的开始,推导出排队中的数据包的发送源和目的站优先级,即SP和DP;

        任务2:根据排队中的数据包的发送源和目的站优先级,通过循环的配对过程来对发送源和目的站进行配对。

        一个名为SDP的处理器被用来计算数据包的发送源和目的站的优先级。

        如果一个发送源和一个目的站(在任务2中)被配对,一条连接该发送源和目的站的路径将被建立用以传送相应的队头数据包。为叙述简单起见,当我们说一个数据包Cij被配对时,其意指第i个发送源与第j个目的站被配对。

        用于DSP方法中第四步的最大配对过程有两种作法:

        配对法1:在每次循环中,数据包Cij将被配对,如果(i)Cij在所有未配对及排队于第i个发送源的队头数据包中有最高的发送源优先级,和(ii)Cij在所有未配对及要传送到第j个目的站的队头数据包中有最高的目的站优先级。

        配对法2:在每次循环中,数据包Cij将被配对,如果(i)Cij在所有未配对及排队于第i个发送源的队头数据包中有最高的发送源优先级,和/或(i)Cij在所有未配对及要传送到第j个目的站的队头数据包中有最高的目的站优先级。

        给出的DSP方法可用任何程序语言实现及应用到任何所述的受约束排队系统。

        现存的基于稳定配对方法的调度方法有以下的缺陷:

        1.所有的数据包的长度被假设是固定的。现存的方法没有提供对变长数据包的处理。

        2.现存的稳定配对方法的复杂度是Ω(N2)[文献5]。对为高速交换机而设计的方法而言,该复杂度未免太高。

        3.现存的方法中对各数据包优先级的计算具有难以实现的高复杂度。

        以上所列现存方法的三大缺陷是设计一个高性能方法时所必须克服的。为达此目的,我们已通过对稳定配对方法在输入端排队交换机(请记住,虚拟输出端排队交换机实际上是一种输入端排队交换机)的特定环境里的应用进行了深入的研究。此外,定长的和变长的数据包被以统一的方式进行调度。

        我们的调度方法对每个数据包分配三个变量:VSP、SP及DP。每个数据包对应的SP和DP变量值分别代表该数据包的发送源和目的站优先级。不失一般性,我们假设越小的SP和DP变量值分别代表的发送源和目的站优先级越大。各数据包的发送源和目的站优先级代表对应的数据包在解决发送源和目的站竞争时的优先次序。VSP是一个辅助变量,其具体用途稍后再述。如何定义和计算每个数据包的目的站优先级不是本发明的内容。

        我们所要解决的是如何动态地从各数据包的DP来推导出其SP。在对这一最关键问题的处理上,我们的方法是与众不同的。具体表现在其所达到的性能上,主要有:

        1.高速度:一个调度方法的复杂度由两大部分组成,即是,配对方法和计算每个数据包的发送源及目的站优先级。与现存的方法相比,我们的调度方法有极低的复杂度。

        2.对服务质量的有力支持:对服务质量提供支持的能力强弱对未来的交换机系统是其性能的一个主要指标。我们的调度方法可控制每个数据包的传输延迟,因而为设计不同的服务质量保证方法提供最大的自由度和最大的支持。

        3.易于实现:我们的方法可减低其所调度系统的实现难度。

        4.良好的扩展性:我们的方法可用于从小到大、不同规模的约束排队系统。而其方法复杂度仅随系统规模的增大而缓慢增长。

        5.可分布性:我们的方法可以分布的形式来实现。其分布实现可进一步降低被调度系统的实现和维护难度。

        下面结合附图对本发明作进一步详细的描述。

        图1所示的是一个有3个发送源S1[4]、S2[5]、S3[6]和3个目的站D1[8]、D2[9]、D3[10]的受约束排队系统模型。发送源和目的站间以一个互连网络[7]相连。每个编号的方框代表一个正在排队的数据包。方框内的编号代表该数据包的目的站。队列[1]、[2]、[3]分别用以缓冲储存从发送源[4]到目的站[8]、[9]、[10]的数据包。每个队头数据包是其所在队列的最高优先级数据包。

        图2所示的是在一个受约束排队系统中的调度及传送操作的时序关系。如图所示,在每个时间段的开始,调度方法对各个队头数据包进行调度;然后在每个时间段的结束,被调度方法所选中的队头数据包将被传送到它们的目的站。

        DSP方法可用串行、并行、流水线、软件、固件、硬件或其组合的方式来实现。

        从8.1至8.3节中,我们给出一个对第5节中所述DSP方法的软件实现。以下先给出一个基于队头数据包的发送源和目的站优先级的循环最大配对方法。然后再解决DSP方法中最困难也是最关键的部分,即,对各个队头数据包的发送源和目的站优先级的计算。

        在8.4节中,我们给出DSP的体系结构设计及硬件实现。

        在上一节中,我们给出了两个配对方法,即配对法1和2。在每个时间段的开始,配对方法找出发送源和目的站间的配对。然后在每个时间段的结束,相应该配对的队头数据包将被传送到它们的目的站。

        以上的配对方法可有不同的实现。具有相同效能的方法可以各种形式来实现,只要被以上的配对方法配对的发送源和目的站也被该方法所配对。一个并行最大配对方法

        在此我们给出对以上配对方法的一个并行实现。在方法的开始,所有的发送源和目的站都是未配对的。以下的两个步骤将被重复直到min(N,M)次循环已经被执行或没有新的配对可能被建立。

        步骤1:每个未配对的目的站对其在先前的循环中未曾请求过的队头数据包中具有最高目的站优先级的包所在的发送源发出请求;

        步骤2:每个被请求的发送源依以下情况进行答复:

            情况1:如果该发送源是未配对的,该发送源将和发出请求的目的站配对。

            情况2:如果该发送源是已配对的且请求中的目的站的发送源优先级比配对中的

                目的站的为高,则将当前的配对撤除并与请求中的目的站建立一个新的

                配对。

        对发送源和目的站优先级的不同定义可导致用以上配对方法调度的受约束排队系统具有不同的特性。以下我们接着讨论如何计算每个数据包的发送源和目的站优先级。

        每个排队中数据包的发送源和目的站优先级被配对方法用来解决对发送源和目的站的竞争。在本文中,我们不对如何计算每个数据包的目的站优先级加以任何限制。换言之,每个数据包的目的站优先级可以任何方法来计算。

        以下的讨论中,我们将集中在如何从每个数据包的目的站优先级推导出其发送源优先级。每个数据包被赋予一个辅助变量VSP。该辅助变量用以储存为推导出每个数据包的发送源优先级而所需之信息。一个用来储存与每个数据包相关之调度信息的数据结构示例如下:

        STRUCT PSI1{

             INT DP;

             INT SP;

             INT VSP;

        };

        数学意义上,存储于PL[j]中的第i个包的DP,SP和VSP可用(类似于PASCAL程序设计语言中的)结构操作符分别表达为PL[j][i].DP,PL[j][i].SP和PL[j][i].VSP。计算各个数据包的SP和VSP变量值有多种方法,这里我们仅给出两个例子,即,SDP1和SDP2处理器。SDP1处理器

        第一种计算每个数据包Cij的SP和VSP变量值的方法如下:

        情况1:如果Cij是一个新到的数据包,其SP和VSP变量值初始化为0。

        情况2:如果Cij是一个队头数据包,则按以下情况区别处理:

          情况2.1:如果PL[j]中的第k个(三元式所对应的)数据包已被传送到目的站j,

                则将该包从PL[j]中删除。对每个h=k+1,k+2,……|PL[j]的三元式,如果

                PL[j][k].DP<=PL[j][h],则三元式PL[j][h]的SP和VSP变量值将加一。

          情况2.2:在Cij被传送到其目的站j后,原在队列Q(i,j)中紧随其后的数据包Cij’

                的SP和VSP变量值将被加上Cij的VSP变量值。如果已加上Cij的VSP

                变量值后的Cij’的SP变量值小于Cij的SP变量值,则将Cij’的SP变量值

                设成Cij的SP变量值。

        情况2.3:对所有的PL[j]表,如果PL[j][k].SP<PL[j][k-1].SP,其中k=2,3,……,

                |PL[j]|,则将PL[j][k].SP设成PL[j][k-1].SP。

        情况3:在每S个时间段的结束(S>1),所有队头数据包的SP和VSP变量值都减一。SDP2处理器

        另一种计算每个数据包Cij的SP和VSP变量值的方法如下:

        情况1:如果Cij是一个新到的数据包,其SP和VSP变量值初始化为0。

        情况2:如果Cij是一个队头数据包,则按以下情况区别处理:

        情况2.1:如果PL[j]中的第k个(三元式所对应的)数据包已被传送到目的站j,

               则将该包从PL[j]中删除。对每个h=1,2,……k-1的三元式,如果

               PL[j][h].DP<=PL[j][k],则三元式PL[j][h]的SP和VSP变量值将减一。

        情况2.2:在Cij被传送到其目的站j后,原在队列Q(i,j)中紧随其后的数据包Cij’

               的SP和VSP变量值将被加上Cij的VSP变量值。如果已加上Cij的VSP

               变量值后的Cij’的SP变量值小于Cij的SP变量值,则将Cij’的SP变量值

               设成Cij的SP变量值。

        情况2.3:对所有的PL[j]表,如果PL[j][k].SP<PL[j][k-1].SP,其中k=2,3,……,

               |PL[j]|,则将PL[j][k].SP设成PL[j][k-1].SP。

        情况3:在每S个时间段的结束(S>=1),所有队头数据包的SP和VSP变量值都加上S-1。

        在SDP1和SDP2中,对数据包的SP和VSP变量值加上或减去某个值实际上是对各个队头数据包的优先级进行动态的调整。在加或减中所用的具体值并不重要。用不同的值来进行加减同样可以达到同样的目的。

        结合了数据结构PSI1的DSP方法构成了对所述受约束排队系统的一种通用调度方法。换言之,不管如何定义各个数据包的目的站优先级,DSP方法都可用来对排队中的数据包进行调度。然而,DSP方法及其数据结构PSI1在某些情况下可进一步简化。例如,每个队列对其内的数据包以先进先出的形式进行服务。在先进先出队列的情况下,我们不再需要PSI1中的辅助变量VSP来(从数据包的目的站优先级)推导数据包的发送源优先级,因而辅助变量VSP可被删去。据此可将PSI1简化为以下的PSI2:

            STRUCT PSI2{

                INT DP;

                INT SP;

        };

        在以上的讨论里,我们一直假设所有数据包的长度是固定的。因此将每个被调度出去的队头包传送到其目的站所需的时间也是不变的。然而在有些情况下,各数据包的长度是可变的。因而导致其传送所需的时间也是可变的。

        对变长数据包的调度通常要求每个包的传送过程是连续的。亦即是对任何数据包Cij,一旦被调度传送到其目的站,它的传送过程不可被其它从发送源i到目的站j的数据包所中断。然而,数据包Cij的传送过程可以被除此而外的数据包所中断。

        我们的DSP方法只需作极小的改动就可以达到上述对变长数据包的调度要求。所作的改动如后:当数据包Cij在时间t被调度传送到其目的站,如果与Cij同队列另有一个数据包Cij’早于t开始其传送,则Cij’继续其传送过程,而Cij将等待下次被调度。

        实现DSP调度方法可有多种硬,软件体系结构,不能一一列举。以下所举的仅是一个典型实现。任何对DSP调度方法的实现并不要求受该典型实现所限。

        在方法运行的开始,所有的发送源和目的站都是未配对的。SDP处理器计算出各个队头数据包的发送源和目的站优先级,并据此为所有的M个目的站构造M个PL表。一个名为排序器的器件将对每个PL表中的队头数据包按其目的站优先级来进行从高到低的排序,即,按照每个三元式中的DP变量值从低到高来排序(我们已在前面假设越小的DP变量值代表的目的站优先级越大)。该排序器可以任何软件,固件,串行或并行硬件的形式来实现。

        一旦M个PL表被建立后,我们可用二叉插入法来对要加入到一个PL表中的新队头数据包以每个时间段加入一个的形式完成。在完成每个PL表的排序后,DSP处理器将对该PL表中的所有队头数据包的SP变量值进行处理,以使每个PL表中的队头数据包的SP变量值是非减的。此任务可通过比较每个数据包和位于其前的数据包的SP变量值,如当前数据包的SP变量值小于位于其前的数据包的SP变量值,则将当前数据包的SP变量值设成位于其前的数据包的SP变量值(参见第8.2节中的SDP 1/2设计)。经此处理后,每个PL表中从表头到表尾的各个数据包的SP变量值将是非减的。

        接着,配对器将根据各个队头数据包的DP和SP变量值来进行发送源和目的站间的配对。按照配对结果,互连网络将建立发送源和目的站间的路径来传送被配对的队头数据包。之后,SDP处理器将调整所有(包括新的和旧的)队头数据包的发送源和目的站优先级(参见第8.2节中的SDP 1/2设计)。

        本发明给出了一种受约束排队系统的调度方法。该种受约束排队系统是一系列网络的抽象模型,例如,输入端排队的交换机、波分光纤网、无线网及有线网等等。我们所提出的创造性调度方法由高效动态的局部配对方法和数据包优先级的计算过程所组成。与现存的其它调度方法相比,我们的方法不但更加灵活及具有更好的性能,同时也易于在高速环境下的实现。

    关 键  词:
    一种 约束 排队 系统 调度 方法
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:一种受约束排队系统的调度方法.pdf
    链接地址:https://www.zhuanlichaxun.net/p-1314535.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1