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进行工作:

相关推荐
lucas_AI1 天前
P2TPO:整页文档解析只看总分是笔糊涂账——把功过算到每个 token 头上
强化学习
维度攻城狮4 天前
最基础的REINFORCE:小车倒立摆
强化学习·reinforce·小车倒立摆
盼小辉丶4 天前
PyTorch强化学习实战(29)——深入解析强化学习中的探索策略
pytorch·深度学习·强化学习
AliCloudROS5 天前
5~7 分钟跑通第一个 Agentic RL 训练:我们把 verl 全链路做成了计算巢一键服务
深度学习·强化学习
猫先生Mr.Mao5 天前
具身智能之Dex-One2Many详解:一条人类视频如何变成多种灵巧手行为
机器人·强化学习·论文解读·具身智能·灵巧手
liferecords6 天前
PolyOCR-Venus:蚂蚁把 OCR 从『抄写员』练成『视觉智能体』,教师蒸馏还会自己下岗
大模型·ocr·强化学习·多模态
zh路西法6 天前
【离策略强化学习】DDPG、TD3 与 SAC:核心公式推导与源码解析
python·强化学习·ddpg·td3·sb3·off-policy·sac
老周聊架构7 天前
领域模型进化:GRPO 强化学习与 Post-training Engineering
强化学习·grpo
盼小辉丶7 天前
PyTorch强化学习实战(28)——遗传算法在强化学习中的应用
pytorch·深度学习·强化学习
幻影123!12 天前
AlphaZero 五子棋实战(番外二):白棋专项训练的一种方案
python·机器学习·强化学习·五子棋·alpha zero