有效
基于深度强化学习的面向任务差异的拥塞控制调度方法及系统
贺诗波、林李萌、顾超杰、陈积明
浙江大学
摘要
本发明公开了一种基于深度强化学习的面向任务差异的拥塞控制调度方法及系统,包括:进行网络拓扑配置;生成应用层任务流;进行网络协议栈运行配置;实现客制化拥塞控制模块;进行数据采集;进行奖励构造;进行强化学习训练;依据不同任务流的调度策略差异设计动作空间,根据各任务对性能指标的关注重点,将拥塞窗口调整映射为动作集合,使得智能体能够针对任务流差异输出相应的调度策略,从而实现面向任务差异的自适应拥塞控制。本发明具备高度可配置性与现实可映射性,所设计的各模块可真实对应于Linux内核中的相关网络功能。系统中收集的数据结构与处理逻辑也基于真实操作系统内核中的实现,因而具备较强的现实可行性。
1.一种基于深度强化学习的面向任务差异的拥塞控制调度方法,其特征在于,包括:步骤1,进行网络拓扑配置;步骤2,生成应用层任务流;步骤3,进行网络协议栈运行配置;步骤4,实现客制化拥塞控制模块;步骤5,进行数据采集;步骤6,进行奖励构造;步骤7,进行强化学习训练,将采集的状态信息输入至深度Q学习智能体中,结合ε-贪婪策略进行动作选择,利用经验回放机制提升样本利用率,并通过策略网络与目标网络的双网络结构提升训练稳定性;步骤8,依据不同任务流的调度策略差异设计动作空间,根据各任务对性能指标的关注重点,将拥塞窗口调整映射为动作集合,使得智能体能够针对任务流差异输出相应的调度策略,从而实现面向任务差异的自适应拥塞控制。
2.根据权利要求1所述的一种基于深度强化学习的面向任务差异的拥塞控制调度方法,其特征在于,所述步骤1包括:构建包含不定数量的发送端和接收端的网络拓扑;在瓶颈链路的路由器上提供队列盘选项,用于测试拥塞控制算法在不同队列机制下的性能表现;每个发送端和接收端均搭载标准的TCP/IP协议栈。
3.根据权利要求2所述的一种基于深度强化学习的面向任务差异的拥塞控制调度方法,其特征在于,所述步骤2包括:步骤2.1,在发送端配置流量生成机制,通过设定数据传输与静止状态的时间周期参数,实现数据流的时序控制;步骤2.2,对时间周期参数引入常值分布或指数分布,用于模拟持续性数据流与间歇性数据流;步骤2.3,利用流量生成机制在模拟环境中灵活构建具有不同业务行为模式的任务流,以满足面向任务差异的调度策略训练与性能评估需求。
4.根据权利要求1所述的一种基于深度强化学习的面向任务差异的拥塞控制调度方法,其特征在于,所述步骤3包括:步骤3.1,在每个仿真节点上部署完整的TCP/IP协议栈;步骤3.2,在仿真节点内部创建并集成传输层协议管理模块,用于统一管理该仿真节点上全部TCP套接字的创建、维护与资源释放;步骤3.3,在传输层封装传输控制块,所述传输控制块包含统计信息,用到的关键参数包括拥塞窗口、慢启动门限、最大报文段大小、往返时延估计中的多种。
5.根据权利要求1所述的一种基于深度强化学习的面向任务差异的拥塞控制调度方法,其特征在于,所述步骤4包括:步骤4.1,基于网络模拟器中的拥塞控制抽象接口构建可扩展的客制化拥塞控制模块,该拥塞控制抽象接口的结构在架构上与Linux内核中TCP拥塞控制策略实现接口保持对应关系;步骤4.2,对所述拥塞控制抽象接口中的核心函数进行重构,具体包括:步骤4.2.1,在接收确认报文后,根据智能体输出的控制动作动态调整拥塞窗口;步骤4.2.2,在确认报文处理阶段,采集往返时延、丢包两个网络状态信息并用于状态构造与调度决策。
6.根据权利要求1所述的一种基于深度强化学习的面向任务差异的拥塞控制调度方法,其特征在于,所述步骤5包括:步骤5.1,ns-3模拟脚本以固定时隙T为时间单位,定期触发数据采集流程;步骤5.2,在每个固定时隙内,仿真系统从传输控制结构中提取当前网络运行状态,构造强化学习所需的状态输入;所构造的状态输入信息包括:数据包发送事件的平均间隔;确认报文到达的平均间隔;平均往返时延与最优往返时延之间的比值;当前在途数据量的平均值;所述状态信息在拥塞控制调度系统的每个调度周期内均由ns-3模拟脚本采集,并传递给强化学习模块中的智能体。
7.根据权利要求6所述的一种基于深度强化学习的面向任务差异的拥塞控制调度方法,其特征在于,所述步骤6包括:在拥塞控制调度系统中,ns-3模拟脚本于每个调度周期内,依据各任务流对应的传输控制块采集实时统计信息,并结合任务类型构造效用函数,用于计算强化学习模型的即时奖励值;对于PLC控制和远程监控的应用场景下的控制命令流与视频流,定义如下效用函数: ,其中,U表示效用值,Delay表示平均时延,Jitter表示抖动,α与β分别为延迟与抖动的权重系数;对于传感器数据上报和大文件/更新流,构造如下效用函数: ,其中,throughout表示吞吐量,lossRate表示丢包率,γ和δ分别为控制吞吐量和丢包率的相对权重;提出一种奖励定义方式,利用连续两个调度周期的效用函数值之差作为奖励信号,计算方式如下: ,其中,R代表奖励函数值,U t 为t时刻计算得到的效用函数值,U t-T 为t-T时刻的效用函数值。
8.根据权利要求1所述的一种基于深度强化学习的面向任务差异的拥塞控制调度方法,其特征在于,所述步骤7包括:在拥塞控制调度系统中,ns-3网络模拟器于每个调度周期采集的状态信息被输入至智能体;所述智能体采用深度Q学习算法进行训练与决策,智能体的核心结构由策略网络与目标网络组成;在训练过程中,智能体通过ε-贪婪策略采样动作:当选择非随机动作时,智能体将当前状态作为输入传入策略网络,并以网络输出的Q值作为当前状态下各动作的价值估计依据;引入经验回放,智能体将交互过程中产生的历史数据缓存至回放缓冲区中,策略网络模型在训练时将从该缓冲区中采样批量数据用于神经网络参数的更新操作;采用双网络机制:策略网络用于当前Q值的计算与动作决策,目标网络用于目标Q值的估计;智能体每隔固定步数将策略网络的参数复制至目标网络;在具体训练过程中,策略网络基于经验回放中的历史数据进行策略网络模型参数更新,神经网络参数的更新使用如下的梯度下降公式:所述神经网络参数在第i次更新时的取值等于该神经网络参数在上一次迭代时的取值减去学习率与损失函数关于该神经网络参数的梯度的乘积。
9.根据权利要求1所述的一种基于深度强化学习的面向任务差异的拥塞控制调度方法,其特征在于,所述步骤8包括:a.控制命令流动作设计,包括:动作空间设置:设计小步长、对称的拥塞窗口调整动作,以及保持当前窗口的惰性动作;b.数据上报流动作设计,包括:动作空间设置:优先提供更多正向动作或指数级增长动作,同时减少负向动作的出现频率;c.大文件/更新流动作设计,包括:动作空间设置:通过测量往返时延延迟梯度感知链路拥塞,并主动让出带宽;行为特征:网络空闲时积极传输,检测到延迟升高则迅速降低速率;协同调节策略:引入“协同式调节”机制,使用与数据上报流动作空间对称的衰减动作,即当数据上报流中包含多个增大动作时,大文件/更新流对应引入多个“窗口减小”动作;d.视频流动作设计,包括:动作空间设置:使用一组细粒度拥塞窗口增减动作,每个动作代表微幅调整;拥塞窗口调整执行,包括:执行时机:实际调整操作在收到确认信息时进行;调整依据:根据先前确定的控制策略参数更新拥塞窗口;强化学习作用:强化学习模块输出的控制指令不直接修改内核窗口值,而作为后续确认反馈处理阶段的调节依据,保证控制过程符合标准传输控制协议工作流程。
10.一种基于深度强化学习的面向任务差异的拥塞控制调度系统,用于实现如权利要求1-9中任一所述的拥塞控制调度方法,其特征在于,包括:网络仿真拓扑配置模块,基于ns-3网络模拟器构建包含发送端、接收端与中间路由器的网络拓扑,集成用于与外部强化学习环境进行状态、动作与奖励交互的接口封装机制;客制化拥塞控制模块,用于基于拥塞控制抽象类实现用户可定制的拥塞控制逻辑,实现对TCP拥塞控制策略的替换、扩展及其运行时行为的动态调整;环境封装模块,用于构建强化学习训练过程中所需的网络环境实例,通过重定义环境接口函数实现模拟环境与强化学习智能体之间的信息交互与策略迭代更新;DQN策略模块,用于实现基于TCP协议的深度Q网络决策模型;DQN训练与部署模块,用于实现强化学习代理与仿真环境之间的训练与部署交互流程,流程包括:获取当前网络状态,基于该网络状态预测并输出动作指令,获取相应的奖励值,并将状态、动作、奖励与下一个状态信息存入经验缓存;随后利用经验缓存中的数据对策略网络进行更新优化;性能指标与任务定义模块,用于定义网络性能指标及任务差异流的属性,所述性能指标与任务定义模块根据任务属性定义差异化调度目标并用于策略训练与评估。






