少即是多:從 MPTCP 看優化干預的邊界

“對待端到端傳輸,信息不足就要少干預,越干預越糟糕”,這是我的信條,這次再來說說 MPTCP。

Linux 內核 MPTCP 最好的調度算法就是 default 算法,沒有之一,因為它以代價最小,最自然的方式做到了保序和聚合:

  • 按最小 rtt 調度 next,確保多條 subflow 按序到達;
  • 最小 rtt subflow 不斷填充至非最小 rtt,回到 1,開始 roundrobin 聚合;
  • 始終保持最小 rtt 的 subflow 將自然放棄聚合 subflow,說明數據量不足;
  • 最小 rtt 調度,只要時間足夠久,一定能穩定到最優狀態,其它任何算法都能歸結為最小 rtt 調度的

不同場景,只是為照顧某些特征,使用一些額外推算的信息優化局部指標,但在本質上,rtt 是唯一的輸入信息,即便如此,仍需要對其平滑,以 srtt 算。

其它任何信息,注入實時吞吐的計算,rtt 梯度等均是二手信息,且屬于高階二手信息,而信息只有單方向作用力,一旦誤判將會加倍抵消已獲得的微弱收益。例如,本身 srtt 即加工信息,使用它做輸入獲得的任何新信息均屬于高階二手信息,風險極大。

大量論文上展示的花哨算法之所以中看不中用,恰在于它們假設高階二手信息均是可信的,而在特定的仿真環境,它們確實可信,因為環境是可控的,而非實際現網隨機的復雜自適應環境,甚至不攜帶最簡單的統計復用特征。

我也玩過花活,提出笨鳥先飛的策略,先發送緩沖區后半部到 rtt 最大的 subflow,實屬與最小 rtt 調度反著來,但多笨的鳥先飛多久馬上浮現,循著這思路,同時堅守 “不使用高階二手信息” 的原則,最終就走向了分 block,徹底解耦各 subflow 序列關聯,最后把問題推給 buffer 管理,buffer 屬空間維度,與最小 rtt 正交,看起來相互不犯也和諧。

空間策略與時間策略不同的是 buffer 管理得先有足夠數據才能被調度,不是所有流都能隨時產生足夠多的數據,而時間流逝卻不止,遵循文初描述的三點即可,這么看來,我的花活的適應性還是不如最小 rtt 調度。

在更一般的范疇,時間一直均勻流逝,時間維度的策略比空間維度的策略更加能適應幾乎所有場景,而空間維度的策略更適用于單獨追求高性能的場景,而性能等效于時間的倒數,用空間換時間自然而然,但空間策略的適應性更弱,統觀全局,若要生存,若要展開,適應性要比高性能更重要,這又是一個辯證。

續噴 MPTCP,在于我要澄清另一個原則,“非技術經理不要追求技術指標,而要追求體驗,QoE”。
一個商務經理(很多商務經理總強調自己以前搞過技術,估計是怕被忽悠,商務就商務,裝什么懂技術)整天追 “MPTCP 的聚合效率” 是一種什么體驗,比如他非要將 1Mpbs 和 100Mbps 聚合成 101Mbps,結果聚合結果只有 50Mbps,比不聚合還要差,到底誰錯了?在我看來,我得告訴他正確結果不是 101Mbps,而是 100.373Mbps,我還要強調我是算出來的,真 TM 想扇他。

誰也沒錯,邊界亂了。從一開始就不該讓經理知道 “帶寬”,“帶寬聚合” 等名詞,他們應該知道的是 “卡頓”。否則很容易陷入 “為聚合而聚合” 的陷阱,最終工人們會想花活來應對技術指標要求,弄巧成拙,比如要聚合 rtt = 1ms,300ms 路徑,為 rtt = 1ms 的那條主動增加 300ms,結果卻嚴重損害了體驗。

做 TCP 優化時曾遇到過一位經理,嫌 srtt 抖動,要我們周內消除 srtt 抖動,經理以為這是個很難的工作,但對我們太簡單了,把 srtt 歷史權重提高到 0.95,經理的問題就解決了。如果經理不知道 rtt 這個概念,我們本想利用那周剩下的幾天挑選長尾噪點做針對性優化。第二周經理發現 srtt 抖動降低了,吞吐還是不行,我怕他是不是又要折騰幺蛾子,果斷請假,利用休假完成了我那經典的 1000 個 if 分支。

經理不應該學習技術,技術因果和管理因果完全不同,后者的對象是不講內稟的。堅信 rtt 抖動消除了性能就提升比堅信加班就能完成工作更天真,因為 rtt 抖動是內稟的,而加班或許真的能完成工作,雖然大多數情況下不能。

說回 MPTCP。MPTCP 聚合路由器的意義是聚合不同運營商不同代系的帶寬,平滑波動,使得在各種代系以及運營商覆蓋率的場景下都能提供穩定高速的帶寬,其中高速并非重點,由于各運營商地域覆蓋率并不重疊,聚合路由器平滑差異,穩定少斷網才是關鍵。

在技術層面,多路徑是多路徑,聚合是聚合,二者沒什么太值得一提的關聯,多路徑算是未來傳輸技術的趨勢,特別是未來摩爾定律失效后的高速傳輸領域,而聚合只是過渡技術,要聚合說明不夠,夠了就不需要聚合了。

噴 TCP,噴 BBR,噴 MPTCP,根本上還是看不慣有人不懂,怒其不爭。

最后,做道題目:

一根長度為 L,截面積為 S 的厚橡皮水管,兩個端點分別為 A,B,從 A 端注水,B 端出水時可充滿截面積 S,假設在距離 A 端 x 處的水管上開一個面積為 y 的口漏水,若此時仍要 B 端出水時可充滿截面積 S,對 A 端注水應該有何要求,從檢測到漏口,A 端需要執行該要求多久,B 端才能重新充滿截面積 S,與 x,y 的關系是什么?

然后用它來對帶寬聚合建模。

浙江溫州皮鞋濕,下雨進水不會胖。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/922285.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/922285.shtml
英文地址,請注明出處:http://en.pswp.cn/news/922285.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

“開源AI智能名片鏈動2+1模式S2B2C商城小程序”在直播公屏引流中的應用與效果

摘要:本文聚焦于直播公屏引流場景,探討“開源AI智能名片鏈動21模式S2B2C商城小程序”如何通過技術賦能與模式創新,重構直播電商的流量獲取與轉化路徑。研究結合案例分析與實證數據,揭示該方案在提升用戶互動、優化供應鏈管理、降低…

基于大數據挖掘的藥品不良反應知識整合與利用研究

標題:基于大數據挖掘的藥品不良反應知識整合與利用研究內容:1.摘要 隨著醫療數據的爆炸式增長,大數據挖掘技術在醫療領域的應用日益廣泛。本研究旨在利用大數據挖掘技術對藥品不良反應知識進行整合與利用,以提高藥品安全性監測和管理水平。通過收集多源異…

國產時序數據庫選型指南-從大數據視角看透的價值

摘要:大數據時代時序數據庫崛起,工業物聯網場景下每秒百萬級數據點寫入成為常態。Apache IoTDB憑借單節點1000萬點/秒的寫入性能、毫秒級查詢響應和20:1超高壓縮比脫穎而出,其樹形數據模型完美適配工業設備層級結構。相比傳統數據庫&#xff…

教你使用服務器如何搭建數據庫

數據庫是存儲和管理數據的核心組件,無論是網站、應用還是企業系統,都離不開數據庫的支持。本文將以 萊卡云服務器 為例,教你如何快速搭建常用數據庫服務。一、準備工作服務器環境推薦操作系統:Ubuntu 20.04 / Debian 11 / CentOS …

西門子 S7-200 SMART PLC 核心指令詳解:從移位、上升沿和比較指令到流水燈控制程序實戰

對于 PLC 初學者來說,“流水燈” 是繞不開的經典入門案例 —— 它看似簡單,卻濃縮了 PLC 編程的核心邏輯:初始化、時序控制、指令應用與狀態判斷。今天我們就以 S7-200 SMART 為例,逐行拆解一段 8 位流水燈控制程序,帶…

P4342 [IOI 1998] Polygon -普及+/提高

P4342 [IOI 1998] Polygon 題目描述 題目可能有些許修改,但大意一致。 Polygon 是一個玩家在一個有 nnn 個頂點的多邊形上玩的游戲,如圖所示,其中 n4n 4n4。每個頂點用整數標記,每個邊用符號 (加)或符號 *…

枚舉算法和排序算法能力測試

枚舉算法題目 1&#xff1a;找出 1-20 中既是偶數又是 3 的倍數的數題目描述&#xff1a;小明想找出 1 到 20 中既能被 2 整除又能被 3 整除的數字&#xff0c;幫他列出來吧。 代碼&#xff1a;cpp運行#include <iostream> using namespace std; int main() {int a;for (…

大數據電商流量分析項目實戰:Hadoop初認識+ HA環境搭建(二)

?博客主頁&#xff1a; https://blog.csdn.net/m0_63815035?typeblog &#x1f497;《博客內容》&#xff1a;大數據、Java、測試開發、Python、Android、Go、Node、Android前端小程序等相關領域知識 &#x1f4e2;博客專欄&#xff1a; https://blog.csdn.net/m0_63815035/…

【Linux】Linux進程概念(上)

一、馮諾依曼體系結構我們常見的計算機&#xff0c;如筆記本。我們不常見的計算機&#xff0c;如服務器。它們大部分都遵守馮諾依曼體系。截至目前&#xff0c;我們所認識的計算機&#xff0c;都是由一個個硬件組件組成。輸入單元&#xff1a;鍵盤、鼠標、掃描儀、寫板等中央處…

GESP C++ 一~二級拓展課(一)

課題及解析建議用時60分鐘&#xff0c;作業及講解建議用時50分鐘。 課題及解析&#xff1a; 4003&#xff1a;【GESP2303二級】畫三角形 【題目描述】 輸入一個正整數 n&#xff0c;請使用大寫字母拼成一個這樣的三角形圖案&#xff08;參考樣例輸入輸出&#xff09;&#xff…

Kubernetes Ingress:使用 Apache APISIX 進行外部流量路由

什么是 Ingress&#xff1f; 在 Kubernetes 中&#xff0c;隨著微服務架構的廣泛應用&#xff0c;集群中的服務需要暴露到外部&#xff0c;以便供用戶或其他服務訪問。如何高效、安全地管理這些流量&#xff0c;成為了一個重要的議題。Ingress 作為 Kubernetes 提供的一種資源&…

Elasticsearch的理解與使用

在大數據與云計算時代&#xff0c;“高效檢索” 與 “實時分析” 成為業務突破的關鍵能力。Elasticsearch&#xff08;簡稱 ES&#xff09;作為一款開源分布式搜索與分析引擎&#xff0c;憑借其低延遲、高可擴、強靈活的特性&#xff0c;已成為日志分析、全文檢索、業務監控等場…

利用FFmpeg自動批量處理m4s文件

緩存了一些視頻m4s文件&#xff0c;只能用指定的軟件打開&#xff0c;網上查了一下&#xff0c;需要去掉m4s文件開頭的9個0&#xff0c;還要用FFmpeg將兩個文件合并成一個文件。 經仔細研究緩存目錄和其中文件&#xff0c;發現以下特點&#xff1a;“緩存目錄”中有很多“數字文…

MLLM學習~M3-Agent Prompt學習

Prompt “輸入→處理→輸出→評估” 全流程 Prompt 并非孤立存在&#xff0c;形成了完整的視頻理解鏈路&#xff1a; 視頻原始數據&#xff08;語音 / 圖像&#xff09;→ 模塊 1&#xff08;提取語音 綁定人物 ID&#xff09;→ 模塊 2&#xff08;生成情景記憶描述&#xff…

Ubuntu 20.04安裝顯卡驅動、CUDA、Miniconda和Pytorch(2025.06最新)-Ubuntu從零搭建深度學習環境

文章目錄一、安裝顯卡驅動1.1 查看顯卡型號1.2 根據顯卡型號選擇驅動1.3 獲取下載鏈接1.4 查看下載的顯卡驅動安裝文件1.5 更新軟件列表和安裝必要軟件、依賴1.6 卸載原有驅動1.7 禁用默認驅動1.8 安裝lightdm顯示管理器1.9 停止顯示服務器1.10 在文本界面中&#xff0c;禁用X-…

PyCharm 連接 AutoDL 遠程服務器

實驗室的電腦性能不行了&#xff0c;所以想著租一臺服務器&#xff0c;然后還想使用PyCharm在本地編程&#xff0c;因此就查找相關資料&#xff0c;這里記錄一下配置過程&#xff0c;方便以后查閱。 PyCharm 連接 AutoDL 遠程服務器PyCharm 連接服務器上傳數據集到服務器運行代…

Spark廣播變量HttpBroadcast和TorrentBroadcast對比

HttpBroadcast會在driver端的BlockManager里面存儲廣播變量對象&#xff0c;并且將該廣播變量序列化寫入文件中去。所有獲取廣播數據請求都在driver端&#xff0c;所以存在單點故障和網絡IO性能問題。 TorrentBroadcast會在driver端的BlockManager里面存儲廣播變量對象&#xf…

新手向:C語言、Java、Python 的選擇與未來指南

語言即工具&#xff0c;選對方向比埋頭苦學更重要你好&#xff0c;編程世界的新朋友&#xff01;當你第一次踏入代碼的宇宙&#xff0c;面對形形色色的編程語言&#xff0c;是否感到眼花繚亂&#xff1f;今天我們就來聊聊最主流的三種編程語言——C語言、Java 和 Python——它們…

收集飛花令碎片——C語言關鍵字typedef

在C語言的指針章節中&#xff0c;我們講到函數指針模塊 在函數指針中&#xff0c;有一個重要的關鍵字&#xff1a;typedef typedef關鍵字作用基本語法重難點&#xff1a;對數組指針與函數指針的重命名數組指針重命名一維數組指針重命名遍歷二維數組函數指針重命名作用 typedef是…

基于Spring Boot的家政服務管理系統+論文示例參考

1.項目介紹 系統角色&#xff1a;管理員、家政服務、服務人員功能模塊&#xff1a;用戶管理、服務人員、服務類型、家政服務、服務預約、接單信息、服務記錄、評價信息、反饋投訴等技術選型&#xff1a;SpringBoot&#xff0c;Vue等測試環境&#xff1a;idea2024&#xff0c;jd…