H-TCP 的效率和公平性

昨晚带安孩楼下玩耍,用手机 desmos 作了一组 response curve 置于双对数坐标系:
在这里插入图片描述

长肥管道的优化思路都很类似,cwnd 增长快一点:

  • BIC TCP:二分查找逼近 capacity;
  • CUBIC TCP:上凸曲线逼近 capacity;
  • Scalable TCP:确定时间逼近 capacity;
  • HSTCP:自适应 low,high 逼近 capacity;

在 Loss rate/cwnd 双对数坐标系中,用二次曲线替代直线从右下角与 Reno 相切逐渐向左上角弯折上去,就统一了 Reno,Scalable 和 HSTCP:

y = 1 0 ( 0.09 − 0.25 ln ⁡ x + 0.00105 ( ln ⁡ x ) 2 ) y=10^{\left(0.09-0.25\ln x+0.00105\left(\ln x\right)^{2}\right)} y=10(0.090.25lnx+0.00105(lnx)2)

如此也就不再需要手工分段函数,确保 TCP 友好了。现实中,H-TCP 就是这思想:

  • 距周期开始越远,AIMD 参数 α 越大,快速逼近;
  • 带宽抖动越大,AIMD 参数 β 越大,快速收敛。

因此无论在什么场景下,H-TCP 都能用统一机制自适应,在低速网络它更像 Reno,在长肥管道它又与 HSTCP 类似。

本质上 HSTCP 和 H-TCP 都是根据实际场景不断调整 α,β,不同点在于 HSTCP 采用了分段拟合 Reno 的方式,而 H-TCP 则采用了连续函数,具体如下:

α = { 1 , Δ < Δ L 1 + 10 ( Δ − Δ L ) + ( Δ − Δ L 2 ) 2 , Δ ≥ Δ L \alpha=\begin{cases}1,&\Delta<\Delta^L\\1+10(\Delta-\Delta^L)+(\dfrac{\Delta-\Delta^L}{2})^2,&\Delta\ge \Delta^L \end{cases} α= 1,1+10(ΔΔL)+(2ΔΔL)2,Δ<ΔLΔΔL

β = { 0.5 , ∣ B n − B n − 1 B n − 1 ∣ > 0.2 R m i n R m a x , o t h e r w i s e \beta=\begin{cases}0.5,& \left\lvert \dfrac{B_{n}-B_{n-1}}{B_{n-1}}\right\lvert>0.2\\\dfrac{R_{min}}{R_{max}},& otherwise\end{cases} β= 0.5,RmaxRmin, Bn1BnBn1 >0.2otherwise

β 比较有意思。MD 收缩越激烈,收敛越快,但可能收缩到 BDP 之下造成带宽利用率不足,因此 β 要适中。H-TCP 的效果是,它实时监控带宽的变化,根据这个变化率设置 β 的值。

与 Reno TCP 无条件收敛到 0.5cwnd 不同,Westwood TCP 增加了测量效果,让 cwnd 收敛到 maxbwminrtt,即 BDP,使带宽不至于因过度收敛而浪费,这就是信息注入的作用,H-TCP 思路类似,但采用了更为巧妙的做法,直接使用 minrtt / maxrtt 作为 β,更加直观,maxrtt - minrtt 就是最大排队时延,它的占比恰好就是要 drain 掉的部分。

简单模拟一下 β 的效果。先看标准 Reno TCP 的收敛:
在这里插入图片描述

再看 β 恒等于 minrtt / maxrtt 时的效果:
在这里插入图片描述

带宽利用率确实提高了。再看 H-TCP 的效果:
在这里插入图片描述

至于 α,看公式,不多说,一样的套路。

浙江温州皮鞋湿,下雨进水不会胖。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/452391.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

探索光耦:光耦——不间断电源(UPS)系统中的安全高效卫士

在现代社会&#xff0c;不间断电源&#xff08;UPS&#xff09;系统已成为保障关键设备和数据安全的关键设施&#xff0c;广泛应用于企业数据中心、家庭电子设备等场景。UPS能在电力中断或波动时提供稳定电力&#xff0c;确保设备持续运行。而在这套系统中&#xff0c;光耦&…

一款Vue神器!支持拦截、跨域的超级Http请求插件,体积小,兼容全(带私活源码)

今天带来的是一款Vue神器Vue-resource 是那种体积小、兼容全、支持拦截、跨域的超级Http请求插件哦&#xff01; 一、介绍 Vue-resource 是一个用于处理 HTTP 请求和响应的 Vue.js 组件库。它可以轻松地管理 HTTP 请求和响应&#xff0c;并提供了一些简单易用的 API。 Vue-r…

LeetCode刷题日记之贪心算法(四)

目录 前言柠檬水找零根据身高重建队列用最少数量的箭引爆气球总结 前言 在前几篇文章中&#xff0c;我们已经覆盖了贪心算法的基本思路和多种题型。这次我将继续分享几道具有挑战性的贪心题目。希望这篇文章能为大家带来更多解题灵感和技巧✍✍✍ 柠檬水找零 LeetCode题目链接…

javaWeb项目-ssm+vue宠物管理系统功能介绍

本项目源码&#xff08;点击下方链接下载&#xff09;&#xff1a;java-ssmvue宠物管理系统实现源码(项目源码-说明文档)资源-CSDN文库 项目关键技术 开发工具&#xff1a;IDEA 、Eclipse 编程语言: Java 数据库: MySQL5.7 框架&#xff1a;ssm、Springboot 前端&#xff1a;V…

Elasticsearch:Redact(编辑) processor

Redact 处理器使用 Grok 规则引擎来隐藏输入文档中与给定 Grok 模式匹配的文本。该处理器可用于隐藏个人身份信息 (Personal Identifying Information - PII)&#xff0c;方法是将其配置为检测已知模式&#xff0c;例如电子邮件或 IP 地址。与 Grok 模式匹配的文本将被替换为可…

hdfs的分布式存储原理

1.想要把一个大文件存储到hdfs,首先进行划分,将文件划分为一个一个的block,这个block默认为512MB,可修改. 2.备份(也就是副本) 将文件划分后,一个block丢失则原来的大文件没有用了.为了确保文件的安全性,hdfs提供了副本,也就是备份,将文件划分之后hdfs默认将每一个block备份到…

xtrabackup工具介绍、安装及模拟数据库故障使用xtrabackup工具恢复数据等操作详细说明

一、xtrabackup工具介绍 Percona XtraBackup Percona XtraBackup是一个适用于MySQL的开源热备份工具&#xff0c;它在备份期间不锁表。它可以备份InnoDB、XtraDB以及MyISAM存储引擎的表。 2.4版本支持MySQL5.1、5.5、5.6以及5.7。 它有两个实用命令&#xff0c;分别是xtraback…

Python之briefcase生成安卓app解决按钮字母变大写问题

最近修改千纬认字&#xff0c;要在按钮上用拼音&#xff0c;发现拼音会自动变成大写的拼音加音调。 查了一下发现是android的问题。 Android学习之Button按钮在程序运行时全部变大写的处理 - 叶是风的眼泪 - 博客园 按照文中写的 在style.xml文件中加入&#xff1a;<item …

初始爬虫13(js逆向)

为了解决网页端的动态加载&#xff0c;加密设置等&#xff0c;所以需要js逆向操作。 JavaScript逆向可以分为三大部分&#xff1a;寻找入口&#xff0c;调试分析和模拟执行。 1.chrome在爬虫中的作用 1.1preserve log的使用 默认情况下&#xff0c;页面发生跳转之后&#xf…

【SPIE出版,EI检索稳定】2024年人机交互与虚拟现实国际会议(HCIVR 2024,11月15-17日)

2024年人机交互与虚拟现实国际会议&#xff08;HCIVR 2024&#xff09; 2024 International Conference on Human-Computer Interaction and Virtual Reality 官方信息 会议官网&#xff1a;www.hcivr.org 2024 International Conference on Human-Computer Interaction and …

Cuda By Example - 7 (光线追踪)

第6章以实现简单的光线追踪为例子&#xff0c;引入了Constant Memory和性能测量方法。 Constant Memory NVIDIA的硬件提供了64K的constant只读内存。定义constant内存的变量&#xff0c;使用关键字__constant__。从constant内存里读取出来的数据&#xff0c;可以缓存起来&…

【Ubuntu18.04命令行code打不开】可能的解决方法

目录 问题&#xff1a;命令行code打不开文件尝试① kimi是这么说的② sudo apt-get install apparmor apparmor_utils③ 在混沌的操作完以上一通后&#xff0c;sudo apt-get install snapd 我试了将近一个小时 : ( so depressed 我只是想用vscode打开个文件夹&#xff0c;我甚至…

Leetcode 1129. 颜色交替的最短路径

1.题目基本信息 1.1.题目描述 给定一个整数 n&#xff0c;即有向图中的节点数&#xff0c;其中节点标记为 0 到 n – 1。图中的每条边为红色或者蓝色&#xff0c;并且可能存在自环或平行边。 给定两个数组 redEdges 和 blueEdges&#xff0c;其中&#xff1a; redEdges[i] …

从零入门AI篡改图片检测(金融场景)#Datawhale十月组队学习

1.大赛背景 在全球人工智能发展和治理广受关注的大趋势下&#xff0c;由中国图象图形学学会、蚂蚁集团、云安全联盟CSA大中华区主办&#xff0c;广泛联合学界、机构共同组织发起全球AI攻防挑战赛。本次比赛包含攻防两大赛道&#xff0c;分别聚焦大模型自身安全和大模型生成内容…

安装好的 Nginx 增加 nginx-module-vts 模块

目录 1. nginx-module-vts 准备 2.查看已安装的的 nginx 编译参数 3. 重新编译 nginx 添加 nginx-module-vts 模块 4. 验证 1. nginx-module-vts 准备 # 解压 unzip nginx-module-vts-master.zip # 将解压包移动到/usr/local/目录 mv nginx-module-vts-master /usr/local/ …

jmeter响应断言放进csv文件遇到的问题

用Jmeter的json 断言去测试http请求响应结果&#xff0c;发现遇到中文时出现乱码&#xff0c;导致无法正常进行响应断言&#xff0c;很影响工作。于是&#xff0c;察看了其他测试人员的解决方案&#xff0c;发现是jmeter本身对编码格式的设置导致了这一问题。解决方案是在jmete…

轻松应对PDF编辑难题:四款免费pdf编辑器实测体验

作为一名办公室文员&#xff0c;每天处理各种文件是家常便饭。而PDF文档因其格式稳定、不易篡改的特性&#xff0c;在工作中扮演着重要角色。但编辑PDF文件却不像编辑Word文档那样简单&#xff0c;这就需要一款得心应手的PDF编辑器。今天&#xff0c;我就来分享一下我使用过的几…

如何利用解析器绕过访问控制

0x01 前言 每年blackhat总是会有一些新奇的攻击思路值得大家学习&#xff0c;在2024年blackhat的议题中发现一篇很有意思的文章&#xff0c;作者提出了一套基于邮箱的欺骗攻击思路&#xff0c;利用RFC标准中对SMTP协议中邮箱地址的特性&#xff0c;提供一系列绕过技巧&#xf…

揭秘Map与Set的键值奥秘与集合魅力,解锁高效数据魔法

文章目录 前言➰一、关联式容器1.1 关联式容器的概述1.2 关联式容器的工作原理1.3 关联式容器的核心特性 ➰二、键值对2.1 键值对的基本概念2.2 键值对在C中的实现 ➰三、树形结构的关联式容器3.1 树形结构的特点3.2 使用场景 ➰四、set的使用与定义4.1 set的基本特性4.2 set的…

Flutter UI组件库(JUI)

Flutter UI组件库 (JUI) 介绍 您是否正在寻找一种方法来简化Flutter开发过程&#xff0c;并创建美观、一致的用户界面&#xff1f;您的搜索到此为止&#xff01;我们的Flutter UI组件库&#xff08;JUI&#xff09;提供了广泛的预构建、可自定义组件&#xff0c;帮助您快速构建…