CN113285872B - 一种基于深度强化学习的时间敏感网络通信流调度方法 - Google Patents

一种基于深度强化学习的时间敏感网络通信流调度方法 Download PDF

Info

Publication number
CN113285872B
CN113285872B CN202110257321.XA CN202110257321A CN113285872B CN 113285872 B CN113285872 B CN 113285872B CN 202110257321 A CN202110257321 A CN 202110257321A CN 113285872 B CN113285872 B CN 113285872B
Authority
CN
China
Prior art keywords
network
stream
scheduling
edge
action
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.)
Active
Application number
CN202110257321.XA
Other languages
English (en)
Other versions
CN113285872A (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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN202110257321.XA priority Critical patent/CN113285872B/zh
Publication of CN113285872A publication Critical patent/CN113285872A/zh
Application granted granted Critical
Publication of CN113285872B publication Critical patent/CN113285872B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/123Evaluation of link metrics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于深度强化学习的时间敏感网络通信流调度方法,其步骤如下:通过构筑基础、系统建模、系统框架、时隙选择、状态建模、动作建模、环境建模、深度神经网络来实现整体的构成,并通过错误恢复、实验论证和实验对象对整体进行检测,保证整体的正常使用。该基于深度强化学习的时间敏感网络通信流调度方法,提出了一种适用于TS流调度的基于DRL的建模、训练和应用方法,使用不同的数据训练就能够应用在不同的网络环境,且提出了一些优化方法,使用有向图表达网络信息使得DRLS能够动态的调度TS流并且能够在网络拓扑变化时迅速恢复,控制门技术的使用缓解了DNN的不确定性并且提高了调度方法的调度能力和可靠性。

Description

一种基于深度强化学习的时间敏感网络通信流调度方法
技术领域
本发明涉及通信流调度方法技术领域,具体为一种基于深度强化学习的时间敏感网络通信流调度方法。
背景技术
时间敏感网络(TSN)是工业公职应用领域的关键技术,这一领域通常有实时网络通信需求,TSN网络中最具挑战性的任务之一是设计合适的路由配置以实现时敏通信的时间隔离和端到端实时性的保证,这一任务也被称为调度,时间敏感通信需求(TS流)可能会因应用通信需求的变化或网络拓扑的变化而发生变化,在这种情况下,调度方法必须要尽快计算新的调度,在学术界和工业界主要有两种调度方法:基于求解器的方法和基于启发式规则的方法,基于求解器的方法一般使用整数线性求解器(ILP)求解调度约束得到调度方案,这种方法非常耗时,基于启发式规则的方法相对来说会快一些,但是它们很难为复杂网络计算出调度,我们提出了一种新颖的基于启发式规则并充分利用深度强化学习工具的调度方法——基于深度强化学习的时间敏感网络通信流调度方法(DRLS),拥有端到端实时通信保障的时间敏感通信一直以来都是航空控制领域研究的热点问题,其他快速发展的领域,例如工业控制和列车通信也都逐渐加入确定性网络通信的浪潮,传统的“尽力而为”网络主要关注点在于高吞吐量和低时延,但是它无法满足实时传输的需求,TSN被提出来就是为了解决实时数据的确定性传输问题,TSN是一个网络通信协议用来将以太网中的时间敏感技术标准化,使其可以被广泛使用,在TSN中,最具挑战性的任务是为所有的网络设备找到一个合理的配置,使其可以传输所有TS通信流,这个配置也叫作调度表,调度表需要满足每一条流的时延都小于最大端到端时延,同时任意两条流之间必须在时间上隔离开来,计算调度表的过程称为调度,它不仅包括所有TS流的路由,还包括TS流所有帧的发送、转发和接收时间点,TS调度问题通常是一个多约束优化问题,需要专家知识对相应问题进行分析和建模,TS调度问题被证明是NP完全的,因此,研究人员致力于寻找一个近似的局部最优解(调度方法),这个近似解可以在合理时间内计算出次优的调度表,可调度性(即给定TS流需求找到合适调度的能力)和运行时间是评估调度方法的两个最重要的指标,一般来说,TS流的调度是根据网络拓扑和TS流的需求来计算的,然而,TS流需求和网络拓扑可能是不断变化的,网络拓扑的变化或设备故障会导致TS流需求的变化,为不断变化的TS流需求计算调度表,我们称之为可恢复性,也是调度方法的一个重要性能标准,TS调度方法主要分为两类:基于求解器的调度方法和基于启发式规则的调度方法,基于求解器的方法,如基于SMT求解器的方法和基于ILP求解器的方法可以实现极高的链路利用率,为包含TS流和BE流的混合网络计算调度,但该方法计算复杂度高,可恢复性差,另一方面,传统的基于启发式的方法(例如,基于禁忌的搜索方法不够一般化,只有在特定场景中才会有好的结果,因此,设计一种高效、高质量的启发式算法是解决TS调度问题的关键,TS调度问题本质上是一类组合优化问题,目前,深度强化学习(DRL)已经被用来解决调度问题,一些研究者使用DRL训练高质量的领域特定主体(agent),并使用该主体解决相应的调度问题,理想的主体(agent)是一组用于调度的启发式规则,本文提出了一个基于DRL的TSN调度方法(DRLS),使用DRL训练主体(agent)在许多复杂的网络场景中动态调度TS流,这些动态场景包括TS流需求变化(增加或减少)的场景和网络拓扑变化(如网络节点或链路故障)的场景,在计算TS流的调度时,DRLS主体(agent)表现为一个精心设计的启发式规则,通过使用不同的网络环境来训练DRLS,可以得到适应各种网络环境的主体(agent),DRLS有两个优势:相对较低的运行时间和强大的可调度性,和基于ILP求解器的方法相比,DRLS极大的减少了运行时间和计算复杂度,并且有更好的可恢复性,和传统的启发式方法相比,DRLS在各种场景中有好得多的可调度性,调度TS流需要确定路由以及报文在每一个网络节点上发出的时间,因此DRL需要详细描述网络资源和TS流需求,但是,如果描述的太过复杂,动作空间就会变得过大,同时也会增加计算复杂度,DRLS用有向图表达网络拓扑,其中记录了网络资源和TS流需求信息,我们通过使用时隙这个概念,同时将路由分解为一系列的链路组合来降低DRL模型的动作空间,主体(agent)的设计也是一个很大的挑战,DRLS的主体(agent)是一个深度神经网络(DNN),主体(agent)必须要获取网络的全局信息才能够为TS流计算调度,我们使用一个图神经网络(GNN)来表达全局网络特征,比如网络节点间的可达性信息,这使得调度方法能够在不依赖大量提前计算好的信息的情况下从网络拓扑变化中恢复,DRLS的训练对于其可可调度性来说也是至关重要的,所有的动作决策需要和其奖励值一起存储在经历池中,这些经历会被用来训练主体(agent)。
但是,基于ILP求解器的静态方法要耗费较长的时间计算调度并且不能适应网络拓扑的变化,传统的基于启发式规则的动态调度方法需要TS流的特殊信息并且不是这些方法只在特定领域有用,尽管基于启发式规则的方法计算速度很快,它们的调度能力通常不好,降低了整体实用性。
发明内容
本发明的目的在于提供一种基于深度强化学习的时间敏感网络通信流调度方法,以解决上述背景技术中提出基于ILP求解器的静态方法要耗费较长的时间计算调度并且不能适应网络拓扑的变化,传统的基于启发式规则的动态调度方法需要TS流的特殊信息并且不是这些方法只在特定领域有用,尽管基于启发式规则的方法计算速度很快,它们的调度能力通常不好,降低了整体实用性的问题。
为实现上述目的,本发明提供如下技术方案:一种基于深度强化学习的时间敏感网络通信流调度方法,其步骤如下:
步骤一:保证整体的构筑基础,布置神经网络并强化学习,在一个神经网络中,通常会定义一个x作为输入x∈XD,这个x是从真实分布中采样得到的,使用f来表达一个激活函数,这是一个通用非线性映射函数,例如函数,sigmoid函数等,θ是一个神经网络中可以训练更新的参数集合,b是一个偏差项,还可以给f加上一个上标l表示神经网络的某一层,然后用y来表示这一层的输出,这样,神经网络第1层的输出可以表示为yl=fl(θx+b).,强化学习(RL)包含了主体和环境的交互,在t时间点,主体根据当前的状态wt选择合适的动作at,然后环境给出这个动作的奖励值at并计算出下一个状态wt+1,下一个状态wt+1会返回给主体,这个过程可以形式化的表达为一个五元组,<W,A,P,R,γ>,其中wt∈W,at∈A是t时间点的状态和动作,R是奖励值的分布情况,给定一个(状态,动作)对(wt,at),rt~R(·|wt,at),奖励值就可以被计算出来,用P表示状态转移可能性矩阵,wt+1~P(·|ωt,at),用r表示一个衰减参数,这个参数的值一般接近1,策略pi,π:W→A指定了在状态wt下选择的动作,强化学习的目标就只要找到一个最优策略pi*,从而最大化累计衰减奖励
Figure GDA0003177718740000041
步骤二:系统建模,网络拓扑被建模为一个有向图,其中V表示节点的集合,每一个节点都是网络中的一个交换机,E是链路的集合,每一个链路包含两个节点,如果两个节点vm和vn之间有一条物理链路,那么(vm,vn),(vn,vm)∈E,一个节点对中的前一个节点代表链路的源节点,后一个节点代表链路的目标节点,所有的节点都可以作为TS流的源节点和目标节点,并且可以转发报文,且TS通信需要使用流的概念来建模,一条流是一个周期性的单播消息,只有一个源节点和一个目标节点,使用S来表示所有TS流的集合,一个TS流sk∈S使用一个五元组(Xk,Yk,Ck,Tk,Lk)来表示,其中Xk和Yk表示TS流的源节点和目标节点,Ck,Tk,Lk分别表示以字节为单位的报文大小,以毫秒为单位的TS流周期和最大端到端时延,由于不同的TS流具有不同的周期,弘周期大于或者等于所有流的周期,弘周期使用Ts来表示,通过计算所有流周期的最小公倍数得到,将一条TS流从源节点到目标节点的路由表示为一个链路的集合{e0,e1,...,en},其中链路e0的源节点是Xk,en的目标节点是Yk,而且ei和ei+1是相邻的两条链路,如果使用ei.src和ei.dst分别表示一条边的源节点和目标节点的话,那么会得到如下约束:
Figure GDA0003177718740000046
将一条TS流sk∈S流经ei∈E的第l个消息实例(帧)表示为
Figure GDA0003177718740000043
其中
Figure GDA0003177718740000044
是流sk流经ei的所有帧的集合,为了调度TS流,需要指定
Figure GDA0003177718740000045
通过ei的时间,为了简化问题,将一毫秒划分为a个时隙,时隙用t表示,每一个时隙包含相等长度的时间,在一个弘周期内,一共包含了Ts×α个时隙,选择其中一个时隙通过ei,将链路ei的第j个时隙tj的状态表示为
Figure GDA0003177718740000051
其中
Figure GDA0003177718740000052
是ei的所有时隙的状态,
Figure GDA0003177718740000053
是一个整型数,表示使用时隙tj通过ei的帧的数量,一个时隙最多只能被一个帧占用,因此有如下约束:
Figure GDA0003177718740000054
将所有TS流的周期设定为2的倍数:
Figure GDA0003177718740000055
系统模型有两个基础假设,首先是所有网络节点(交换机)都有分布式时间同步能力,其次所有设备都有实时转发报文的能力,在静态调度环境中,调度方法在调度开始时就能够知道所有的TS流需求,并且这些需求不会变化(增加或者减少),DRLS需要解决的动态调度问题中,TS流需求是会随着时间变化的,DRLS逐一为这些TS流生成调度,新的流的调度计划不能和已有流的调度计划冲突,调度问题的复杂度可以通过将弘周期分割为时隙的方式来降低,这使得DRLS的运行时间大大降低并且可以及时为新的TS流需求生成调度;
步骤三:系统框架,DRLS可以被大致分为三个部分,状态部分抓取TS流的当前信息以及网络拓扑的整体信息,主体是一个决策者决定采取何种动作,而环境在一个动作被选取出来之后负责维护环境中的各种资源并且给出当前动作的奖励,当调度开始时,状态部分根据网络资源信息和TS流信息计算出当前状态wt∈W,主体部分使用一个深度神经网络得到路由决策,使用LD方法得到时隙决策,这两部分共同构成了当前动作决策at,环境部分为主体部分根据调度目标计算出当前动作的奖励值rt,并且在实施动作at维护网络资源状态后计算出下一个状态wt+1,这个奖励值和调度的时延和完成状态有关,奖励值用来持续的提高DNN的决策能力,并通过编码神经网络和策略神经网络来实现DRLS的主体部分,编码网络提取网络的全局信息以及每一条链路的编码向量,策略网络用来获得动作决策;
步骤四:时隙选择,选择一个合适的时隙tj能够让边ei承载更多的TS流,周期小的TS流比周期大的TS流占用更多的时隙,所有这些时隙必须是空闲的,如果一个时隙tj只能承载周期大的流(因为部分时隙已经被其他的TS流占用了),用一个函数G(ei,tj,Tk)表示一条边ei的一个时隙tj是否可以承载一条周期为Tk的流,那么就有
Figure GDA0003177718740000061
其中Tk∈T是一条TS流sk的周期,而Ts是所有流的弘周期,接下来就可以定义一个时隙的度ρ(ei,tj):
Figure GDA0003177718740000062
高度时隙无论大周期流还是小周期流都可以承载,二低度时隙只能承载大周期流,LD方法倾向于在可用的时隙中选择一个度比较低的,这样可以让整个TSN网络承载更多的流,时隙t2,t5,t6,t12,t14是已经被占用的,其他时隙是空闲的,时隙t3可以承载一个周期为4的TS流,因为这条流所需的全部时隙,t3,t7,t11,t15都是可用的,时隙t0不能承载这条流因为时隙t12是不可用的,如果用时隙t3来承载一个周期为8的流,那么网络里面就没有任何一个时隙可以承载一个周期为4的流,因此,LD时隙选择方法就会倾向于选择时隙t0来承载一个周期为8的TS流而非t3,使得端到端时延最短也是调度方法的重要目标,选择一个早一点的时隙能够降低时延,因此LD时隙选择方法会在可用的低度时隙中选择一个最早的;
步骤五:状态建模,wt是主体选择动作at是所需的全部信息,使用一个由实数组成的向量来实现wt,这个向量表示一条边(一条物理链路)的信息,wt由以下六个部分组成:1)当前这条边到目标节点Yk的距离,距离为0则表示这个报文已经到达了目标节点Yk,一般来说,边与目标节点的距离越近越好,当前这条边是不是上一个动作选择的边的邻边,或者是源节点所在的边,TS流的报文,当前要么存储在上一个动作选出的边的目标节点中,要么存储在源节点Xk中,因此,当前动作选出的边一定要是上一个动作选出的边的邻边,当前这条边是否会和之前已经选中的边构成环路,TS流的路由需要避免环路的出现,因为环路会浪费网络资源并且导致时延变大,当前这条边的拥挤程度,拥挤程度表示为空闲时隙数量与总时隙数量的比值,一般来说,选择一个不那么拥挤的边可以保证整个网络的负载均衡,并且避免瓶颈链路的产生,当前这条边是否含有至少一个可用的呼吸,如果一条边没有可以承载当前TS流的时隙,那么这条边就是不能被选中的,当前边的所有可用时隙的度的最小值,度的定义如前所述,这是帮助DNN选择合适边的重要信息,除了wt,也会计算一个|E|×|E|×D矩阵M,这里的E表示边的数量,而D表示任意两条边之间的最大距离,两个边的距离定义为它俩之间的最短路由包含的网络节点数量,用Mijd表示M的(i,j,d)位置的元素,那么M的计算方式可以表达为:
Figure GDA0003177718740000073
Mi,j,d=1意味着如果边ei和ej之间有一条包含d个节点的路由,wt在每一次做动作决策之前都会被重新计算,而M只会为一个网络拓扑计算一次,Wt表示每一条单独的链路的信息而M包含的是拓扑的全局信息,这些信息足够主体租出正确的动作决策,同时也解决了前文提到的网络状态表达挑战;
步骤六:动作建模,使用DRL解决调度问题时,由于可选路由的数量巨大,同时每一帧的发送时间也有太多的选择,DRL的动作空间会非常大,DRLS通过将路由分解为连续的边的组合来降低动作空间的大小,每一个动作只包含一个边而不是整个路由,也就是说,一条流的调度计划{(e0,t0),(e1t1),...,(en,tn)}被分成了多个动作,分解动作使得DRLS有良好的可扩展性,同时也解决了动态调度挑战,一个动作是一个有边ei和时隙tj组成的元组(ei,tj);
步骤七:环境建模,当主体计算出动作A之后,环境部分就会计算出一个奖励值R,奖励值R用于更新DRLS的神经网络的参数theta,Hk用来表示一个TS流sk是否被成功的调度了,成功的调度意味着调度方法找到了一个从Xk到Yk的合法路由以及相应的时隙,同时这个调度计划的端到端时延是小于最大端到端时延Lk的,
Figure GDA0003177718740000081
定义一个链路使用率Us,计算方法是所有边被占用的时隙数量除以所有边的总时隙数量,网络整体的链路使用率Us和单独一条链路的使用率Uk定义如下:
Figure GDA0003177718740000083
需要说明的是无论是整体链路使用率还是单独一条链路的使用率都是在不断变化的,这里定义的Us和Uk是在每一条流调度结束时计算的,链路使用率反应的是链路的拥挤程度,如果一条链路的使用率程度大于网络整体的使用率,那么这一条链路就有可能成为瓶颈链路,综合以上所有的因素,如果一个TS流的调度计划是{(e0,t0),(e1,t1),...,(en,tn)},那么对于产生这个调度计划的每一个动作,其奖励可以定义为:
Figure GDA0003177718740000084
只有当一条流调度结束的时候才能判断这条流是否调度成功了,所以,只有最后一个动作的奖励值能够按照等式11的方式来计算,而其他动作的奖励值是rn经过衰减后的值,从直觉上来讲,越早的动作对于调度成功与否的影响越小;
步骤八:深度神经网络,使用所有的边作为输入,然后输出选择没一条边的可能性,每一个动作(ei,tj)中的边ei都是从DNN的输出中获取的,这个DNN有两个部分,分别是编码神经网络和策略神经网络,编码网络使用边信息W和全局信息M构建一个编码向量Vb,
Figure GDA0003177718740000085
其中Ψ是编码网络,是用一个小的全连接网络实现的,Md是一个E*E的矩阵表示距离为d的可达性信息,策略网络X使用VDb作为输入并且输出选择每一条边的可能性Vp(在0~1范围之间)
Figure GDA0003177718740000086
拥有最高可能性的边会被选中,结合选择某一个动作的奖励值R和DNN的参数theta,神经网络的损失函数定义如下:Lossθ=-logχθ×R (15),下面的公式用来更新神经网络的参数θ,R表示的是更新的步长,而
Figure GDA0003177718740000087
表示损失函数的梯度:
Figure GDA0003177718740000091
步骤九:实现,DNN的可靠性和稳定性很低,为了让DRLS称为一个可以信赖的调度方法,提出了控制门策略来筛除不合适的边,一共有三种边会被认为是不合适的:1)非邻边,如前所述,被选中的边必须是上一个动作选择的边的邻边,2)构成环路的边,环路会浪费网络资源并且导致时延增大,3)没有任何时隙可以调度当天TS流的边,DNN会输出选择一条边的概率,然后控制门会屏蔽掉所有不合适的边,最后,主体会在所有的合适的边里面选择一个概率最大的,如前所示,其实和控制门相关的信息已经传递给DNN了,然而,由于训练数据与测试数据的偏差,同时也会有训练数据质量的问题,神经网络有可能会忽略掉这些重要的信息,通过使用控制门技术,由于训练不足导致的错误会被避免,而神经网络的可导性和稳定性会得到提升;
步骤十:错误恢复,网络节点(交换机)和链路都有可能会宕机,这会导致网络拓扑或者网络资源的变化,最终影响到正在网络中传输的TS流,一个链路故障会影响流经这条链路的所有TS流,而一个节点故障会导致所有以这个节点会源点或者终点边都发生故障并且影响所有流经这个节点的TS流,故障的链路或者节点不能在被同来承载TS流,并且所有受影响的流都要被重新调度,错误恢复通过以下四个步骤完成,首先是记录所有受影响的TS流的全部信息,也就是(Xk,Yk,Ck,Tk,Lk),在网络恢复之后,这些流都需要被重新调度,然后释放被这些受影响的流占用的网络资源,例如时隙,第三步是重新计算网络拓扑的全局信息M,因为这个时候网络拓扑已经发生变化了,第四步是使用重新计算的全局信息M调度这些受影响的流;
步骤十一:实验论证,在3种不同类型的网络拓扑上验证DRLS的性能,分别是用在空中客车A380飞机上的航空电子全双工交换式以太网(AFDX)网络拓扑,用在列车通讯中的梯形网络拓扑和随机生成的网络拓扑,如前所述,一条TS流由一个五元组确定(Xk,Yk,Ck,Tk,Lk),用于训练的流和用于测试的流都是不同的,但是都是随机生成的,Xk和Yk是在所有的网络节点中随机选的,Ck是一个介于64-1518之间的随机整数,为了简便,假定所有物理链路的传输速度都是1Gbit/s并且将1个毫秒划分为4个时隙,这样的话,即使是最大报文也可以在1个时隙内传输通过一个边,也就是说,任何帧都恰好占用一个时隙,TS流的周期Tk是在[16,32,64,128,256,512,1024,2048]范围内随机选取的,最大端到端时延Lk是一个介于64到256之间的随机整数,为三种拓扑,AFDX拓扑,梯形拓扑和随机拓扑分别训练了一个模型,每个模型都使用对应的网络拓扑和随机生成的TS流需求进行训练,测试时使用的网络拓扑与训练时相同,但是使用的TS流是不同的;
步骤十二:实验对象,对增量调度情景、静态调度情景、链路故障情景和无限调度情景同时进行实验,保证整体不同的实验对比,并生成对比表格,从而得出结论。
与现有技术相比,本发明的有益效果是:该基于深度强化学习的时间敏感网络通信流调度方法,提出了一种适用于TS流调度的基于DRL的建模、训练和应用方法,这种方法可以讲题调度问题的复杂度,这是一种通用建模方法,使用不同的数据训练就能够应用在不同的网络环境,且提出了一些优化方法,使用有向图表达网络信息使得DRLS能够动态的调度TS流并且能够在网络拓扑变化时迅速恢复,控制门技术的使用缓解了DNN的不确定性并且提高了调度方法的调度能力和可靠性,同时使用工业场景和手工制造的场景进行了充分的实验来验证DRLS,和基于ILP求解器的方法相比,极大的降低了计算时间,平均每条流可以在30ms内获得调度结果,在错误恢复方面,DRLS可以在网络拓扑变化(例如网络链路和节点宕机)时及时恢复,在可调度性方面,和传统的基于启发式规则的方法相比,平均提升了至少23.9%,增加了整体的实用性,除了基于求解器的调度方法,提出了一种基于窗口的启发式调度方法,但是这种方法有大量的循环和回退步骤,除此之外还有很多其他的启发式调度方法比如最短路径优先(SPF),这是一种贪心算法,在调度过程中选择最短的路径,报文发送的时隙选择能够使得时延最短的时隙,这些方法的运行时间极短,但是调度能力很差,在路由选择方面,现有的研究结果经常使用静态方法找到源节点和目标节点之前全部的路由,然后调度方法在这些可能的路由中进行选择,这种方法的可调度性很强但是可扩展性很低,因为一个大的网络可能有海量的可能路由数量,选择使用DRL技术来解决TS流调度问题,增加了整体实用性。
附图说明
图1为本发明AFDX网络中实验结果示意图一;
图2为本发明梯形网络中实验结果示意图一;
图3为本发明AFDX网络中实验结果示意图二;
图4为本发明梯形网络中实验结果示意图二;
图5为本发明不同调度方法在随机网络拓扑中调度流数目对比实验结果示意图;
图6为本发明不同调度方法在随机网络拓扑中最大链路利用率比较实验结果示意图;
图7为本发明DRLS,LS和LS+LD方法在AFDX网络拓扑中调度流数目的对比实验结果示意图一;
图8为DRLS,LS和LS+LD方法在AFDX网络拓扑中调度流的数目的对比实验结果示意图二。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1-8,本发明提供一种技术方案:一种基于深度强化学习的时间敏感网络通信流调度方法,其步骤如下:
步骤一:保证整体的构筑基础,布置神经网络并强化学习,在一个神经网络中,通常会定义一个x作为输入x∈XD,这个x是从真实分布中采样得到的,使用f来表达一个激活函数,这是一个通用非线性映射函数,例如函数,sigmoid函数等,θ是一个神经网络中可以训练更新的参数集合,b是一个偏差项,还可以给f加上一个上标1表示神经网络的某一层,然后用y来表示这一层的输出,这样,神经网络第1层的输出可以表示为yl=fl(θx+b),强化学习(RL)包含了主体和环境的交互,在t时间点,主体根据当前的状态wt选择合适的动作at,然后环境给出这个动作的奖励值at并计算出下一个状态wt+1,下一个状态wt+1会返回给主体,这个过程可以形式化的表达为一个五元组,<W,A,P,R,γ>,其中wt∈W,at∈A是t时间点的状态和动作,R是奖励值的分布情况,给定一个(状态,动作)对(wt,at),rt~R(·|wt,at),奖励值就可以被计算出来,用P表示状态转移可能性矩阵,wt+1~P(·|wt,at),用r表示一个衰减参数,这个参数的值一般接近1,策略pi,π:W→A指定了在状态wt下选择的动作,强化学习的目标就只要找到一个最优策略pi*,从而最大化累计衰减奖励
Figure GDA0003177718740000121
步骤二:系统建模,网络拓扑被建模为一个有向图,其中V表示节点的集合,每一个节点都是网络中的一个交换机,E是链路的集合,每一个链路包含两个节点,如果两个节点vm和vn之间有一条物理链路,那么(vm,vn),(vn,vm)∈E,一个节点对中的前一个节点代表链路的源节点,后一个节点代表链路的目标节点,所有的节点都可以作为TS流的源节点和目标节点,并且可以转发报文,且TS通信需要使用流的概念来建模,一条流是一个周期性的单播消息,只有一个源节点和一个目标节点,使用S来表示所有TS流的集合,一个TS流sk∈S使用一个五元组(Xk,Yk,Ck,Tk,Lk)来表示,其中Xk和Yk表示TS流的源节点和目标节点,Ck,Tk,Lk分别表示以字节为单位的报文大小,以毫秒为单位的TS流周期和最大端到端时延,由于不同的TS流具有不同的周期,弘周期大于或者等于所有流的周期,弘周期使用Ts来表示,通过计算所有流周期的最小公倍数得到,将一条TS流从源节点到目标节点sk∈S的路由表示为一个链路的集合{e0,e1,...,en},其中链路e0的源节点是Xk,en的目标节点是Yk,而且ei和ei+1是相邻的两条链路,如果使用ei.src和ei.dst分别表示一条边的源节点和目标节点的话,那么会得到如下约束:
Figure GDA0003177718740000122
将一条TS流sk∈S流经ei∈E的第1个消息实例(帧)表示为
Figure GDA0003177718740000123
其中
Figure GDA0003177718740000124
是流sk流经ei的所有帧的集合,为了调度TS流,需要指定
Figure GDA0003177718740000131
通过ei的时间,为了简化问题,将一毫秒划分为a个时隙,时隙用t表示,每一个时隙包含相等长度的时间,在一个弘周期内,一共包含了Ts×α个时隙,选择其中一个时隙通过ei,将链路ei的第j个时隙tj的状态表示为
Figure GDA0003177718740000132
其中
Figure GDA0003177718740000133
是ei的所有时隙的状态,
Figure GDA0003177718740000134
是一个整型数,表示使用时隙tj通过ei的帧的数量,一个时隙最多只能被一个帧占用,因此有如下约束:
Figure GDA0003177718740000135
将所有TS流的周期设定为2的倍数:
Figure GDA0003177718740000136
系统模型有两个基础假设,首先是所有网络节点(交换机)都有分布式时间同步能力,其次所有设备都有实时转发报文的能力,在静态调度环境中,调度方法在调度开始时就能够知道所有的TS流需求,并且这些需求不会变化(增加或者减少),DRLS需要解决的动态调度问题中,TS流需求是会随着时间变化的,DRLS逐一为这些TS流生成调度,新的流的调度计划不能和已有流的调度计划冲突,调度问题的复杂度可以通过将弘周期分割为时隙的方式来降低,这使得DRLS的运行时间大大降低并且可以及时为新的TS流需求生成调度;
步骤三:系统框架,DRLS可以被大致分为三个部分,状态部分抓取TS流的当前信息以及网络拓扑的整体信息,主体是一个决策者决定采取何种动作,而环境在一个动作被选取出来之后负责维护环境中的各种资源并且给出当前动作的奖励,当调度开始时,状态部分根据网络资源信息和TS流信息计算出当前状态wt∈W,主体部分使用一个深度神经网络得到路由决策,使用LD方法得到时隙决策,这两部分共同构成了当前动作决策at,环境部分为主体部分根据调度目标计算出当前动作的奖励值rt,并且在实施动作at维护网络资源状态后计算出下一个状态wt+1,这个奖励值和调度的时延和完成状态有关,奖励值用来持续的提高DNN的决策能力,并通过编码神经网络和策略神经网络来实现DRLS的主体部分,编码网络提取网络的全局信息以及每一条链路的编码向量,策略网络用来获得动作决策;
步骤四:时隙选择,选择一个合适的时隙tj能够让边ei承载更多的TS流,周期小的TS流比周期大的TS流占用更多的时隙,所有这些时隙必须是空闲的,如果一个时隙tj只能承载周期大的流(因为部分时隙已经被其他的TS流占用了),用一个函数G(ei,tj,Tk)表示一条边ei的一个时隙tj是否可以承载一条周期为Tk的流,那么就有
Figure GDA0003177718740000141
其中是一条TS流sk的周期,而Ts是所有流的弘周期,接下来就可以定义一个时隙的度ρ(ei,tj):
Figure GDA0003177718740000142
高度时隙无论大周期流还是小周期流都可以承载,二低度时隙只能承载大周期流,LD方法倾向于在可用的时隙中选择一个度比较低的,这样可以让整个TSN网络承载更多的流,时隙t2,t5,t6,t12,t14是已经被占用的,其他时隙是空闲的,时隙t3可以承载一个周期为4的TS流,因为这条流所需的全部时隙,t3,t7,t11,t15都是可用的,时隙t0不能承载这条流因为时隙t12是不可用的,如果用时隙t3来承载一个周期为8的流,那么网络里面就没有任何一个时隙可以承载一个周期为4的流,因此,LD时隙选择方法就会倾向于选择时隙t0来承载一个周期为8的TS流而非t3,使得端到端时延最短也是调度方法的重要目标,选择一个早一点的时隙能够降低时延,因此LD时隙选择方法会在可用的低度时隙中选择一个最早的;
步骤五:状态建模,wt是主体选择动作at是所需的全部信息,使用一个由实数组成的向量来实现wt,这个向量表示一条边(一条物理链路)的信息,wt由以下六个部分组成:1)当前这条边到目标节点Yk的距离,距离为0则表示这个报文已经到达了目标节点Yk,一般来说,边与目标节点的距离越近越好,当前这条边是不是上一个动作选择的边的邻边,或者是源节点所在的边,TS流的报文,当前要么存储在上一个动作选出的边的目标节点中,要么存储在源节点Xk中,因此,当前动作选出的边一定要是上一个动作选出的边的邻边,当前这条边是否会和之前已经选中的边构成环路,TS流的路由需要避免环路的出现,因为环路会浪费网络资源并且导致时延变大,当前这条边的拥挤程度,拥挤程度表示为空闲时隙数量与总时隙数量的比值,一般来说,选择一个不那么拥挤的边可以保证整个网络的负载均衡,并且避免瓶颈链路的产生,当前这条边是否含有至少一个可用的呼吸,如果一条边没有可以承载当前TS流的时隙,那么这条边就是不能被选中的,当前边的所有可用时隙的度的最小值,度的定义如前所述,这是帮助DNN选择合适边的重要信息,除了wt,也会计算一个|E|×|E|×D矩阵M,这里的E表示边的数量,而D表示任意两条边之间的最大距离,两个边的距离定义为它俩之间的最短路由包含的网络节点数量,用Mijd表示M的(i,j,d)位置的元素,那么M的计算方式可以表达为:
Figure GDA0003177718740000153
意味着如果边ei和ej之间有一条包含d个节点的路由,wt在每一次做动作决策之前都会被重新计算,而M只会为一个网络拓扑计算一次,Wt表示每一条单独的链路的信息而M包含的是拓扑的全局信息,这些信息足够主体租出正确的动作决策,同时也解决了前文提到的网络状态表达挑战;
步骤六:动作建模,使用DRL解决调度问题时,由于可选路由的数量巨大,同时每一帧的发送时间也有太多的选择,DRL的动作空间会非常大,DRLS通过将路由分解为连续的边的组合来降低动作空间的大小,每一个动作只包含一个边而不是整个路由,也就是说,一条流的调度计划{(e0,t0),(e1,t1),...,(en,tn)}被分成了多个动作,分解动作使得DRLS有良好的可扩展性,同时也解决了动态调度挑战,一个动作是一个有边ei和时隙tj组成的元组(ei,tj);
步骤七:环境建模,当主体计算出动作A之后,环境部分就会计算出一个奖励值R,奖励值R用于更新DRLS的神经网络的参数theta,Hk用来表示一个TS流sk是否被成功的调度了,成功的调度意味着调度方法找到了一个从Xk到Yk的合法路由以及相应的时隙,同时这个调度计划的端到端时延是小于最大端到端时延Lk的,
Figure GDA0003177718740000161
定义一个链路使用率Us,计算方法是所有边被占用的时隙数量除以所有边的总时隙数量,网络整体的链路使用率Us和单独一条链路的使用率Uk定义如下:
Figure GDA0003177718740000163
需要说明的是无论是整体链路使用率还是单独一条链路的使用率都是在不断变化的,这里定义的Us和Uk是在每一条流调度结束时计算的,链路使用率反应的是链路的拥挤程度,如果一条链路的使用率程度大于网络整体的使用率,那么这一条链路就有可能成为瓶颈链路,综合以上所有的因素,如果一个TS流的调度计划是{(e0,t0),(e1,t1),...,(en,tn)},那么对于产生这个调度计划的每一个动作,其奖励可以定义为:
Figure GDA0003177718740000164
只有当一条流调度结束的时候才能判断这条流是否调度成功了,所以,只有最后一个动作的奖励值能够按照等式11的方式来计算,而其他动作的奖励值是rn经过衰减后的值,从直觉上来讲,越早的动作对于调度成功与否的影响越小;
步骤八:深度神经网络,使用所有的边作为输入,然后输出选择没一条边的可能性,每一个动作(ei,tj)中的边ei都是从DNN的输出中获取的,这个DNN有两个部分,分别是编码神经网络和策略神经网络,编码网络使用边信息W和全局信息M构建一个编码向量Vb,
Figure GDA0003177718740000165
其中Ψ是编码网络,是用一个小的全连接网络实现的,Md是一个E*E的矩阵表示距离为d的可达性信息,策略网络X使用VDb作为输入并且输出选择每一条边的可能性Vp(在0~1范围之间)
Figure GDA0003177718740000166
拥有最高可能性的边会被选中,结合选择某一个动作的奖励值R和DNN的参数theta,神经网络的损失函数定义如下:Lossθ=-logχθ×R(15),下面的公式用来更新神经网络的参数θ,R表示的是更新的步长,而
Figure GDA0003177718740000171
表示损失函数的梯度:
Figure GDA0003177718740000172
步骤九:实现,DNN的可靠性和稳定性很低,为了让DRLS称为一个可以信赖的调度方法,提出了控制门策略来筛除不合适的边,一共有三种边会被认为是不合适的:1)非邻边,如前所述,被选中的边必须是上一个动作选择的边的邻边,2)构成环路的边,环路会浪费网络资源并且导致时延增大,3)没有任何时隙可以调度当天TS流的边,DNN会输出选择一条边的概率,然后控制门会屏蔽掉所有不合适的边,最后,主体会在所有的合适的边里面选择一个概率最大的,如前所示,其实和控制门相关的信息已经传递给DNN了,然而,由于训练数据与测试数据的偏差,同时也会有训练数据质量的问题,神经网络有可能会忽略掉这些重要的信息,通过使用控制门技术,由于训练不足导致的错误会被避免,而神经网络的可导性和稳定性会得到提升;
步骤十:错误恢复,网络节点(交换机)和链路都有可能会宕机,这会导致网络拓扑或者网络资源的变化,最终影响到正在网络中传输的TS流,一个链路故障会影响流经这条链路的所有TS流,而一个节点故障会导致所有以这个节点会源点或者终点边都发生故障并且影响所有流经这个节点的TS流,故障的链路或者节点不能在被同来承载TS流,并且所有受影响的流都要被重新调度,错误恢复通过以下四个步骤完成,首先是记录所有受影响的TS流的全部信息,也就是(Xk,Yk,Ck,Tk,Lk),在网络恢复之后,这些流都需要被重新调度,然后释放被这些受影响的流占用的网络资源,例如时隙,第三步是重新计算网络拓扑的全局信息M,因为这个时候网络拓扑已经发生变化了,第四步是使用重新计算的全局信息M调度这些受影响的流;
步骤十一:实验论证,在3种不同类型的网络拓扑上验证DRLS的性能,分别是用在空中客车A380飞机上的航空电子全双工交换式以太网(AFDX)网络拓扑,用在列车通讯中的梯形网络拓扑和随机生成的网络拓扑,如前所述,一条TS流由一个五元组确定(Xk,Yk,Ck,Tk,Lk),用于训练的流和用于测试的流都是不同的,但是都是随机生成的,Xk和Yk是在所有的网络节点中随机选的,Ck是一个介于64-1518之间的随机整数,为了简便,假定所有物理链路的传输速度都是1Gbit/s并且将1个毫秒划分为4个时隙,这样的话,即使是最大报文也可以在1个时隙内传输通过一个边,也就是说,任何帧都恰好占用一个时隙,TS流的周期Tk是在[16,32,64,128,256,512,1024,2048]范围内随机选取的,最大端到端时延Lk是一个介于64到256之间的随机整数,为三种拓扑,AFDX拓扑,梯形拓扑和随机拓扑分别训练了一个模型,每个模型都使用对应的网络拓扑和随机生成的TS流需求进行训练,测试时使用的网络拓扑与训练时相同,但是使用的TS流是不同的;
步骤十二:实验对象,对增量调度情景、静态调度情景、链路故障情景和无限调度情景同时进行实验,保证整体不同的实验对比,并生成对比表格,从而得出结论。
测试结果:本发明启发式列表调度方法会找到所有源节点和目标节点之前全部的可用路由,然后对于每一个路由方案,找到使得它的时延最小的时隙,总的时延最小的那个路由会被选中并使用,如果时延最小的那个路由方案的时延大于最大的端到端时延Lk,那么本次调度就失败了,增量调度情景,在本节的测试中,如果一个调度方法成功地调度了一条流,那么它就继续调度下一条流,否则停止调度,实验结果中对比了所有调度方法调度成功的流的数目以及调度结束时的链路利用率,所有的调度方法最多可以运行3600秒,如图1所示,在AFDX拓扑中,DRLS能够调度更多的流,比LS+LD平均多了32.7%,比LS平均多了183.9%,DRLS,LS+LD和LS都可以在60秒之内完成调度的计算,然而HLS和HLS+LD在3600秒之内都无法完成调度计算,可以看出来DRLS调度流的数目的偏差比LS+LD和LS都大,这是因为,一方面,LS+LD和LS比DRLS更加的稳定,另一方面,从图2中可以看出来,DRLS的链路使用率更大(因为调度的流更多),这就也为了网络更加的拥挤,而一个拥挤的网络中容易出现意外情况,图1告诉我们,在含有6个节点的梯形网络中,HLS+LD调度流的数目比DRLS要多,这个结果并不意外,因为HLS+LD考虑了所有可能的路由,这几乎就是一个最优策略,在含有6个节点的梯形网络中,DRLS比LS+LD多调度20%的流,在含有8个和10个节点的网络中,DRLS有微弱的优势(平均多0.5%),当梯形网络变得更大(含有12或14个交换机)时,LS+LD比DRLS调度的流更多(平均多2.5%),只是因为梯形网络太简单了,导致最优的路由就是最短路由,我们从图2中可以看出来,在所有梯形拓扑汇总,DRLS比LS+LD的链路利用率都更大,这告诉我们DRLS偏向于选择一个更长的路由,这个策略在复杂网络汇总可以避免瓶颈链路的产生,但是在梯形网络中似乎不起作用,如图3所示,DRLS比其他的调度方法在随机拓扑中能调度更多的流(比LS+LD平均多23.9%,比LS平均多248.4%),HLS+LD调度的流数目与DRLS几乎一样多,但是在网络规模较大(交换机数目大于8)时,就很难计算出调度计划了,图4中的记过告诉我们,DRLS,LS+LD和LS在网络规模变大的时候都可以调度更多的流,但是他们的链路利用率几乎不变,这是因为当网络变得拥挤时容易出现瓶颈链路;静态调度情景,在本节测试中,随机生成了一定数量的TS流,图5比较了所有调度方法在AFDX拓扑或只能怪调度这些流所用的时间(以秒为单位),需要说明的是ILP方法的调度实验只进行了一次,而DRLS,LS+LD,LS的运行时间是100次实验的平均用时,HLS和HLS+LD无法在3小时内计算出调度,结果告诉我们DRLS比ILP和快很多,而LS+LD和LS比DRLS快很多,LS+LD和LS比DRLS快是因为前者只使用广度优先搜索算法找到最短路由,而后者使用一个深度神经网络找到TS流的路由,尽管HLS+LD方法不能在合理的时间内完成调度,但是我们可以通过它调度的少数几条流获得它的平均用时,图6展示了调度一条流的平均时间(以秒为单位),它告诉我们HLS+LD比其他调度方法慢很多,DRLS,LS和LS+LD的平均用时在TS流数量变大时几乎保持不变,而ILP方法的运行时间在不断变大,这告诉我们DRLS,LS,LS+LD有着比ILP更好的可扩展性;链路故障情景,在本节测试中,如果一个调度方法成功的调度了一条流,那么它接着去调度下一条流否则停止调度,当第1000条流被成功调度时,从网络拓扑中随机删除一条边用来伯尼链路故障,这个故障链路不能再用来承载其他的流,流经这个链路的TS流也需要重新被调度,这意味着这些流需要先从网络中删除,然后重新调度,DRLS,LS+LD和LS都可以从链路故障中恢复,并且图7告诉我们DRLS在变化的网络拓扑中能够比LS+LD和LS调度更多的流,和原本的AFDX(图1)相比,DRLS在故障拓扑中平均少调度5%的流;无限调度情景,在本节测试中,如果一个调度方法成功的调度了一条流,那么它接着去调度下一条流否则停止调度,当之前提到过的总的链路利用率达到50%的时候,随机删除已经调度的100条流,这些流占用的时隙被释放并且可以用来调度其他的流,我们比较了各个调度方法成功调度的流的数目(包括那些被删除了的),可以看出DRLS调度的流的数量比LS+LD多得多,不考虑从其他调度方法是因为他们不能够达到50%的链路利用率(如图2),和图1汇总的结果相比,DRLS在AFDX拓扑中平均多调度204%的TS流。
结论:TSN对于具有时间敏感通信需求的工业控制网络是至关重要的,TSN中一个最具有挑战性的问题就是TS流的调度,大多数已有的方法都有明显的缺陷并且无法满足TSN网络的调度要求,要么只能进行静态调度,要么可调度性差,目前急需一个具有良好的可扩展性、动态调度能力和强大的可调度性的TS流调度方法,我们提出了一个基于DRL的TS流调度方法,DRLS,它可以在相对较短的时间内动态调度TS流,DRLS的主题使用一个深度神经网络实现,它可以被理解为一个精心设计的启发式规则,当网络拓扑变化时,DRLS可以及时的恢复,和传统的基于规则的调度方法以及基于ILP求解器的调度方法相比,DRLS提升了23.9%的可调度性,并且将每一条流的平均调度时间降低到了30毫秒。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (3)

1.一种基于深度强化学习的时间敏感网络通信流调度方法,其特征在于,包括以下步骤:
步骤一:建立基于强化学习的神经网络,在神经网络中,定义x作为输入x∈XD,x是从真实分布中采样得到的,使用f来表达一个激活函数,θ是神经网络中可以训练更新的参数集合,b是一个偏差项,还可以给f加上一个上标l表示神经网络的某一层,然后用y来表示这一层的输出,这样,神经网络第l层的输出可以表示为yl=fl(θx+b).,强化学习RL包含了主体和环境的交互,在t时间点,主体根据当前的状态wt选择合适的动作at,然后环境给出这个动作的奖励值at并计算出下一个状态wt+1,下一个状态wt+1会返回给主体,这个过程可以形式化的表达为一个五元组,<W,A,P,R,γ>,其中wt∈W,at∈A是t时间点的状态和动作,R是奖励值的分布情况,给定一个(状态,动作)对(wt,at),rt~R(·|ωt,at),奖励值就可以被计算出来,用P表示状态转移可能性矩阵,wt+1~P(·|ωt,at),用r表示一个衰减参数,这个参数的值一般接近1,策略pi,π:W→A指定了在状态wt下选择的动作,强化学习的目标就只要找到一个最优策略pi*,从而最大化累计衰减奖励∑t≥0γtrt
步骤二:系统建模,网络拓扑被建模为一个有向图,其中V表示节点的集合,每一个节点都是网络中的一个交换机,E是链路的集合,每一个链路包含两个节点,如果两个节点vm和vn之间有一条物理链路,那么(vm,vn),(vn,vm)∈E,一个节点对中的前一个节点代表链路的源节点,后一个节点代表链路的目标节点,所有的节点都可以作为TS流的源节点和目标节点,并且可以转发报文,且TS通信需要使用流的概念来建模,一条流是一个周期性的单播消息,只有一个源节点和一个目标节点,使用S来表示所有TS流的集合,一个TS流sk∈S使用一个五元组(Xk,Yk,Ck,Tk,Lk)来表示,其中Xk和Yk表示TS流的源节点和目标节点,Ck,Tk,Lk分别表示以字节为单位的报文大小,以毫秒为单位的TS流周期和最大端到端时延,由于不同的TS流具有不同的周期,弘周期大于或者等于所有流的周期,弘周期使用Ts来表示,通过计算所有流周期的最小公倍数得到,将一条TS流从源节点到目标节点的路由表示为一个链路的集合{e0,e1,...,en},其中链路e0的源节点是Xk,en的目标节点是Yk,而且ei和ei+1是相邻的两条链路,如果使用ei.src和ei.dst分别表示一条边的源节点和目标节点的话,那么会得到如下约束:
Figure FDA0003717937270000021
将一条TS流sk∈S流经ei∈E的第1个消息实例表示为
Figure FDA0003717937270000022
其中
Figure FDA0003717937270000023
是流sk流经ei的所有帧的集合,为了调度TS流,需要指定
Figure FDA0003717937270000024
通过ei的时间,为了简化问题,将一毫秒划分为a个时隙,时隙用t表示,每一个时隙包含相等长度的时间,在一个弘周期内,一共包含了Ts×α个时隙,选择其中一个时隙通过ei,将链路ei的第j个时隙tj的状态表示为
Figure FDA0003717937270000025
其中
Figure FDA0003717937270000026
是ei的所有时隙的状态,
Figure FDA0003717937270000027
是一个整型数,表示使用时隙tj通过ei的帧的数量,一个时隙最多只能被一个帧占用,因此有如下约束:
Figure FDA0003717937270000028
将所有TS流的周期设定为2的倍数:
Figure FDA0003717937270000029
Tk∈{4,8,16,32,64,128,256,512,1024,2048}系统模型有两个基础假设,首先是所有网络节点都有分布式时间同步能力,其次所有设备都有实时转发报文的能力,在静态调度环境中,在调度开始时就能够知道所有的TS流需求,并且这些需求不会变化,DRLS需要解决的动态调度问题中,TS流需求是会随着时间变化的,DRLS逐一为这些TS流生成调度,新的流的调度计划不能和已有流的调度计划冲突;
步骤三:系统框架,DRLS可以被大致分为三个部分,状态部分抓取TS流的当前信息以及网络拓扑的整体信息,主体是一个决策者决定采取何种动作,而环境在一个动作被选取出来之后负责维护环境中的各种资源并且给出当前动作的奖励,当调度开始时,状态部分根据网络资源信息和TS流信息计算出当前状态wt∈W,主体部分使用一个深度神经网络得到路由决策,使用LD方法得到时隙决策,这两部分共同构成了当前动作决策at,环境部分为主体部分根据调度目标计算出当前动作的奖励值rt,并且在实施动作at维护网络资源状态后计算出下一个状态wt+1,这个奖励值和调度的时延和完成状态有关,奖励值用来持续的提高DNN的决策能力,并通过编码神经网络和策略神经网络来实现DRLS的主体部分,编码网络提取网络的全局信息以及每一条链路的编码向量,策略网络用来获得动作决策;
步骤四:时隙选择,选择一个合适的时隙tj能够让边ei承载更多的TS流,周期小的TS流比周期大的TS流占用更多的时隙,所有这些时隙必须是空闲的,如果一个时隙tj只能承载周期大的流,用一个函数G(ei,tj,Tk)表示一条边ei的一个时隙tj是否可以承载一条周期为Tk的流,那么就有
Figure FDA0003717937270000031
其中Tk∈T是一条TS流sk的周期,而Ts是所有流的弘周期,接下来就可以定义一个时隙的度ρ(ei,tj):
Figure FDA0003717937270000032
高度时隙无论大周期流还是小周期流都可以承载,而低度时隙只能承载大周期流,LD方法倾向于在可用的时隙中选择一个度比较低的,这样可以让整个TSN网络承载更多的流,时隙t2,t5,t6,t12,t14是已经被占用的,其他时隙是空闲的,时隙t3可以承载一个周期为4的TS流,因为这条流所需的全部时隙,t3,t7,t11,t15都是可用的,时隙t0不能承载这条流因为时隙t12是不可用的,如果用时隙t3来承载一个周期为8的流,那么网络里面就没有任何一个时隙可以承载一个周期为4的流,因此,LD时隙选择方法就会倾向于选择时隙t0来承载一个周期为8的TS流而非t3,使得端到端时延最短也是调度方法的重要目标,选择一个早一点的时隙能够降低时延,因此LD时隙选择方法会在可用的低度时隙中选择一个最早的;
步骤五:状态建模,wt是主体选择动作at是所需的全部信息,使用一个由实数组成的向量来实现wt,这个向量表示一条边的信息,wt由以下六个部分组成:1)当前这条边到目标节点Yk的距离,距离为0则表示这个报文已经到达了目标节点Yk,一般来说,边与目标节点的距离越近越好,当前这条边是不是上一个动作选择的边的邻边,或者是源节点所在的边,TS流的报文,当前要么存储在上一个动作选出的边的目标节点中,要么存储在源节点Xk中,因此,当前动作选出的边一定要是上一个动作选出的边的邻边,当前这条边是否会和之前已经选中的边构成环路,TS流的路由需要避免环路的出现,因为环路会浪费网络资源并且导致时延变大,当前这条边的拥挤程度,拥挤程度表示为空闲时隙数量与总时隙数量的比值,一般来说,选择一个不那么拥挤的边可以保证整个网络的负载均衡,并且避免瓶颈链路的产生,当前这条边是否含有至少一个可用的时隙,如果一条边没有可以承载当前TS流的时隙,那么这条边就是不能被选中的,当前边的所有可用时隙的度的最小值,度的定义如前所述,这是帮助DNN选择合适边的重要信息,除了wt,也会计算一个|E|×|E|×D矩阵M,这里的|E|表示边的数量,而D表示任意两条边之间的最大距离,两个边的距离定义为它俩之间的最短路由包含的网络节点数量,用Mijd表示M的(i,j,d)位置的元素,那么M的计算方式可以表达为:
Figure FDA0003717937270000051
Mi,j,d=1意味着如果边ei和ej之间有一条包含d个节点的路由,wt在每一次做动作决策之前都会被重新计算,而M只会为一个网络拓扑计算一次,Wt表示每一条单独的链路的信息而M包含的是拓扑的全局信息,这些信息足够主体租出正确的动作决策,同时也解决了前文提到的网络状态表达挑战;
步骤六:动作建模,使用DRL解决调度问题时,由于可选路由的数量巨大,同时每一帧的发送时间也有太多的选择,DRL的动作空间会非常大,DRLS通过将路由分解为连续的边的组合来降低动作空间的大小,每一个动作只包含一个边而不是整个路由,也就是说,一条流的调度计划{(e0,t0),(e1,t1),...,(en,tn)}被分成了多个动作,分解动作使得DRLS有良好的可扩展性,同时也解决了动态调度挑战,一个动作是一个有边ei和时隙tj组成的元组(ei,tj);
步骤七:环境建模,当主体计算出动作A之后,环境部分就会计算出一个奖励值R,奖励值R用于更新DRLS的神经网络的参数theta,Hk用来表示一个TS流sk是否被成功的调度了,成功的调度意味着调度方法找到了一个从Xk到Yk的合法路由以及相应的时隙,同时这个调度计划的端到端时延是小于最大端到端时延Lk的,
Figure FDA0003717937270000052
定义一个链路使用率Us,计算方法是所有边被占用的时隙数量除以所有边的总时隙数量,网络整体的链路使用率Us和单独一条链路的使用率Uk定义如下:
Figure FDA0003717937270000061
需要说明的是无论是整体链路使用率还是单独一条链路的使用率都是在不断变化的,这里定义的Us和Uk是在每一条流调度结束时计算的,链路使用率反应的是链路的拥挤程度,如果一条链路的使用率程度大于网络整体的使用率,那么这一条链路就有可能成为瓶颈链路,综合以上所有的因素,如果一个TS流的调度计划是{(e0,t0),(e1,t1),...,(en,tn)},那么对于产生这个调度计划的每一个动作,其奖励
Figure FDA0003717937270000062
可以定义为:
Figure FDA0003717937270000063
只有当一条流调度结束的时候才能判断这条流是否调度成功了,所以,只有最后一个动作的奖励值能够按照等式11的方式来计算,而其他动作的奖励值是m经过衰减后的值,从直觉上来讲,越早的动作对于调度成功与否的影响越小;
步骤八:深度神经网络,使用所有的边作为输入,然后输出选择没一条边的可能性,每一个动作(ei,tj)中的边ei都是从DNN的输出中获取的,这个DNN有两个部分,分别是编码神经网络和策略神经网络,编码网络使用边信息W和全局信息M构建一个编码向量Vb,
Figure FDA0003717937270000064
其中Ψ是编码网络,是用一个小的全连接网络实现的,Md是一个|E|*|E|的矩阵表示距离为d的可达性信息,策略网络X使用VD b作为输入并且输出选择每一条边的可能性Vp,在0~1范围之间,
Figure FDA0003717937270000065
拥有最高可能性的边会被选中,结合选择某一个动作的奖励值R和DNN的参数theta,神经网络的损失函数定义如下:Lossθ=-logχθ×R (15),下面的公式用来更新神经网络的参数θ,R表示的是更新的步长,而
Figure FDA0003717937270000071
表示损失函数的梯度:
Figure FDA0003717937270000072
步骤九:实现,DNN的可靠性和稳定性很低,为了让DRLS称为一个可以信赖的调度方法,提出了控制门策略来筛除不合适的边,一共有三种边会被认为是不合适的:1)非邻边,如前所述,被选中的边必须是上一个动作选择的边的邻边,2)构成环路的边,环路会浪费网络资源并且导致时延增大,3)没有任何时隙可以调度当前TS流的边,DNN会输出选择一条边的概率,然后控制门会屏蔽掉所有不合适的边,最后,主体会在所有的合适的边里面选择一个概率最大的,如前所示,其实和控制门相关的信息已经传递给DNN了,然而,由于训练数据与测试数据的偏差,同时也会有训练数据质量的问题,神经网络有可能会忽略掉这些重要的信息,通过使用控制门技术,由于训练不足导致的错误会被避免,而神经网络的可导性和稳定性会得到提升;
步骤十:错误恢复,网络节点和链路都有可能会宕机,这会导致网络拓扑或者网络资源的变化,最终影响到正在网络中传输的TS流,一个链路故障会影响流经这条链路的所有TS流,而一个节点故障会导致所有以这个节点会源点或者终点边都发生故障并且影响所有流经这个节点的TS流,故障的链路或者节点不能在被同来承载TS流,并且所有受影响的流都要被重新调度,错误恢复通过以下四个步骤完成,首先是记录所有受影响的TS流的全部信息,也就是(Xk,Yk,Ck,Tk,Lk),在网络恢复之后,这些流都需要被重新调度,然后释放被这些受影响的流占用的网络资源,例如时隙,第三步是重新计算网络拓扑的全局信息M,因为这个时候网络拓扑已经发生变化了,第四步是使用重新计算的全局信息M调度这些受影响的流;
步骤十一:实验论证,在3种不同类型的网络拓扑上验证DRLS的性能,分别是用在空中客车A380飞机上的航空电子全双工交换式以太网网络拓扑,用在列车通讯中的梯形网络拓扑和随机生成的网络拓扑,如前所述,一条TS流由一个五元组确定(Xk,Yk,Ck,Tk,Lk),用于训练的流和用于测试的流都是不同的,但是都是随机生成的,Xk和Yk是在所有的网络节点中随机选的,Ck是一个介于64-1518之间的随机整数,为了简便,假定所有物理链路的传输速度都是1Gbit/s并且将1个毫秒划分为4个时隙,这样的话,即使是最大报文也可以在1个时隙内传输通过一个边,也就是说,任何帧都恰好占用一个时隙,TS流的周期Tk是在[16,32,64,128,256,512,1024,2048]范围内随机选取的,最大端到端时延Lk是一个介于64到256之间的随机整数,为三种拓扑,AFDX拓扑,梯形拓扑和随机拓扑分别训练了一个模型,每个模型都使用对应的网络拓扑和随机生成的TS流需求进行训练,测试时使用的网络拓扑与训练时相同,但是使用的TS流是不同的。
2.根据权利要求1所述的方法,其特征在于,还包括:
步骤十二:实验对象,对增量调度情景、静态调度情景、链路故障情景和无限调度情景同时进行实验,保证整体不同的实验对比,并生成对比表格。
3.根据权利要求1所述的方法,其特征在于,调度问题的复杂度通过将弘周期分割为时隙的方式来降低。
CN202110257321.XA 2021-03-09 2021-03-09 一种基于深度强化学习的时间敏感网络通信流调度方法 Active CN113285872B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110257321.XA CN113285872B (zh) 2021-03-09 2021-03-09 一种基于深度强化学习的时间敏感网络通信流调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110257321.XA CN113285872B (zh) 2021-03-09 2021-03-09 一种基于深度强化学习的时间敏感网络通信流调度方法

Publications (2)

Publication Number Publication Date
CN113285872A CN113285872A (zh) 2021-08-20
CN113285872B true CN113285872B (zh) 2022-09-23

Family

ID=77275939

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110257321.XA Active CN113285872B (zh) 2021-03-09 2021-03-09 一种基于深度强化学习的时间敏感网络通信流调度方法

Country Status (1)

Country Link
CN (1) CN113285872B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114006827B (zh) * 2021-09-27 2023-01-24 清华大学 时间触发调度模型的训练、时间触发调度方法及装置
CN114051272A (zh) * 2021-10-30 2022-02-15 西南电子技术研究所(中国电子科技集团公司第十研究所) 动态拓扑网络智能路由方法
CN114422453B (zh) * 2021-11-30 2023-10-24 北京交通大学 一种在线规划时间敏感流的方法、装置及存储介质
CN116346627A (zh) * 2021-12-22 2023-06-27 中兴通讯股份有限公司 时间触发调度方法、节点、电子设备和存储介质
CN114697229B (zh) * 2022-03-11 2023-04-07 华中科技大学 一种分布式路由规划模型的构建方法及应用
CN115277306B (zh) * 2022-06-27 2023-05-26 重庆邮电大学 基于逐步逼近的面向时间敏感网络与工业无线网络的联合调度方法
CN115134242B (zh) * 2022-06-27 2023-08-22 天津理工大学 一种基于深度强化学习策略的车载计算任务卸载方法
CN115529242B (zh) * 2022-09-23 2023-07-18 浙江大学 一种在最优水位下实现云网络资源分配的方法
CN115766596A (zh) * 2022-09-27 2023-03-07 东华大学 一种时延敏感工业物联网基于动态分组的大规模流调度方法
CN117614888A (zh) * 2023-12-06 2024-02-27 北京理工大学深圳汽车研究院(电动车辆国家工程实验室深圳研究院) 一种用于车载tsn网络的动态调度与路由方法和系统
CN117596200B (zh) * 2024-01-15 2024-05-07 之江实验室 一种时间敏感网络路由调度方法、电子设备、介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020081062A1 (en) * 2018-10-16 2020-04-23 Nokia Technologies Oy Wireless network support for ieee tsn based industrial automation
CN112202848A (zh) * 2020-09-15 2021-01-08 中国科学院计算技术研究所 基于深度强化学习的无人系统网络自适应路由方法和系统
CN112437020A (zh) * 2020-10-30 2021-03-02 天津大学 一种基于深度强化学习的数据中心网络负载均衡方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10218628B2 (en) * 2017-04-12 2019-02-26 General Electric Company Time sensitive network (TSN) scheduler with verification
US10673883B2 (en) * 2018-05-14 2020-06-02 Cisco Technology, Inc. Time synchronization attack detection in a deterministic network
CN108960059A (zh) * 2018-06-01 2018-12-07 众安信息技术服务有限公司 一种视频动作识别方法及装置
CN111865830B (zh) * 2019-04-29 2022-04-22 华为技术有限公司 一种时延敏感网络业务tsn的处理方法、装置及系统
CN110852273B (zh) * 2019-11-12 2023-05-16 重庆大学 一种基于强化学习注意力机制的行为识别方法
CN111259782B (zh) * 2020-01-14 2022-02-11 北京大学 基于混合多尺度时序可分离卷积操作的视频行为识别方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020081062A1 (en) * 2018-10-16 2020-04-23 Nokia Technologies Oy Wireless network support for ieee tsn based industrial automation
CN112202848A (zh) * 2020-09-15 2021-01-08 中国科学院计算技术研究所 基于深度强化学习的无人系统网络自适应路由方法和系统
CN112437020A (zh) * 2020-10-30 2021-03-02 天津大学 一种基于深度强化学习的数据中心网络负载均衡方法

Also Published As

Publication number Publication date
CN113285872A (zh) 2021-08-20

Similar Documents

Publication Publication Date Title
CN113285872B (zh) 一种基于深度强化学习的时间敏感网络通信流调度方法
Yates Age of information in a network of preemptive servers
CN108521375B (zh) 一种基于SDN的网络多业务流量QoS的传输及调度方法
CN112953830B (zh) 时间敏感网络中流量帧的路由规划调度方法及装置
US20210168065A1 (en) Methods, computing devices, and storage media for adjusting network traffic
CN113341712B (zh) 无人机自主控制系统智能分层递阶控制选择方法
Stüber et al. A survey of scheduling algorithms for the time-aware shaper in time-sensitive networking (TSN)
Huang et al. TACQ: Enabling zero-jitter for cyclic-queuing and forwarding in time-sensitive networks
Zhao et al. A temporal-information-based adaptive routing algorithm for software defined vehicular networks
Zhong et al. Drls: A deep reinforcement learning based scheduler for time-triggered ethernet
US11526787B1 (en) Knowledge inference engine system and method of implementation
Wang et al. Deep reinforcement learning aided no-wait flow scheduling in time-sensitive networks
Qin et al. Traffic optimization in satellites communications: A multi-agent reinforcement learning approach
Melamed et al. Hybrid discrete-continuous fluid-flow simulation
He et al. DeepScheduler: Enabling flow-aware scheduling in time-sensitive networking
Min et al. Reinforcement learning based routing for time-aware shaper scheduling in time-sensitive networks
Cao et al. IQoR: An intelligent QoS-aware routing mechanism with deep reinforcement learning
Jia et al. TTDeep: Time-triggered scheduling for real-time ethernet via deep reinforcement learning
Dai et al. Iqor-lse: An intelligent qos on-demand routing algorithm with link state estimation
Finzi et al. Breaking vs. solving: Analysis and routing of real-time networks with cyclic dependencies using network calculus
Meng et al. Intelligent routing orchestration for ultra-low latency transport networks
de Oude et al. Information Fusion with Distributed Probabilistic Networks.
Yang et al. Reuse-based online joint routing and scheduling optimization mechanism in deterministic networks
Zheng et al. Routing optimization of time-triggered ethernet based on genetic algorithm
Yang et al. A Multi-Policy Deep Reinforcement Learning Approach for Multi-Objective Joint Routing and Scheduling in Deterministic Networks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant