CN113285872A - 一种基于深度强化学习的时间敏感网络通信流调度方法 - Google Patents
一种基于深度强化学习的时间敏感网络通信流调度方法 Download PDFInfo
- Publication number
- CN113285872A CN113285872A CN202110257321.XA CN202110257321A CN113285872A CN 113285872 A CN113285872 A CN 113285872A CN 202110257321 A CN202110257321 A CN 202110257321A CN 113285872 A CN113285872 A CN 113285872A
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/123—Evaluation of link metrics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding 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来表示这一层的输出,这样,神经网络第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(·|wt,at),奖励值就可以被 计算出来,用P表示状态转移可能性矩阵,wt+1~P(·|wt,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 分别表示一条边的源节点和目标节点的话,那么会得到如下约束:将一条TS流sk∈S流经 ei∈E的第1个消息实例(帧)表示为其中是流sk流经ei的所有 帧的集合,为了调度TS流,需要指定通过ei的时间,为了简化问题,将一毫秒划分 为a个时隙,时隙用t表示,每一个时隙包含相等长度的时间,在一个弘周期内,一共包 含了Ts×α个时隙,选择其中一个时隙通过ei,将链路ei的第j个时隙tj的状态表示为其中是ei的所有时隙的状态,是一个整型数,表示使用时隙 tj通过ei的帧的数量,一个时隙最多只能被一个帧占用,因此有如下约束:将所有TS流的周期设定为2的倍数:系统模型有两个基础假设,首先是所有网络节点(交换机)都有分布式时间同步能力,其次所有设备都有实时转发报文的能力,在静态调度环境中,调度方法在调度开始时就能够知道所有的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的流,那么就有其中Tk∈T是一条TS流sk的周期,而Ts 是所有流的弘周期,接下来就可以定义一个时隙的度ρ(ei,tj):高度时隙无论大周期流还是小周期流都可以承载,二低度时隙只能承载大周期流,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的计算方式可以表达为:
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的,定义一个链路使用率Us,计算方法是所有边被占用的时隙数量除以所有边的总时隙数量,网络整体的链路使用率Us和单独一条链路的使用率Uk定义如下:需要说明的是无论是整体链路使用率还是单独一条链路的使用率都是在不断变化的,这里定义的Us和Uk是在每一条流调度结束时计算的,链路使用率反应的是链路的拥挤程度,如果一条链路的使用率程度大于网络整体的使用率,那么这一条链路就有可能成为瓶颈链路,综合以上所有的因素,如果一个TS流的调度计划是{(e0,t0),(e1,t1),...,(en,tn)},那么对于产生这个调度 计划的每一个动作,其奖励可以定义为:只 有当一条流调度结束的时候才能判断这条流是否调度成功了,所以,只有最后一个动作的 奖励值能够按照等式11的方式来计算,而其他动作的奖励值是rn经过衰减后的值,从直觉上来讲,越早的动作对于调度成功与否的影响越小;
步骤八:深度神经网络,使用所有的边作为输入,然后输出选择没一条边的可能性, 每一个动作(ei,tj)中的边ei都是从DNN的输出中获取的,这个DNN有两个部分,分别是编 码神经网络和策略神经网络,编码网络使用边信息W和全局信息M构建一个编码向量Vb,其中Ψ是编码网络,是用一个小的全连接网络实现的,Md是一个E*E的矩阵表示距离为d的可达性信息,策略网络X使 用VDb作为输入并且输出选择每一条边的可能性Vp(在0~1范围之间)拥有 最高可能性的边会被选中,结合选择某一个动作的奖励值R和DNN的参数theta,神经网 络的损失函数定义如下:Lossθ=-logχθ×R (15),下面的公式用来更新神经网络 的参数θ,R表示的是更新的步长,而表示损失函数的梯度:
步骤九:实现,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*,从而最大化累计衰减奖励∑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流 从源节点到目标节点sk∈S的路由表示为一个链路的集合{e0,e1,...,en},其中链路e0的 源节点是Xk,en的目标节点是Yk,而且ei和ei+1是相邻的两条链路,如果使用ei.src 和ei.dst分别表示一条边的源节点和目标节点的话,那么会得到如下约束:将一条TS流sk∈S流经 ei∈E的第1个消息实例(帧)表示为其中是流sk流经ei的所有 帧的集合,为了调度TS流,需要指定通过ei的时间,为了简化问题,将一毫秒划分 为a个时隙,时隙用t表示,每一个时隙包含相等长度的时间,在一个弘周期内,一共包 含了Ts×α个时隙,选择其中一个时隙通过ei,将链路ei的第j个时隙tj的状态表示为其中是ei的所有时隙的状态,是一个整型数,表示使用时隙 tj通过ei的帧的数量,一个时隙最多只能被一个帧占用,因此有如下约束:将所有TS流的周期设定为2的倍数:系统模型有两个基础假设,首先是所有网络节点(交换机)都有分布式时间同步能力,其次所有设备都有实时转发报文的能力,在静态调度环境中,调度方法在调度开始时就能够知道所有的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,ej,Tk) 表示一条边ei的一个时隙tj是否可以承载一条周期为Tk的流,那么就有其中是一条TS流sk的周期,而Ts是所有流 的弘周期,接下来就可以定义一个时隙的度ρ(ei,tj):高度时隙无论大周期流还是小周期流都可以承载,二低度时隙只能承载大周期流,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的计算方式可以表达为:
意味着如果边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的,定义一个链路使用率Us,计算方法是所有边被占用的时隙数量除以所有边的总时隙数量,网络整体的链路使用率Us和单独一条链路的使用率Uk定义如下:需要说明的是无论是整体链路使用率还是单独一条链路的使用率都是在不断变化的,这里定义的Us和Uk是在每一条流调度结束时计算的,链路使用率反应的是链路的拥挤程度,如果一条链路的使用率程度大于网络整体的使用率,那么这一条链路就有可能成为瓶颈链路,综合以上所有的因素,如果一个TS流的调度计划是{(e0,t0),(e1,t1),...,(en,tn)},那么对于产生这个调度 计划的每一个动作,其奖励可以定义为:只 有当一条流调度结束的时候才能判断这条流是否调度成功了,所以,只有最后一个动作的 奖励值能够按照等式11的方式来计算,而其他动作的奖励值是rn经过衰减后的值,从直觉上来讲,越早的动作对于调度成功与否的影响越小;
步骤八:深度神经网络,使用所有的边作为输入,然后输出选择没一条边的可能性, 每一个动作(ei,tj)中的边ei都是从DNN的输出中获取的,这个DNN有两个部分,分别是编 码神经网络和策略神经网络,编码网络使用边信息W和全局信息M构建一个编码向量Vb,其中Ψ是编码网络,是用一个小的全连接网络实现的,Md是一个E*E的矩阵表示距离为d的可达性信息,策略网络X使 用VDb作为输入并且输出选择每一条边的可能性Vp(在0~1范围之间)拥有 最高可能性的边会被选中,结合选择某一个动作的奖励值R和DNN的参数theta,神经网 络的损失函数定义如下:下面的公式用来更新神经网络 的参数θ,R表示的是更新的步长,而表示损失函数的梯度:
步骤九:实现,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加上一个上标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*,从而最大化累计衰减奖励∑t≥0γtrt;
步骤二:系统建模,网络拓扑被建模为一个有向图,其中V表示节点的集合,每一个节点都是网络中的一个交换机,E是链路的集合,每一个链路包含两个节点,如果两个节点vm和vn之间有一条物理链路,那么(υm,υn),(υn,υm)∈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分别表示一条边的源节点和目标节点的话,那么会得到如下约束:将一条TS流sk∈S流经ei∈E的第1个消息实例(帧)表示为其中是流sk流经ei的所有帧的集合,为了调度TS流,需要指定通过ei的时间,为了简化问题,将一毫秒划分为a个时隙,时隙用t表示,每一个时隙包含相等长度的时间,在一个弘周期内,一共包含了Ts×α个时隙,选择其中一个时隙通过ei,将链路ei的第j个时隙tj的状态表示为其中是ei的所有时隙的状态,是一个整型数,表示使用时隙tj通过ei的帧的数量,一个时隙最多只能被一个帧占用,因此有如下约束:
将所有TS流的周期设定为2的倍数:系统模型有两个基础假设,首先是所有网络节点(交换机)都有分布式时间同步能力,其次所有设备都有实时转发报文的能力,在静态调度环境中,在调度开始时就能够知道所有的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的流,那么就有其中Tk∈T是一条TS流sk的周期,而Ts是所有流的弘周期,接下来就可以定义一个时隙的度ρ(ei,tj):高度时隙无论大周期流还是小周期流都可以承载,二低度时隙只能承载大周期流,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的计算方式可以表达为:
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的,定义一个链路使用率Us,计算方法是所有边被占用的时隙数量除以所有边的总时隙数量,网络整体的链路使用率Us和单独一条链路的使用率Uk定义如下:需要说明的是无论是整体链路使用率还是单独一条链路的使用率都是在不断变化的,这里定义的Us和Uk是在每一条流调度结束时计算的,链路使用率反应的是链路的拥挤程度,如果一条链路的使用率程度大于网络整体的使用率,那么这一条链路就有可能成为瓶颈链路,综合以上所有的因素,如果一个TS流的调度计划是{(e0,t0),(e1,t1),...,(en,tn)},那么对于产生这个调度计划的每一个动作,其奖励可以定义为:只有当一条流调度结束的时候才能判断这条流是否调度成功了,所以,只有最后一个动作的奖励值能够按照等式11的方式来计算,而其他动作的奖励值是rn经过衰减后的值,从直觉上来讲,越早的动作对于调度成功与否的影响越小;
步骤八:深度神经网络,使用所有的边作为输入,然后输出选择没一条边的可能性,每一个动作(ei,tj)中的边ei都是从DNN的输出中获取的,这个DNN有两个部分,分别是编码神经网络和策略神经网络,编码网络使用边信息W和全局信息M构建一个编码向量Vb,其中Ψ是编码网络,是用一个小的全连接网络实现的,Md是一个E*E的矩阵表示距离为d的可达性信息,策略网络X使用VDb作为输入并且输出选择每一条边的可能性Vp(在0~1范围之间)VP=χθ(Vb D),拥有最高可能性的边会被选中,结合选择某一个动作的奖励值R和DNN的参数theta,神经网络的损失函数定义如下:Lossθ=-logχθ×R (15),下面的公式用来更新神经网络的参数θ,R表示的是更新的步长,而表示损失函数的梯度:
步骤九:实现,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之间的随机整数,为了简便,假定所有物理链路的传输速度都是16bit/s并且将1个毫秒划分为4个时隙,这样的话,即使是最大报文也可以在1个时隙内传输通过一个边,也就是说,任何帧都恰好占用一个时隙,TS流的周期Tk是在[16,32,64,128,256,512,1024,2048]范围内随机选取的,最大端到端时延Lk是一个介于64到256之间的随机整数,为三种拓扑,AFDX拓扑,梯形拓扑和随机拓扑分别训练了一个模型,每个模型都使用对应的网络拓扑和随机生成的TS流需求进行训练,测试时使用的网络拓扑与训练时相同,但是使用的TS流是不同的。
2.根据权利要求1所述的方法,其特征在于,还包括:
步骤十二:实验对象,对增量调度情景、静态调度情景、链路故障情景和无限调度情景同时进行实验,保证整体不同的实验对比,并生成对比表格。
3.根据权利要求1所述的方法,其特征在于,调度问题的复杂度可以通过将弘周期分割为时隙的方式来降低,这使得DRLS的运行时间大大降低并且可以及时为新的TS流需求生成调度。
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 true CN113285872A (zh) | 2021-08-20 |
CN113285872B 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) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114006827A (zh) * | 2021-09-27 | 2022-02-01 | 清华大学 | 时间触发调度模型的训练、时间触发调度方法及装置 |
CN114051272A (zh) * | 2021-10-30 | 2022-02-15 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 动态拓扑网络智能路由方法 |
CN114422453A (zh) * | 2021-11-30 | 2022-04-29 | 北京交通大学 | 一种在线规划时间敏感流的方法、装置及存储介质 |
CN114697229A (zh) * | 2022-03-11 | 2022-07-01 | 华中科技大学 | 一种分布式路由规划模型的构建方法及应用 |
CN115134242A (zh) * | 2022-06-27 | 2022-09-30 | 天津理工大学 | 一种基于深度强化学习策略的车载计算任务卸载方法 |
CN115277306A (zh) * | 2022-06-27 | 2022-11-01 | 重庆邮电大学 | 基于逐步逼近的面向时间敏感网络与工业无线网络的联合调度方法 |
CN115529242A (zh) * | 2022-09-23 | 2022-12-27 | 浙江大学 | 一种在最优水位下实现云网络资源分配的方法 |
CN115766596A (zh) * | 2022-09-27 | 2023-03-07 | 东华大学 | 一种时延敏感工业物联网基于动态分组的大规模流调度方法 |
WO2023116126A1 (zh) * | 2021-12-22 | 2023-06-29 | 中兴通讯股份有限公司 | 时间触发调度方法、节点、电子设备和存储介质 |
CN117596200A (zh) * | 2024-01-15 | 2024-02-23 | 之江实验室 | 一种时间敏感网络路由调度方法、电子设备、介质 |
CN117614888A (zh) * | 2023-12-06 | 2024-02-27 | 北京理工大学深圳汽车研究院(电动车辆国家工程实验室深圳研究院) | 一种用于车载tsn网络的动态调度与路由方法和系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108960059A (zh) * | 2018-06-01 | 2018-12-07 | 众安信息技术服务有限公司 | 一种视频动作识别方法及装置 |
US20190349392A1 (en) * | 2018-05-14 | 2019-11-14 | Cisco Technology, Inc. | Time synchronization attack detection in a deterministic network |
CN110852273A (zh) * | 2019-11-12 | 2020-02-28 | 重庆大学 | 一种基于强化学习注意力机制的行为识别方法 |
WO2020081062A1 (en) * | 2018-10-16 | 2020-04-23 | Nokia Technologies Oy | Wireless network support for ieee tsn based industrial automation |
CN111259782A (zh) * | 2020-01-14 | 2020-06-09 | 北京大学 | 基于混合多尺度时序可分离卷积操作的视频行为识别方法 |
US20200228454A1 (en) * | 2017-04-12 | 2020-07-16 | General Electric Company | Time sensitive network (tsn) scheduler with verification |
CN111865830A (zh) * | 2019-04-29 | 2020-10-30 | 华为技术有限公司 | 一种时延敏感网络业务tsn的处理方法、装置及系统 |
CN112202848A (zh) * | 2020-09-15 | 2021-01-08 | 中国科学院计算技术研究所 | 基于深度强化学习的无人系统网络自适应路由方法和系统 |
CN112437020A (zh) * | 2020-10-30 | 2021-03-02 | 天津大学 | 一种基于深度强化学习的数据中心网络负载均衡方法 |
-
2021
- 2021-03-09 CN CN202110257321.XA patent/CN113285872B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200228454A1 (en) * | 2017-04-12 | 2020-07-16 | General Electric Company | Time sensitive network (tsn) scheduler with verification |
US20190349392A1 (en) * | 2018-05-14 | 2019-11-14 | Cisco Technology, Inc. | Time synchronization attack detection in a deterministic network |
CN108960059A (zh) * | 2018-06-01 | 2018-12-07 | 众安信息技术服务有限公司 | 一种视频动作识别方法及装置 |
WO2020081062A1 (en) * | 2018-10-16 | 2020-04-23 | Nokia Technologies Oy | Wireless network support for ieee tsn based industrial automation |
CN111865830A (zh) * | 2019-04-29 | 2020-10-30 | 华为技术有限公司 | 一种时延敏感网络业务tsn的处理方法、装置及系统 |
CN110852273A (zh) * | 2019-11-12 | 2020-02-28 | 重庆大学 | 一种基于强化学习注意力机制的行为识别方法 |
CN111259782A (zh) * | 2020-01-14 | 2020-06-09 | 北京大学 | 基于混合多尺度时序可分离卷积操作的视频行为识别方法 |
CN112202848A (zh) * | 2020-09-15 | 2021-01-08 | 中国科学院计算技术研究所 | 基于深度强化学习的无人系统网络自适应路由方法和系统 |
CN112437020A (zh) * | 2020-10-30 | 2021-03-02 | 天津大学 | 一种基于深度强化学习的数据中心网络负载均衡方法 |
Non-Patent Citations (1)
Title |
---|
许方敏等: "《时间敏感网络(TSN)及无线TSN技术》", 《电信科学》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114006827A (zh) * | 2021-09-27 | 2022-02-01 | 清华大学 | 时间触发调度模型的训练、时间触发调度方法及装置 |
CN114051272A (zh) * | 2021-10-30 | 2022-02-15 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 动态拓扑网络智能路由方法 |
CN114422453A (zh) * | 2021-11-30 | 2022-04-29 | 北京交通大学 | 一种在线规划时间敏感流的方法、装置及存储介质 |
CN114422453B (zh) * | 2021-11-30 | 2023-10-24 | 北京交通大学 | 一种在线规划时间敏感流的方法、装置及存储介质 |
WO2023116126A1 (zh) * | 2021-12-22 | 2023-06-29 | 中兴通讯股份有限公司 | 时间触发调度方法、节点、电子设备和存储介质 |
CN114697229B (zh) * | 2022-03-11 | 2023-04-07 | 华中科技大学 | 一种分布式路由规划模型的构建方法及应用 |
CN114697229A (zh) * | 2022-03-11 | 2022-07-01 | 华中科技大学 | 一种分布式路由规划模型的构建方法及应用 |
CN115277306A (zh) * | 2022-06-27 | 2022-11-01 | 重庆邮电大学 | 基于逐步逼近的面向时间敏感网络与工业无线网络的联合调度方法 |
CN115134242A (zh) * | 2022-06-27 | 2022-09-30 | 天津理工大学 | 一种基于深度强化学习策略的车载计算任务卸载方法 |
CN115134242B (zh) * | 2022-06-27 | 2023-08-22 | 天津理工大学 | 一种基于深度强化学习策略的车载计算任务卸载方法 |
CN115529242A (zh) * | 2022-09-23 | 2022-12-27 | 浙江大学 | 一种在最优水位下实现云网络资源分配的方法 |
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网络的动态调度与路由方法和系统 |
CN117596200A (zh) * | 2024-01-15 | 2024-02-23 | 之江实验室 | 一种时间敏感网络路由调度方法、电子设备、介质 |
CN117596200B (zh) * | 2024-01-15 | 2024-05-07 | 之江实验室 | 一种时间敏感网络路由调度方法、电子设备、介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113285872B (zh) | 2022-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113285872B (zh) | 一种基于深度强化学习的时间敏感网络通信流调度方法 | |
Yates | Age of information in a network of preemptive servers | |
CN108521375B (zh) | 一种基于SDN的网络多业务流量QoS的传输及调度方法 | |
WO2023134091A1 (zh) | 一种时间敏感网络中路径选择和门控调度的联合优化方法 | |
CN112953830B (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 | |
Zhong et al. | Drls: A deep reinforcement learning based scheduler for time-triggered ethernet | |
Wang et al. | Deep reinforcement learning aided no-wait flow scheduling in time-sensitive networks | |
US11526787B1 (en) | Knowledge inference engine system and method of implementation | |
Huang et al. | Flexible cyclic queuing and forwarding for time-sensitive software-defined networks | |
Qin et al. | Traffic optimization in satellites communications: A multi-agent reinforcement learning approach | |
He et al. | DeepScheduler: Enabling flow-aware scheduling in time-sensitive networking | |
Melamed et al. | Hybrid discrete-continuous fluid-flow simulation | |
Min et al. | Reinforcement learning based routing for time-aware shaper scheduling in time-sensitive networks | |
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 | |
Zheng et al. | Mix-flow scheduling for concurrent multipath transmission in time-sensitive networking | |
Ren et al. | End-to-end network SLA quality assurance for C-RAN: a closed-loop management method based on digital twin network | |
Yang et al. | Reuse-based online joint routing and scheduling optimization mechanism in deterministic networks | |
Chiariotti et al. | Age of information in multihop connections with tributary traffic and no preemption | |
Liu et al. | Scalable deep reinforcement learning-based online routing for multi-type service requirements | |
Yang et al. | A Multi-Policy Deep Reinforcement Learning Approach for Multi-Objective Joint Routing and Scheduling in Deterministic Networks | |
Rao et al. | Optimal joint multi-path routing and sampling rates assignment for real-time wireless sensor 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 |