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

相关推荐
爱听歌的周童鞋2 天前
MIT 6.5940 | TinyML 与高效 AI 计算 | Fall 2026 | 笔记 | Lecture 14:LLM Post Training
大语言模型·强化学习·tinyml·后训练·mit 6.5940·高效 ai 计算
橙臣程3 天前
RL 冷启动省在哪?从 GRPO 同分组到工具调用奖励
强化学习
草履虫AI课3 天前
强化学习从零到一 03|算法地图:基于模型 vs 不基于模型
强化学习
星马梦缘3 天前
openarm 双臂协作模仿学习 · 入门路线
机械臂·强化学习·模仿学习·openarm·双臂协作·冗余臂
隔窗听雨眠6 天前
大模型强化学习训练的工程实现与调优路径
大模型·强化学习·llm训练
Jsundoku6 天前
第十四章 深度学习 -- 基于模型的方法
人工智能·强化学习
草履虫AI课8 天前
强化学习从零到一 01|基本概念:从试错到马尔可夫决策过程
强化学习
盼小辉丶8 天前
PyTorch强化学习实战——从零开始实现魔方求解器
pytorch·深度学习·强化学习
lucas_AI11 天前
预训练、SFT、RL 是同一个算法?CMU 把大模型训练流水线拧成了一个「数据旋钮」
强化学习
猫先生Mr.Mao12 天前
让动作先接受“未来检验”:ThinkWorld 如何用世界想象强化机器人推理
机器人·强化学习·具身智能·vla·世界模型·thinkworld