Paper Note | Efficient DRL-Based Congestion Control With Ultra-Low Overhead

文章目录

  • Introduction
  • Design
    • [RL Agent](#RL Agent)
    • [CC Executor](#CC Executor)
    • [Hierarchical Recurrent Architecture](#Hierarchical Recurrent Architecture)

Introduction

深度强化学习能够用于网络拥塞控制决策中,但是之前的DRL方案耗时且占用了很多CPU资源。这篇文章提出了一种低开销的DRL方案,实现细粒度的包级别控制。

SPINE采用了层次控制架构,包含一个轻量级的CC执行器,对每个ACK和丢包进行反应,和一个DRL策略生成器,周期性地生成CC执行器的控制sub-policy(基于AIMD的轻量级参数化的控制逻辑)。除此之外,SPINE还引入watcher,判断当前的sub-policy的效果好坏,根据需要进行更新,以减少策略生成频率。

Design

SPINE架构图如下:

policy generator和watcher共同组成了RL agent,追踪流量模式并更新sub-policy。SPINE利用了层次控制逻辑,间隔monitor interval(MI), watcher观察包特征,如有需要就触发policy generator。

RL Agent

每隔MI,RL agent通过收集包信息,察觉网络环境,其作为状态,被放入深度神经网络模型中,决定是否更新sub-policy,如果trigger是True,模型将会生成sub-policy的新参数,并更新CC执行器。

State :收集包统计信息,作为state,如下:

其中吞吐量和延迟均已正则化(对最大吞吐量和最小延迟)。由于SPINE更新sub-policy间隔很长,所以采用了RNN作为网络模型来抓取long-term历史特征。

Reward :CC执行器调整流发送速率,每个MI收集reward。奖励函数如下:

公式(1)的第一项是正则化吞吐量和正则化延迟的比值,加上丢包的惩罚,lat'是指小的排队延迟可以被允许来实现最大带宽。第二项定义触发policy generator更新sub-policy的惩罚(pit stop penalty),因为其会导致policy generator的推理开销和cross-space的通信。

CC Executor

参数化的sub-policy结构需要有如下特征:简单(低计算开销)、细粒度控制(快速相应)和灵活(估计各种各样的映射)。

基于这些特征,设计了基于AIMD的sub-policy,每个RTT将发送速率乘以1.1,cwnd的大小变化如下:

这里 0 ≤ α t h r , α l a t ≤ 0.5 , 0 ≤ α t o l ≤ 20 0\leq \alpha_{thr}, \alpha_{lat} \leq 0.5, 0\leq \alpha_{tol} \leq 20 0≤αthr,αlat≤0.5,0≤αtol≤20。如果 R T T R T T m i n \frac{RTT}{RTT_{min}} RTTminRTT低于 α t o l + 1 \alpha_{tol} + 1 αtol+1,它判断链路不是拥塞的,增加cwnd,否则减小cwnd。

当丢包发生时,CC执行器对cwnd执行乘性减:

在cwnd更新后,CC executor计算新的发送速率:

综上,参数( α t h r , α l a t , α t o l , α l o s s \alpha_{thr}, \alpha_{lat}, \alpha_{tol}, \alpha_{loss} αthr,αlat,αtol,αloss)定义了sub-policy的行为,这些参数就是policy generator的action,每当其被触发,就生成这些参数,更新sub-policy。

Hierarchical Recurrent Architecture

设计了一个分层循环架构神经网络模型,第一层表示watcher,输入state,适应性地触发policy generator,第二层表示policy generator,输出ation。

每个时间节点,watcher收到来自policy generator和watcher的hidden state,然后输出是否触发上层的flag和新的hidden state。

触发的flag定义为:

policy generator基于trigger进行工作:

相关推荐
智能优化与强化学习4 天前
Gym(Gymnasium)仿真环境详解(二):环境简介、入门算法、调参要点、核心挑战
算法·强化学习·gym·零基础入门·算法评估
指掀涛澜天下惊21 天前
AI 基础知识十九 强化学习前言
人工智能·机器学习·强化学习
劈星斩月21 天前
机器学习之 定义与三大范式
人工智能·机器学习·监督学习·强化学习·无监督学习
文艺倾年21 天前
【强化学习】数学推导专题,20W字总结(十五)
人工智能·分布式·大模型·强化学习·vibecoding
盼小辉丶21 天前
PyTorch强化学习实战(14)——优先经验回放机制
pytorch·python·深度学习·强化学习
文艺倾年23 天前
【强化学习】MDP、贝尔曼方程与CartPole 编程,20W字总结(二)
人工智能·软件工程·强化学习
happyprince23 天前
07_verl-Trainer模块详解
人工智能·架构·wpf·强化学习
chen_zn9524 天前
RLinf复现RECAP(一):从轨迹回报到优势标签
人工智能·强化学习·具身智能·vla
happyprince24 天前
08_verl-Workers模块详解
人工智能·架构·强化学习
happyprince24 天前
02_verl-代码目录结构详解
人工智能·架构·强化学习