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

相关推荐
CV山月12 小时前
大模型强化学习对齐:从 RLHF 框架到 PPO 算法原理
人工智能·python·大模型·强化学习·多模态·研究生
机器学习之心3 天前
基于强化学习的股票价格预测与智能交易实战
强化学习·股票价格预测
XLYcmy3 天前
Self-Adapting Language Models论文分享
自然语言处理·llm·微调·sft·论文笔记·强化学习·自进化
指掀涛澜天下惊3 天前
强化学习进阶篇八 策略梯度算法
深度学习·学习·算法·强化学习
盼小辉丶4 天前
PyTorch强化学习实战——融合人类示范数据的高效强化学习
人工智能·pytorch·python·深度学习·强化学习
爱听歌的周童鞋4 天前
强化学习的数学原理 | 赵世钰 | 西湖大学 | 笔记 | Lecture 5 | Part 2 | 蒙特卡洛方法(MC Basic 算法介绍)
强化学习·monte carlo·estimation·model-free·mc basic
爱听歌的周童鞋4 天前
强化学习的数学原理 | 赵世钰 | 西湖大学 | 笔记 | Lecture 5 | Part 3 | 蒙特卡洛方法(MC Basic 算法例子)
强化学习·example·monte carlo·mc basic·episode length
盼小辉丶5 天前
PyTorch强化学习实战——基于图像-文本融合的自动化网页导航
人工智能·pytorch·深度学习·自动化·强化学习
Mid_search5 天前
Dueling Network
人工智能·深度学习·强化学习·dueling network
爱听歌的周童鞋5 天前
强化学习的数学原理 | 赵世钰 | 西湖大学 | 笔记 | Lecture 5 | Part 1 | 蒙特卡洛方法(通过例子介绍蒙特卡洛)
强化学习·大数定律·monte carlo·estimation·model-free·expectation