一种OBS网络信道调度方法及调度器与流程

文档序号:13363034阅读:399来源:国知局

本发明属于光网络技术领域,具体地说,涉及一种obs网络信道调度方法及调度器。



背景技术:

随着大数据、云计算、物联网等各种网络应用和需求的爆发式增长,现有的光网络不仅需要大量的带宽,还需要有快速灵活的交换和处理来对带宽实行有效管理。目前,在光网络中主要有三种光交换方式:光线路交换(opticalcircuitswitching,ocs)、光分组交换(opticalpacketswitching,ops)和光突发交换(opticalburstswitching,obs)。

由于obs采用了单向预留机制和使用了更细的交换粒度,因此网络传输延迟和带宽利用率都优于ocs。其次,obs的突发控制包(burstcontrolpacket,bcp)和突发数据包(burstdatapacket,bdp)彼此时空分离(时间上相隔一段偏移时间,空间上分别通过不同的波长信道进行传输),并且每个转发节点可对经过光电转换后的bcp运用成熟的电域技术进行逻辑处理。因而obs可在没有光存储和全光逻辑处理器件的情况下,对网络突发数据实现端到端的全光透明传输,这一点优于ops。由于延迟小、带宽利用率好、器件要求低、技术复杂度不高,这些优点使obs成为当前一种极具吸引力的光交换网实现方案。

然而,因为缺少光存储器件以及突发控制包和突发数据包时空分离等原因,造成obs网络的丢包性能不太理想。



技术实现要素:

为解决以上问题,本发明提供了一种obs网络信道调度方法及调度器,用以简化信道调度过程和提高信道调度速度。

根据本发明的一个方面,提供了一种obs网络信道调度方法,包括:

可用信道寻找步骤,根据bcp携带的信息为对应的待调度bdp寻找可用信道;

最优信道确定步骤,基于信道利用率最大评判原则从可用信道中确定最优信道,以进行bdp调度。

根据本发明的一个实施例,以一个时间窗口内已调度bdp的总长作为该信道的信道利用率。

根据本发明的一个实施例,可用信道寻找步骤进一步包括:

以当前时刻作为时间窗起点,将固定大小的时间窗分为多个等长的时间槽,其中,单个bdp的首尾不得出现在同一个时间槽内;

确定待调度的bdp的首尾在时间槽中的位置:

根据待调度bdp的长度及首尾所在的时间槽标识待调度bdp占据的时间槽;

根据待调度bdp占据的时间槽和该信道已调度bdp占据的时间槽确定可用信道。

根据本发明的一个实施例,标识待调度bdp占据的时间槽进一步包括:

根据待调度bdp首尾在时间槽中的位置,基于下式确定待调度bdp占据的时间槽:

newbdp=((8'h01<<tail)-(8'h01<<head))|(8'h01<<tail)

其中,<<是左移运算符,|是逐位或运算操作,被bdp占据的时间槽标记为1,为被bdp占据的时间槽标记为0,tail表示待调度bdp尾部,head表示待调度bdp首部。

根据本发明的一个实施例,根据待调度bdp占据的时间槽和该信道已调度bdp占据的时间槽确定可用信道进一步包括:

设置对应时间槽数量的位数的寄存器,以记录各信道上的各时间槽的闲/忙状态,其中,时间槽闲标记为0,时间槽忙标记为1;

根据待调度bdp占据的时间槽标记与所有信道的寄存器记录值进行与运算;

根据运算结果确定所有可用信道,其中,

如运算结果中只有一比特为是1且待调度bdp头部位于该比特位对应的时间槽内,则根据该时间槽内已调度bdp的结束时间和待调度bdp的开始时间判断,如两个bdp之间无重叠则该信道可用,否则不可用;

如运算结果中只有一比特位是1且待调度bdp尾部位于该比特位对应的时间槽内,则根据该时间槽内已调度bdp的开始时间和待调度bdp的结束时间判断,如两个bdp之间无重叠则该信道可用,否则不可用;

如运算结果中只有两个比特位是1且待调度bdp首尾位于这两个比特位对应的时间槽中,则:

当待调度bdp占据两个以上时间槽时,根据运算结果和这两个比特位对应的时间槽对应的已调度bdp的结束时间和开始时间判断,如待调度bdp与这两个比特位对应的时间槽对应的已调度bdp的结束时间和开始时间无重叠则该信道可用,否则不可用,

当待调度bdp占据两个时间槽时,根据运算结果和这两个比特位对应的时间槽对应的已调度bdp的结束时间和开始时间判断,如待调度bdp开始时间对应的时间槽已调度bdp的结束时间和待调度bdp结束时间对应的时间槽已调度bdp的开始时间为0且待调度bdp与这两个比特位1对应的时间槽对应的已调度bdp的结束时间和开始时间无重叠,则该信道可用,否则不可用;

如运算结果中比特位均是0,则该信道可用。

根据本发明的一个实施例,从可用信道中确定最优信道后进一步包括:

对确定的最优信道进行刷新步骤,其中,

根据待调度bdp占据的时间槽标记与最优信道闲/忙标记进行或运算,以对最优信道闲/忙标记进行更新,并将待调度bdp的开始时间写入对应的开始时间表和结束时间写入对应的结束时间表,更新信道利用率。

根据本发明的一个实施例,每个信道的各时间槽均设置有开始时间表和结束时间表,用以记录已调度bdp的开始时间和结束时间。

根据本发明的一个实施例,所述时间槽满足以下要求:

n>(toff_max+tbdp_max)/τ>(toff_max+tbdp_max)/tbdp_min

其中,n是时间槽数量,toff_max是最大偏置时间,tbdp_max是最大bdp的时长,tbdp_min是最小bdp的时长,τ表示时间槽大小。

根据本发明的另一个方面,还提供了一种obs网络信道调度器,包括:

接收模块,用于接收bcp信息和bdp信息;

控制模块,根据bcp携带的信息为对应的待调度bdp寻找可用信道,基于信道利用率最大评判原则从可用信道中确定最优信道,以进行bdp调度;

输出模块,用于将已调度的bdp发送出去。

根据本发明的一个实施例,所述控制模块包括:

中央控制单元,根据bcp携带的信息和各信道已调度的bdp信息,得到待调度bdp与各信道已调度的bdp的信道占据结果;

判决引擎单元,根据信道占据结果判决得到当前待调度bdp的可用信道;

通道选择单元,根据信道利用率最大评判原则从可用信道中选择最优信道。

本发明的有益效果:

本发明简化了调度过程,提升了信道调度器的处理速度,改善了obs网络的丢包率。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要的附图做简单的介绍:

图1是obs网络结构示意图;

图2是图1所示网络的单向预留机制示意图;

图3是根据本发明的一个实施例的调度方法流程图;

图4是根据本发明的一个实施例的cu计算示意图;

图5是根据本发明的一个实施例的待调度bdp占据两个以上时间槽的调度示意图;

图6是根据本发明的一个实施例的待调度bdp占据两个时间槽的调度示意图;以及

图7是根据本发明的一个实施例的调度器的硬件结构示意图。

具体实施方式

以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。

如图1所示为现有技术中一种obs网络结构示意图,在边缘入口节点,obs按照某种组装算法将目的地址相同的ip分组汇聚成中等粒度的bdp。同基于光分组的ops相比,这种做法有利于减少网络中数据包的个数,降低网络的处理开销。在bdp生成的同时,入口节点还会为每个bdp生成一个相应的bcp。bcp和bdp是obs特有的数据结构。简单来说,bdp相当于普通网络报文的数据部分,而bcp相当于普通网络报文中的控制开销部分。目前bcp还没有统一的格式和内容,但基本包括:源节点mac地址、目的节点mac地址、bdp包长、偏移时间、协议类型、针对特殊应用的相应扩展内容等,可以根据具体的网络应用、特定的网络架构、路由协议、qos机制等对bcp进行定制,使得obs具有良好的灵活性和可扩展性。

在数据传输时,obs采用的是无需返回确认的单向预留机制,如图2所示。边缘入口节点首先经过电光转换将bcp沿着设定的控制信道发送出去,然后经过一段偏移时间(offsettime),其对应的bdp就经过电光转换并沿着另一条数据信道被发送出去,并不需要等待远端返回的连接建立确认消息。bcp经过每个转发节点时,都先经过光电转换,然后以电的方式进行逻辑处理(包括信道调度、路由转换、偏移时间更新等)。这种做法充分发挥了电交换技术的成熟性和灵活性,不必像ops那样需要高要求的光子器件。同时,由于引进了偏移时间,obs也不需要光存储设备。

然而,也正因为缺少光存储器件以及突发控制包和突发数据包时空分离等原因,造成obs网络的丢包性能不太理想。因此,需要采取各种技术手段来降低obs网络的丢包率,而信道调度正是其中非常有效的一种。

信道调度是指转发节点根据bcp所携带的相关信息,提前为其对应的bdp安排信道资源。但是,作为一个理想的信道调度器,仅仅做到为bdp合理地安排信道资源是不够的,还需要有足够快的执行速度。否则会导致偏移时间不足(bdp追上其对应的bcp)或等待队长超过物理存储容量,引起bdp的丢失。目前网络单位时间内产生的突发数据正日益急剧增长。因此,需要信道调度器的在保障信道利用率的同时还兼具良好的处理速度。

现有的技术一般都是基于以lauc-vf或其它变种算法的信道调度器,它们通过对突发包之间的空隙时间来进行最优信道的评判。由于该评判标准的粒度过细,因此调度器需要处理的信息量及处理复杂度都难以降低,从而影响了调度器处理速度的进一步提升。

几乎所有的obs插空调度算法都可以被分为以下两个阶段。第一个阶段是为待调度bdp寻找可用信道,第二个阶段是根据调度算法的评判标准从以上可用信道中再找出一条最优信道。其中第一阶段是整个调度中耗时最大的部分。由于第一阶段是为第二阶段服务的,所以实际上第一阶段的处理速度和第二阶段所用到的最优信道评判标准是息息相关的。正是因为如此,obs网络中最典型的插空调度算法lauc-vf必须经过一段计算复杂度为o(m)的搜寻过程才能得到最优信道评判标准所需要的所有相关信息,其中m为信道数目。虽然其它调度算法(如min-sv)已经通过简化搜寻过程使得调度速度有所提升,但是它们仍然需要通过耗时的搜寻过程去得到第二阶段所必需的相关信息。

lauc-vf之所以能拥有较好的信道利用率,是因为它努力去使各个bdps之间的voids最小化。既然lauc-vf是通过尽可能充分利用voids来提升信道利用率,那么也可尝试直接将信道利用率作为最优信道的评判标准来达到同样的效果。

因此,本发明提供了一种基于最大信道利用率插空(maximumchannelutilizationwithvoidfilling,max-cu-vf)调度算法的obs网络高速信道调度方法。每次调度时,max-cu-vf都会把待调度bdp调度到cu值最大的一条可用信道上,从而使其它相对稍微空闲一点的信道(即平均空隙较大的信道)被保留下来以备不时之需(比如将来用于安放某些长度较大或在繁忙信道上无处落脚的bdps)。这样经过一段时间的统计观察,可以发现所有信道的带宽都会被尽可能地利用起来,在效果上如同lauc-vf。但是与此同时,max-cu-vf的计算复杂度却降低了,这是因为它挑选最优信道的评判标准从精准的空隙时间信息(细粒度)转换到了信道的整体利用率(粗粒度),忽略了一些对信道利用率而言不必要的繁冗信息(比如void的具体首尾时间等),从而简化了调度过程和加快了处理速度。

另外,由于要直接获取每个信道的绝对cu值是非常困难的。考虑到挑选最优信道时只需区分出信道间cu值的相对大小即可,因此,本发明将单条信道上的一个相对参考量,即将一段观察时间窗内(窗口大小固定)已调度bdps的总长作为该信道的cu值。这样一来,只需对有限窗内的已调度bdps总长进行统计即可得到cu的相对值,这是很容易实现的。

由以上分析可知,cu值与待调度bdps周围的voids时间信息是没有任何关系的,所以在max-cu-vf中不需要获取各种voids的时间信息,自然也就不存在类似lauc-vf那样的复杂搜寻机制,从而达到提升速度的目的。

如图3所示为根据本发明的一个实施例的调度方法流程图,以下参考图1来对本发明进行详细说明。

首先是步骤s110可用信道寻找步骤,根据bcp携带的信息为对应的待调度bdp寻找可用信道。

信道调度是指转发节点根据bcp所携带的相关信息,提前为其对应的bdp安排信道资源,这是因为bcp相当于普通网络报文中的控制开销部分,其包括源节点mac地址、目的节点mac地址、bdp包长、偏移时间、协议类型、针对特殊应用的相应扩展内容等。根据bdp包长可以为对应的待调度bdp寻找可用信道。

首先以当前时刻作为时间窗起点,将固定大小的时间窗分为多个等长的时间槽,要求避免单个bdp的首尾出现在同一个时间槽内(即避免两个插空void处于同一个时间槽)。具体的,每个时间槽的大小τ必须小于tbdp_min且n必须满足式(1):

n>(toff_max+tbdp_max)/τ>(toff_max+tbdp_max)/tbdp_min(1)

其中,n是时间槽数量,toff_max是最大偏置时间,tbdp_max是最大bdp的时长,tbdp_min是最小bdp的时长,τ表示时间槽大小。

考虑到当前时间点之前的时间已经逝去,不能再被待调度bdp使用,所以可以把当前时刻作为时间窗的开始。因此当时间窗的大小满足式(1)时,所有在当前时间点之后的bdps都可以被保证囊括在该时间窗内。这意味着只要时间窗的大小设置满足了式(1),哪怕时间窗的宽度再大,cu值也不会有变化。

如图4显示了时间窗口宽度对信道利用率计算的影响,从当前调度时间点ct来看,不会有bdp在[ct+nτ,ct+(n+n)τ]这一区间出现,因此两个时间窗([ct,ct+(n+n)τ]和[ct,ct+nτ])的cu相同。

接着确定待调度的bdp的首尾在时间槽中的位置。待调度的bdp的首尾在时间槽中的落位索引号将分别通过式(2)和(3)得到:

其中,ts是时间窗的开始时间,th和tt是带调度bdp到达和离开该调度节点的时间,是向下取整的运算符。

接着根据待调度的bdp长度及首尾所在时间槽标识被待调度bdp占据的时间槽。

最后,根据被待调度bdp占据的时间槽和该信道已调度bdp的时间槽确定可用信道。

以下通过一个具体的实施例来对可用信道进行详细说明。如图5所示为当带调度bdp占据两个以上时间槽对调度过程。其中,该时间窗口被等分为8个时间槽,分别为slot0和slot7,在等分时间窗为时间槽时单个bdp的首尾不得出现在同一个时间槽内。如在图5中,newbdp的head和tail分别是2和5,表示它的头尾分别位于时间槽slot2和slot5。

为方便统计及计算,对应时间槽数量n,对每条信道均设置n比特寄存器ch,用来记录该条信道上各时间槽的闲/忙状态。比如当某个已调度bdp的一部分位于第k个时间槽上,那么ch的第k个比特位就要被设置成1,反之为0表示该时间槽是空闲的没被任何bdp占用。另外,还对每条信道设置n单元的开始时间表和结束时间表,已调度bdp的开始和结束时间被记录在该bdp首尾时间槽所对应的时间表单元中。如图5所示包括ch、开始和结束时间表的数值。

标识被待调度bdp占据的时间槽时,可以基于ch和下式(4)得到待调度bdp占据的时间槽:

newbdp=((8'h01<<tail)-(8'h01<<head))|(8'h01<<tail)(4)

其中,<<是左移运算符,|是逐位或运算操作,8'h01,tail表示待调度bdp尾部,head表示待调度bdp首部。对于图4中的newbdp来说,8’h01<<tail的结果是8’b00100000,8’h01<<head的结果是8’b00000100。经过式(4),newbdp的最终结果是8’b00111100,这表示newbdp占据了slot2~slot5的四个时间槽。

确定可用信道时,可以根据待调度newbdp和所有信道ch之间进行与运算,根据运算结果确定可用信号。其结果r可以分成以下五种情况:

1)、r中只有一个比特位是1且newbdp的头部就坐落在该比特位对应的时间槽中,则根据该时间槽内已调度bdp的结束时间和待调度bdp的开始时间判断,如两个bdp之间无重叠则该信道可用,否则不可用。这种情况表示newbdp的头部和某个已调度bdp的尾部处于同一个时间槽。当此情况发生时,不同于swap简单地将该信道判定为不可用信道,为了将信道利用得更充分,可以从时间结束表的对应时间槽单元中提取出已调度bdp的结束时间来和待调度bdp的开始时间做进一步的比较。如果前者小于后者,说明两个bdp之间没有重叠,则该信道可用;否则该信道不可用。例如在图5中,r1=8’b00000100,即newbdp的头部和已调度bdp1的尾部都处于第一条信道的slot2。紧接着已调度bdp1的结束时间t1就被拿来和newbdp的开始时间h9进行比较。因为h9<t1,所以第一条信道不可用。

(2)、r中只有一个比特位是1且newbdp的尾部就坐落在该比特位对应的时间槽中。这种情况表示newbdp的尾部和某个已调度bdp的头部处于同一个时间槽,则根据该时间槽内已调度bdp的开始时间和待调度bdp的结束时间判断,如两个bdp之间无重叠则该信道可用,否则不可用。比如图4中的第二条信道r2=8’b00100000。在这种情况下,已调度bdp2的开始时间被从开始时间表对应的时间槽单元中读出,用来和newbdp的结束时间作比较。如图5中,第二条信道同样也不可用,因为t9>h2。

3)、如r中只有两个比特位是1且newbdp的头尾部就坐落在这两个比特位对应的时间槽中。这种情况表示newbdp的头部和某个已调度bdp的尾部处于同一个时间槽,且其尾部和另一个已调度bdp的头部处于同一个时间槽。这种情况下,需要根据newbdp所占据的时间槽个数分成两个子情况加以讨论。

当待调度bdp占据两个以上时间槽时,根据运算结果和这两个比特位对应的时间槽对应的已调度bdp的结束时间和开始时间判断,如待调度bdp与这两个比特位对应的时间槽对应的已调度bdp的结束时间和开始时间无重叠则该信道可用,否则不可用。具体的,根据r所示信息,从相关时间表中获取两个已调度bdp的结束时间和开始时间。然后将它们和newbdp的首尾时间相比较来决定该信道是否为可用信道。例如在图5中,r3=8’b00100100表示newbdp的头部和已调度bdp3的尾部都处于slot2,newbdp的尾部和已调度bdp4的头部都处于slot5。bdp3的结束时间t3<h9(newbdp的开始时间),且newbdp的结束时间t9<h4(bdp4的开始时间),所以第三条信道是可用信道。同理第四条信道也是可用信道。

当newbdp只占据两个时间槽时,根据运算结果和这两个比特位对应的时间槽对应的已调度bdp的结束时间和开始时间判断,如待调度bdp开始时间对应的时间槽已调度bdp的结束时间和待调度bdp结束时间对应的时间槽已调度bdp的开始时间为0且待调度bdp与这两个比特位1对应的时间槽对应的已调度bdp的结束时间和开始时间无重叠,则该信道可用,否则不可用。如图6所示,不管bdp2是否存在,r=8’b00011000。这种情况下,只有slot3单元中的开始时间和slot4单元的结束时间都为零且t1<h4和t4<h3时,该信道才可用。很明显在图5中newbdp与已调度bdp2的一部分是重叠的。

4)、如r是零,意味着newbdp与任何已调度bdp在该信道上绝对不可能重叠的,即该信道是可用的。

5)、除了以上四种情况以外的所有情况,无论r为何值,该信道都是不可用的。比如图4中的第五条信道,r5=8’b00111100。

经过以上处理,所有的可用信道,如图5中的第三和第四条信道都被找出。可以看到,虽然某些时间槽的部分区域已被若干已调度bdp所占用,但其剩余部分依然可被后续的其它待调度bdp所使用,这明显区别于一些以swap为代表的slot-based调度器,因而max-cu-vf调度器较好的带宽利用率。

接下来是步骤s120最优信道确定步骤,基于信道利用率最大评判原则从可用信道中确定最优信道,以进行bdp调度。具体的,根据最大cu原则从若干可用信道中确定最优信道。因此在图5中,第四条信道将被选为最优信道。若是使用lauc-vf调度算法,则第三条信道会被选为最优信道。这就是lauc-vf和max-cu-vf两种调度算法对于最优信道评判标准的不同。

最后是步骤s130最优信道刷新步骤,通过对newbdp和ch4的旧值进行“或”运算,ch4得到其新值。并且在同一时间,h9和t9分别被写进时间槽slot2对应的开始时间表和时间槽slot5对应的结束时间表。另外,最优信道的cu值也会在同一时间被更新,即newcu=oldcu+newbdp的长度。至此,调度器将返回到步骤1开始处理下一个新的待调度bdp。整个调度过程如此循环反复。

本发明基于最大信道利用率插空max-cu-vf调度算法的obs网络高速信道调度器,相比于传统的lauc-vf等调度算法,max-cu-vf将挑选最优信道的评判标准从突发包间的信道空隙(void)(细粒度)转换到了信道的整体利用率(粗粒度),不再关注一些对信道利用率而言不必要的细节繁冗信息(比如void的首尾时间等),从而简化了调度过程和提升了信道调度器的处理速度,在保障信道利用率的同时,max-cu-vf还获得了良好的速度性能,改善了obs网络的丢包率。

根据本发明的另一个方面,还提供了一种obs网络信道调度器,包括接收模块、控制模块和输出模块。其中,接收模块用于接收bcp信息和bdp信息;控制模块,据bcp携带的信息为对应的待调度bdp寻找可用信道,基于信道利用率最大评判原则从可用信道中确定最优信道,以进行bdp调度;输出模块用于将已调度的bdp发送出去。

在本发明的一个实施例中,控制模块进一步包括中央控制单元、判决引擎单元和通道选择单元。其中,中央控制单元根据bcp携带的信息和各信道已调度的bdp信息,得到待调度bdp与各信道已调度的bdp的信道占据结果;判决引擎单元根据信道占据结果判决得到当前待调度bdp的可用信道;通道选择单元根据信道利用率最大评判原则从可用信道中选择最优信道。

具体的,如图7所示,该max-cu-vf调度器中的接收模块包括o/e接收器和bcp输入缓冲器,o/e接收器中含有时钟数据恢复(clockdatarecovery,cdr)模块,它将恢复出来的bcp按先后到达顺序一个个送往bcp输入缓冲器。中央控制单元(centralcontrolunit,ccu)每完成一次调度就从bcp输入缓冲器取出一个bcp来进行下一次调度。与此同时,ccu还让判决引擎单元去判决哪些信道对当前待调度bdp来说是可用信道。当第i个信道可用时,该信道的使能信号就为高电平,并让取值等于cu_i(第i个信道的cu值)。否则使能信号为低电平且取值等于零。紧接着,从取值1到取值j的所有值都被并行地送入比较器。该比较器可以快速地取得其中的最大值。然后,ccu对最优信道上的相关信息进行刷新。同时被刷新的还有一些其它的bcp信息(比如偏移时间、信道id等等)。完成刷新后,bcp被送入bcp输出缓存器,等待着被e/o发送器转发到网络的下一个节点。ccu会将调度结果告知交换矩阵控制器(switchingmatrixcontroller,smc),由smc去对交换矩阵进行配置,使得后续bdp可以无阻碍地以全光形式在obs网络中进行端到端的传输。

虽然本发明所公开的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所公开的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1