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

相关推荐
WhereIsMyChair17 小时前
VERL的损失函数计算方式
强化学习
蜡笔小新..1 天前
从零学习 RL :初识强化学习
人工智能·强化学习·rl
QiZhang | UESTC3 天前
RL4LLM
大模型·强化学习·rl4llm
nju_spy3 天前
动手学强化学习上交张伟楠(一)导论 + 多臂老虎机 MAB(ε-greedy+上置信界+汤普森采样)
人工智能·python·强化学习·actor-critic·多臂老虎机·汤普森采样·探索与利用
程序员Agions4 天前
程序员武学修炼手册(三):融会贯通——从写好代码到架构设计
前端·程序员·强化学习
索木木5 天前
强化学习与思维链
大模型·sft·强化学习·思维链
nju_spy5 天前
RL4LLM_Survey 强化学习在大语言模型后训练综述
人工智能·强化学习·reinforce·ppo·数据异质性·大模型后训练·奖励函数
AI-Frontiers6 天前
小白也能看懂的LLM-RL算法:PPO/DPO/GRPO/GSPO
强化学习·大模型训练
超的小宝贝7 天前
机器学习期末复习
深度学习·机器学习·强化学习
空山新雨后、7 天前
深度学习VS强化学习:预测与决策的本质差异
人工智能·深度学习·强化学习