Dynamic TCP Initial Windows and Congestion Control Schemes through Reinforcement Learning笔记

TCP-RL协议通过增强学习动态配置TCP初始窗口(IW)和拥塞控制(CC),以提升短流和长流的传输性能。针对短流,TCP-RL使用group-based RL配置IW,降低平均传输时间23%-29%;对长流,它使用deep RL动态调整CC,在多数情况下性能优于14个CC方案。该协议已在大规模搜索引擎部署一年,表现出显著优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原论文链接

Abstract

尽管经过了多年的改进,TCP的性能仍然不尽如人意。对于短流为主的服务(如web搜索、电子商务),TCP存在流启动问题,无法充分利用现代互联网的可用带宽:TCP从一个保守的静态初始窗口(IW, 2-4或10)开始,而大多数web流太短,无法在会话结束之前聚合到最佳的发送速率。对于以长流(如视频流、文件下载)为主导的服务,手动和静态配置的拥塞控制(CC)方案可能无法为最新的网络条件提供最佳性能。为了解决这两个问题,我们提出了TCP-RL协议,该协议使用 增强学习(RL) 技术来动态配置IW和CC,以提高TCP流传输的性能。基于在web服务的服务器端观察到的最新网络条件,TCP-RL通过 group-based RL 动态地配置适合于短流的IW,通过 deep RL 动态地配置适合于长流的CC方案。我们的大量实验表明,对于短流量,TCP-RL可以缩短平均传输时间约23%;对于长流量,并与14个CC方案的性能进行了比较,在给定的288种静态网络条件下,大约在85%情况下,TCP-RL 的性能能排在前5位,而大约90%的情况下,与相同网络条件下性能最好的CC方案相比,它的性能下降了不到12%。

1. Introduction

运用RL到实际生活中会有以下三个挑战,本文大部分内容都是围绕解决此三个Challenge而展开的:

  1. 如何只在服务器端测量新的TCP数据
  2. 如何将RL运用于高度可变的和不连续的互联网网络环境
  3. 如何从一个大的决策空间中搜索最优的TCP IW 或者CC

此paper的主要贡献:

  • 为了解决挑战 1,我们修改了Linux内核和nginx软件程序用于存储TCP流的性能记录(比如,transmission time, throughput, loss rate, RTT),比较牛皮。
  • 为了在配置IW的情况下处理挑战2,我们在grouped granularity(组粒度)上用了传统 model-free RL 方法,基本的想法就是运用 online exploration-exploitation 。另外我们提出了一个 bottom-up 的方法来根据相同的网络特征对用户流进行分组,最后比较了下以前的工作,TCP-RL能更好的利用历史数据来配置合适的IW。
  • 为了在配置CC的情况下处理挑战2,TCP-RL准备在per-flow granularity(每个流的粒度)上利用deep RL的方法,他训练了一个离线网络,用于在线选择合适的CC。为了处理多变的网络环境,还建了个model用来detect网络的变化以便DRL更好地适应网络变化。
  • 为了解决挑战3,在配置IW时,用了 sliding-decision-space 方法在决策搜索空间中快速收敛到最优的IW。在配置CC时,离线的神经网络可以在线选择合适的CC,而不用蛮力搜索。
  • 据他们所知,利用这是第一次用RL来解决IW和CC配置问题的工作。并且仅需要改变发送端,而且TCP-RL已经在全球最大的搜索引擎之一(由作者单位,猜测是百度)中部署了一年多。大量实验表明,对于短流量,相比于传统的设置固定的IW=10,TCP-RL可以缩短平均传输时间约23%~29%;对于长流量,并与14个CC方案的性能进行了比较,在给定的288种静态网络条件下,大约在85%情况下,TCP-RL 的性能能排在前5位,而大约90%的情况下,与相同网络条件下性能最好的CC方案相比,它的性能下降了不到12%。

本paper的结构如下:

  1. part1 paper简要介绍
  2. part2 介绍背景
  3. part3 介绍核心思路并overview TCP-RL
  4. part4和5 分别介绍了配置IW和CC 的算法
  5. part6讲了下TCP-RL的实现细节
  6. part7和8 评估了下IW和CC 配置在TCP-RL上的性能
  7. part9 展示了相关工作
  8. part10 总结

2. Background

跳过

3. Core Idea and System Overview

  • 配置IW(用于short-flow)的主要想法:提出根据相同的网络条件对用户进行分组,然后在每个用户组上采用online RL。作者认为在给定的时间和服务器上,用户的的网络特征(如subnet, ISP, province)极大的取决于client-server端到端的网络连接条件。所以在每个用户组上运行RL,会提升各个用户组的性能。存疑?继续往下看
  • 配置CC(用于long-flow)的主要想法:这个不像配置IW,而是要数据有数据,比如可以观察到网络状态(throughput, RTT, loss rate),所以训练了一个离线的神经网络用于state到action的映射。

TCP-RL Overview:
在这里插入图片描述
如上图所示TCP-RL的主要想法就是服务器端根据客户端给的performance(Throughput,RTT)来学习生成Parm,也就是IW or CC,客户端根据IW or CC做出发送调整,得到新的performance,如此往复。此过程不需要修改中间件(如,路由器、交换机和链路)。另外由于IW和CC可以独立配置,所以一般面向short-flow的服务器配置IW,面向long-flow的服务器配置CC。

  • 对于IW的配置,需要区分前端服务器、brain 服务器和用户组。当某用户向前端服务器发送请求时,前端服务器会对此用户进行识别,判断属于哪个用户组。然后在向用户给出响应之前根据不同的用户组配置不同的IW。当向用户传完数据之后,前端服务器会给brain 服务器发送performance,brain服务器根据performance执行RL算法来更新不同用户组的IW,并每隔1分钟的发送至前端服务器。
  • 在CC配置中,用户组是根据每个流作为粒度而区分的,并且brain服务器就是前端服务器本身。这个就比较简单了,就是先随机一个CC,然后得到一个state和reward,并将state和reward作为RL model的输入得到新的CC,如此往复,重复的间隔为1秒。RL model是离线的,会在part 5介绍。

4. RL for IW configuration

在配置IW中,本文设计了两种算法:The Online RL Algorithm 和 user Grouping Algorithm分别解决Challenge 3 和 2.

The Online RL Algorithm

将IW配置问题看成non-stationary multi-armed bandit problem,并通过the discounted UCB algorithm进行求解。
the discounted UCB algorithm如下图
在这里插入图片描述
图中有两个重要的公式 X ‾ t ( γ + i ) \overline{X}_t(\gamma+i) Xt(γ+i) c t ( γ + i ) c_t(\gamma+i) ct(γ+i),以下列出此俩公式的推导:
1、 X ‾ t ( γ + i ) \overline{X}_t(\gamma+i) Xt(γ+i)如下:
在这里插入图片描述
2、 c t ( γ + i ) c_t(\gamma+i) ct(γ+i)如下:
在这里插入图片描述
这两公式具体的符号说明看论文,在此不表。接下来讲下最关键的部分就是对于IW配置,如何定义reward function 和 arm(不清楚arm的可先去了解下non-stationary multi-armed bandit problem,RL中的一种场景)。

1、 reward function
目标是最大化 throughput和最小化RTT,reward function的定义如下:(省去分析部分,感兴趣可看原文)
在这里插入图片描述
为了使 X s ( i ) ∈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值