一种基于拥塞控制的M/M/1排队模型调度方法

文档序号:26793500发布日期:2021-09-29 00:14阅读:322来源:国知局
一种基于拥塞控制的M/M/1排队模型调度方法
一种基于拥塞控制的m/m/1排队模型调度方法
技术领域
1.本发明涉及一种基于拥塞控制的m/m/1排队模型调度方法,属于工业以太网通信队列调度领域。


背景技术:

2.随着列车技术的飞速发展,作为当代轨道交通系统的关键技术之一,列车通信网络(train communication network, tcn)已成为研究热点。尤其是随着列车对安全性、舒适性要求的提高,现有mvb等网络无法满足需求,于是高宽带的工业以太网被应用于列车通信。但由于传统工业以太网不能直接应用于列车复杂工况,特别是其无法保障控制等信息实时传输,所以如何提高列车工业以太网的可靠性、实时性和高效率传输特性,减小端到端时延,提高链路利用率就显得尤为重要。


技术实现要素:

3.本发明所要解决的技术问题是针对现有工业以太网通信网络拥塞造成的数据包丢弃和大传输时延的问题。本发明提供一种拥塞控制的m/m/1排队模型调度方法,在m/m/1排队模型传输过程出现拥塞的基础上,以节点的输出速率和输出速率的比值作为网络是否拥塞的标志,且以一个概率值来表示降低拥塞的程度,对拥塞故障状态进行队列重排和调整,在一定程度上减小在队列数据传输过程中由网络拥塞造成的排队时延,重新规划队列排序,实现数据的重调度,改善工业以太网在出现拥塞问题时的队列调度问题,保障工业以太网的传输实时性从而解决上述问题。
4.基于此,有必要对对现有工业以太网队列调度中由于网络拥塞造成的数据包丢弃和大传输时延的问题,提出一种基于拥塞控制的m/m/1排队模型调度方法,该方法包括如下实施步骤。
5.步骤1:建立工业以太网通信队列调度模型。将待调度的任务做出如下规划:实时任务集合可以描述为:
ꢀꢀ
(1), (2)而网络的物理拓扑结构用无向图g(v,e,x)表示,终端系统和交换机用v表示,连接网络中的顶点的通信链路用e表示,在链路中的多分组队列用x表示,则数据流f从发送端s1到接收端s
r
的描述为如下所示:
ꢀꢀ
(3)其中,t
task
表示缓存区中待调度排序的实时性任务,p
i
表示当前任务的周期,d
i
表示当前任务的相对截止期,e
i
表示任务的执行时间,r
i
表示任务的响应时间。
6.步骤2:初始化各个参数。
7.步骤3:定义缓冲区数据按先后顺序进入排队。
8.步骤4:调度开始并按照相关设置传输数据。
9.步骤:5:判断输入数据流速率是否小于等于输出数据流速率,如果是则继续进行下一步骤,否则跳至步骤7。
10.步骤6:调整拥塞程度,并计算拥塞概率值f(x)。
11.步骤7:重新分组,调整缓存区队列长度l
q
,并计算拥塞时延。
12.步骤8:判断新数据队列产生的逗留时间是否大于原数据队列的逗留时间w
s
,如果是则继续计算全路径通道延迟时间,不是则丢弃数据包。
13.步骤9:计算队列等待时间期望值w
q
和总传输时延t
delay

14.步骤10:算法流程结束。
附图说明
15.图1为本发明的交换机进程模型图;图2为本发明的算法流程图;图3为本发明的经过拥塞控制之后的网络传输时延图;图4为本发明的网络总吞吐量对比图。
具体实施方案
16.本发明涉及一种基于拥塞控制的m/m/1排队模型调度方法,属于工业以太网通信队列调度领域,而在工业以太网列车通信系统中,数据消息一共存在着三种类型,分别是实时周期数据,实时非周期数据和非实时数据,三种数据共同肩负着列车的通信任务传输,本发明据此作出了如下假设:在任务开始调度之前具有足够的时间对数据进行调度规划安排,缓冲区的长度足够大,能够容纳所有的传输序列流;缓存区中存放着实时性要求不同的数据类型,本文只针对分析拥塞状态下的队列调度,不对缓冲区内数据自身进行分析;当数据进入缓存区开始,就已经被标注了不同的优先级等级,对于除了实时消息以外的其他数据类型采取泊松分布到达方式,终端接收的过程也服从泊松分布;执行过程中,数据传输任务不会被挂起等待重传。
17.如图1所示,为了证实在m/m/1排队模型中加入拥塞时延控制可以降低网络传输时延,增加收到的数据包,提高网络整体利用率这一特点,在满足工业以太网基本标准协议的基础上,将拥塞控制前后的队列调度进行了对比,建立了交换机进程模型,并在进程模型中加入相关代码对所设计的算法进行模拟分析。该进程模型一共由四个强制状态和一个非强制状态组成。其中,第一个强制状态init表示状态初始化,主要是设置一些调度算法的基本参量定义,为后续算法提供参量支持。而到了第二个强制状态则表示数据包已经到达,产生数据流中断和一些与改进算法相关的缓冲区排队规则,并将其插入指定队列中。svc_star状态表示预处理自队列的头部数据包,是调度前的准备工作,按照规则设定进行数据包查找和删除。在此状态中设置了关于拥塞状态的相关处理。最后的强制状态svc_compl则表示已经完成了数据包和优先级处理的数据转发,进行仿真量的统计和收集。
18.如图2所示,本发明算法有如下步骤。
19.步骤1:建立工业以太网通信队列调度模型。将待调度的任务做出如下规划:实时任务集合可以描述为:
ꢀꢀ
(4)
, (5)而网络的物理拓扑结构用无向图g(v,e,x)表示,终端系统和交换机用v表示,连接网络中的顶点的通信链路用e表示,在链路中的多分组队列用x表示,则数据流f从发送端s1到接收端s
r
的描述为如下所示:
ꢀꢀ
(6)其中,t
task
表示缓存区中待调度排序的实时性任务,p
i
表示当前任务的周期,d
i
表示当前任务的相对截止期,e
i
表示任务的执行时间,r
i
表示任务的响应时间。并针对上述公式,做出如下解释。
[0020] 在缓冲区中,存在多种类型调度任务,t
task
只是其中一类对于实时性要求高的任务类型,对于不属于调度任务安排内的数据,均采取fifo调度策略。而对于采取fifo调度策略的数据,满足的数据任务到达满足公式如下:
ꢀꢀ
(7)并且在此模型中d
i
≤p
i
,e
i
≤r
i
,即任务在传输的过程中是满足在单位周期内执行完毕的状态,不存在同时出现两个或两个以上的任务在进行传输,上一个任务在传输过程中,如果系统调度算法已经对下一待调度任务排队完毕,那么一定会存在等待时延。
[0021]
由于消息会预先存储在交换机中等待转发,所以在相邻的两个交换机之间的等待时间要足够,设max(waitdelay)是单个调度点的最大延迟配置的上限,则由多分组队列x造成的等待时间的值至少满足以下条件:(8)其中,offset表示离线的延迟配置的发送时间,指在数据流链接[v1,v2]上传输的帧f
i
的长度,p表示由路由造成的帧f
i
和[x,v
y
]的数据流路径。
[0022] 步骤2:初始化各个参数。设置仿真运行时间为0.5h,进程模型的服务速率为9600bit/s,数据的到达强度满足1.0s的负指数分布,交换机的服务机制采取m/m/1排队模型 。
[0023]
步骤3:定义缓冲区数据按先后顺序进入排队。
[0024]
步骤4:调度开始并按照相关设置传输数据。
[0025]
步骤:5:判断输入数据流速率是否小于等于输出数据流速率,如果是则继续进行下一步骤,否则跳至步骤7。在上述分析的模型中,数据在产生拥塞状态下的时延主要是由单个调度队列上通过的数据是否可以合理传输来决定的。首先,将节点的输入速率和输出速率的比值作为网络是否拥塞的标志。以y(n)作为系统提前设定好的阈值,y
c
作为某一节点的指定输入数据流速率,y
o
(n)作为某一节点的指定输出数据流速率,且满足如下条件:y
c≤
y
o
(n)
ꢀꢀ
(9)按照上式可知,此时系统是否已经达到了拥塞的状态。
[0026]
步骤6:调整拥塞程度,并计算拥塞概率值f(x)。按照如下公式进行拥塞的调整,以一个概率值来表示降低拥塞的程度:
ꢀꢀ
(10)其中,f(x)由给定阈值和输入速率的和减去节点固定可缓存资源的输出速率和与当前给定阈值的比例相除得来。q表示节点的固定可缓存数据资源,k
p
表示提前给定的阈值大小,且满足给定阈值大于固定的可缓存数据资源,即k
p
≥q。
[0027]
步骤7:重新分组,调整缓存区队列长度l
q
,并计算拥塞时延。对于当前节点的可接收数据的概率g,以及当前节点正在存储的消息s,我们可以根据以下公式进行计算:
ꢀꢀ
(11)则相应的网络拥塞状态就可以用如下的公式进行调整: (12)基于上式可知,在拥塞状态下通过对待缓存区数据队列的长度的调整,可以改变网络拥塞时出现丢包,端到端延时增大的问题。
[0028] 步骤8:判断新数据队列产生的逗留时间是否大于原数据队列的逗留时间ws,如果是则继续计算全路径通道延迟时间,不是则丢弃数据包。ws通过下式计算:
ꢀꢀ
(13)其中为数据流的到达速率,为数据流被服务的概率。
[0029]
步骤9:计算队列等待时间期望值w
q
和总传输时延t
delay
。等待时间期望值w
q
通过下式计算: (14)对于拥塞控制队列排序所产生的时延,可以表示成如下所示:
ꢀꢀ
(15)其中,c
v
(n)表示数据流传输的速率,它的大小取决于链路的信道状态与资源的分配策略,本章设定该值为一个定值。对于数据包流产生的时延,设这个受影响的参数由t
link
来表示,那么:t
link
= f(x)
·
w
q
ꢀꢀ
(16)即平均拥塞等待概率乘以队列平均等待时间得到一个待传输数据全路径通道上经过的延迟时间,将拥塞控制和多分组队列x造成的等待结合在一起,那么相应的总传输时延为:
ꢀꢀ
(17)。
[0030]
步骤10:算法流程结束。
[0031]
本发明仿真所使用的软件为opnet仿真软件。
[0032]
如图3所示,该图表示在经过拥塞控制之后的网络传输时延。图中a线表示m/m/1排队模型的传输时延,b线表示在网络拥塞控制之后重新对队列进行排序和调度的传输时延。在图中可以看到,b线的时延为0.0035s,而蓝色的时延大约为0.0042s,时延降低了约16.7%。由此可见,经过拥塞控制的工业以太网m/m/1排队模型能够更好的实现队列调度,提高网络的实时性。
[0033]
如图4所示,该图是仿真时间内的网络总吞吐量对比图。图中a线表示m/m/1排队模型下的网络吞吐量,b线为加入拥塞控制后m/m/1排队模型调度算法的网络吞吐量。可以看出,b线的吞吐量在前5min内逐渐增加直到6000bits/sec开始趋于稳定,并在这个值的上下浮动;a线在3min内先略微下降,之后逐渐增加,在4400bits/sec趋于稳定。随着时间的推移,可以看出,改进后的调度算法在网络吞吐量上有明显的优势。
[0034]
本发明为了提高工业以太网在列车通信网络应用上的传输速率,减小网络传输时延,在m/m1排队模型的基础上提出了一种基于拥塞控制的队列调度算法,该算法以输入流速率和输出流的速率比值作为拥塞的标志,并通过对拥塞概率值的调整达到控制拥塞的目的,同时考虑了全路径传输时延,经过综合调整使队列实现重调度。通过opnet modeler网络仿真平台将改进后的调度算法与原算法进行对比可知,本文提出的基于拥塞控制的m/m/1排队模型队列调度算法能够使网络传输时延更低,队列安排更合理。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1