传统基于丢包的拥塞控制算法,例如TCP里的Reno、Cubic算法。他们都是基于丢包的,但此类拥塞控制算法对丢包过于敏感,且对于延时不可控,无法实现低延时的传输。为了克服这些弱点,出现了许多其它类型的拥塞控制算法,利于基于延时的拥塞控制算法,例如BBR、PCC、Copa等。基于延时的拥塞控制算法主要为了在不使延时增大的情况下,实现高利用率,例如BBR、PCC、Copa等。在一个有固定瓶颈速率的路径上运行时,这些拥塞控制算法在平衡的状态下收敛到一个较小延时的情况下,及既保证路径利用率高,也保证延时较小。

饥饿现象

尽管被设计为实现合理的公平性,但目前去掉延迟约束的拥塞控制算法不是总能避免饥饿,这是一种极端形式的不公平。当这种拥塞控制算法在路径上运行时,由于现实世界的因素(如ACK聚合和终端主机调度)导致的非拥挤性网络延迟变化超过了拥塞控制算法在平衡状态下收敛的延迟范围的两倍,就可能发生饥饿。

主要原因

许多拥塞控制算法共享一个共同的属性。在具有恒定瓶颈率和传播延迟的理想网络路径上,它们会收敛到一个小的延迟范围并在该范围内振荡。平衡时经历的平均排队延迟范围要么是恒定的(无论瓶颈率是多少),要么是瓶颈率的递减函数(例如,拥塞控制算法保持一定数量的排队数据包)。

但是这种收敛特性会导致一种结果。因为大多数拥塞控制算法试图在许多数量级的速率中工作,它们必须将大的速率范围映射到小的延迟范围中。因此,即使估计排队延迟的微小变化也会引起巨大的变化。

这表明,除非延迟完全可测量,否则带宽可能无法公平共享。

RTT的分类

1.拥塞延迟,这是等待在瓶颈链接上发送的数据包产生的排队延迟的总和,以及瓶颈链接上的传输时间。

2.最小数据包传播RTT(或延迟),表示,定义为单个数据包穿越路径的非瓶颈部分和发送方收到ACK所需的时间(这包括路径的光速延迟和每个非瓶颈链路的数据包传输延迟)。

3.非拥堵性延迟,我们将其定义为由于网络元素(也许也在瓶颈处)引起的抖动,这些网络元素可能会暂时保留数据包或ACK,但本身并不是持久的速率瓶颈。

非拥塞延迟的来源包括 ACK 聚合、延迟的 ACK、终端主机或网络内调度开销、令牌桶过滤器、硬件卸载时序变化以及 MAC 和物理层的延迟。在实践中,非拥塞延迟的范围可以从操作系统线程调度 引起的几毫秒到链路层(例如 Wi-Fi)ACK 聚合引起的几十毫秒。这些因素中的每一个都会以不可预测的方式使 RTT 抖动。

延迟边界的拥塞控制算法试图控制瓶颈链路处的排队延迟。

工作模式

迄今为止开发的大多数(如果不是全部)延迟限制 CCA 具有共同的属性,称之为延迟收敛。这些拥塞控制算法试图收敛到一个固定的发送速率和排队延迟,只在那个点附近产生很小的振荡。这种设计模式有两个好处。首先,稳定的发送速率为应用程序提供了稳定的性能。其次,许多方案,无论是隐式还是显式,都将发送速率映射到相应的排队延迟,这使得对其行为的推理变得更容易。

论文中证明了对于延迟收敛算法,饥饿是不可避免的。

论文中为 CCA 设计提供了三个结论,应该在延迟收敛的 CCA 中明确地建模(或更好地估计)非拥塞延迟。

1.为了有效地利用链路,CCA 必须维护一个大于路径上非拥塞延迟的队列

2.稳定状态下排队延迟的变化也必须大于延迟抖动的二分之一

3.如果对发送速率有一个预先的上限,则可能能够避免饥饿,同时也减少队列延迟变化。

SIGCOMM2022 Starvation in End-to-End Congestion Control相关推荐

  1. A Google Congestion Control Algorithm for Real-Time Communication

    原文地址 https://datatracker.ietf.org/doc/html/draft-ietf-rmcat-gcc Abstract 摘要 This document describes ...

  2. 一周一论文(翻译)——[SIGMOD 2015] TIMELY RTT-based Congestion Control for the Datacenter

    本文主要解决的问题是在,基于优先级的拥塞控制PFC是一种粗粒度的机制,它主要是通过检测优先级队列的长度是否超过阈值,然后再发送PFC拥塞信号帧来进行流量控制.这种做法会带来不公平性以及行头阻塞等问题. ...

  3. TCP Congestion Control

    TCP Congestion Control Congestion occurs when total arrival rate from all packet flows exceeds R ove ...

  4. 数据报拥塞控制协议:DCCP(Datagram Congestion Control Protocol)

    目录 Datagram Congestion Control Protocol ethereal/wireshark support GStreamer support TODO & test ...

  5. Elasticity Detection:A Building Block for Internet Congestion Control读后感

    这周我读的论文是Elasticity Detection:A Building Block for Internet Congestion Control.这篇论文提出了一个新的度量"弹性& ...

  6. WebRTC的拥塞控制技术(Congestion Control

    http://www.jianshu.com/p/9061b6d0a901 1. 概述 对于共享网络资源的各类应用来说,拥塞控制技术的使用有利于提高带宽利用率,同时也使得终端用户在使用网络时能够获得更 ...

  7. TCP’s Congestion Control Implementation in Linux Kernel 文献阅读笔记

    TCP's Congestion Control Implementation in Linux Kernel 文献阅读笔记 作者:Somaya Arianfar Aalto University S ...

  8. 一周一论文(翻译)——[SIGMOD 2015] Congestion Control for Large-Scale RDMA

    本文主要解决的问题是在RoCEv2体系中,基于优先级的拥塞控制PFC是一种粗粒度的机制. 它在端口(或端口加优先级)级别上运行,并且不区分流.PAUSE机制是基于每个端口(和优先级)的,而不是基于每个 ...

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

    原论文链接 文章目录 Abstract 1. Introduction 2. Background 3. Core Idea and System Overview 4. RL for IW conf ...

最新文章

  1. python logging
  2. win10安装java1.8开发环境JDK
  3. 多索引表 (2)基本概念
  4. Service Mesh所应对的8项挑战 1
  5. 16.U-boot的工作流程分析-2440
  6. 大白话Docker入门(二)
  7. c 命令行简易计算器
  8. php控制台输入输出
  9. 阿里php开发规范,【PHP开发规范】老生常谈的PSR开发规范你懂多少?
  10. HCIE Security 防火墙URL过滤技术 备考笔记(幕布)
  11. 无线通信原理与技术 实验二  CDMA通信系统仿真
  12. my ReadBook_liutongjingjixue / circulation economics
  13. 物联网规划元旦前后出台 定十领域
  14. 越来越喜欢SQL语法了,Linq什么时候出来啊,半年了,咋没见更新了呢!真是望眼欲穿。...
  15. number1(python)
  16. android命令行启动,Android中使用am命令实现在命令行启动程序详解
  17. Linux网卡驱动pcnet32.c的注释(AM79C9*系列网卡的驱动)
  18. 你的睡眠时间和睡眠质量达标了么?
  19. JS 四舍六入五成双
  20. php面向对象第一篇

热门文章

  1. 怎么确定光纤分光器的分光比?
  2. Ditto 复制粘贴
  3. 查看Mac本机路由器IP地址
  4. zxr10交换机配置手册vlan_中兴ZXR10配置说明.doc
  5. el-table中使用el-popover点击取消按钮时popover框的显示与隐藏问题
  6. 使用tensorboard出现:“couldn‘t build proto file into descriptor pool!”的解决方法
  7. 鸿蒙系统翻车了,华为鸿蒙系统“翻车了”?被质疑抄袭安卓11系统,事实并非如此...
  8. python中级水平_Python 中级知识点
  9. Fabled Rooks UVA - 11134(题意+思路+题解)
  10. 问题:设计一个大学教师和学生管理程序, 教师包括 编号、姓名、职称和教研室 数据的输入输出; 大学生包括编号、姓名、性别、班号、英语、高等数学和数据结构三门课程成绩的输入输出和计算平均分; 研究生包