ICTCP-閱讀筆記

IEEE/ACM Transactions on networking,2013

簡介

應(yīng)用層與傳輸層解決方案的區(qū)別:應(yīng)用層級的解決方案不具有通用性劈彪,只適用于同一種應(yīng)用奠衔,例如PICC抄谐。而傳輸層級的解決方案可以屏蔽不同應(yīng)用間的區(qū)別宁赤,更具有通用性。

實驗中每個發(fā)端發(fā)送的數(shù)據(jù)數(shù)量是相同的恶耽,總的流量會隨著發(fā)端數(shù)量的增加而增加密任。在某些文章中,是將總流量固定為一個定值偷俭,隨著發(fā)端數(shù)量的增加浪讳,單個發(fā)端發(fā)送的數(shù)據(jù)量減少。

方案思想:基于接收窗口的擁塞控制算法涌萤。在丟包前進行擁塞避免淹遵,避免丟包。理論依據(jù)為接收端可以獲取目前全局的有限吞吐量和可用剩余帶寬负溪。難點在于如果接收窗口大小過小透揣,會限制TCP性能,過大則失去了預(yù)防incast擁塞的作用川抡。

解決步驟:(1)在接收端執(zhí)行擁塞控制算法辐真,用剩余帶寬作為調(diào)節(jié)接收窗口的評價標(biāo)準(zhǔn)(2)每條流的接收窗口的調(diào)節(jié)都是獨立的(3)接收窗口的調(diào)節(jié)是基于測量吞吐量和理想吞吐量之間差值的百分比,以及RTT往返時延來確定的崖堤。

背景和動機

  1. 介紹了incast問題發(fā)生的情景
    每個TCP連接傳輸?shù)臄?shù)據(jù)塊大小都是比較小的侍咱, 為kB量級的,一般測試用的數(shù)據(jù)塊大小在64kB倘感,128kB放坏,256kB咙咽,等等老玛。同時連接的服務(wù)器數(shù)量在44-48之間,TOR交換機一般情況下是48個端口钧敞,上行鏈路帶寬大約為單個端口10Gb蜡豹。

goodput指的是多個TCP連接的有效吞吐量,是在應(yīng)用層測量得到的溉苛。在實際測試中镜廉,接收端先通過多線程向所有發(fā)端發(fā)送請求,TCP連接是逐個發(fā)出的愚战,當(dāng)該輪上的所有連接都已完成向接收方的數(shù)據(jù)傳輸時娇唯,一輪結(jié)束齐遵。

探討了并行發(fā)端數(shù)量與有效吞吐量之間的關(guān)系,得出結(jié)論塔插,在最后一跳解決incast問題梗摇。

  1. goodput,接收窗口想许,RTT
    探索了靜態(tài)接收窗口下goodput和RTT的變化情況伶授,分析了其他根據(jù)RTT調(diào)整接收窗口的方案,得出結(jié)論流纹,增加的時延就是因為排隊糜烹,但單純依據(jù)RTT調(diào)整接收窗口,不靠譜漱凝,一是RTT測量的精確度本身與系統(tǒng)相關(guān)性較大疮蹦,二是RTT增加時,可用帶寬并不一定增加茸炒,這時增加接收窗口只會造成丟包挚币。

方案只調(diào)整RTT小于2ms的TCP流,這樣扣典,該擁塞避免算法就可以只應(yīng)用于多對一模式的流量妆毕,避免了其他長流的吞吐量下降。

  1. incast問題的根源探索
    從時延的組成分析贮尖,根源在于交換機出口的排隊笛粘。定義了BDP(帶寬時延產(chǎn)品),理論計算了不發(fā)生incast問題時允許同時發(fā)送的數(shù)據(jù)包個數(shù)為8個湿硝。指出現(xiàn)代TOR交換機的緩存一般為4MB薪前,平均每個端口為85kB。只有使用好交換機緩存空間关斜,才能保證不丟包示括,吞吐量不下降。調(diào)節(jié)方案有兩種:發(fā)端擁塞窗口和收端接收窗口痢畜。本文選擇收端接收窗口垛膝。

設(shè)計

ICTCP方案具有通用性,既可以調(diào)節(jié)incast流丁稀,也可以調(diào)節(jié)非incast流吼拥。沒有對TCP協(xié)議和TCP包頭做任何修改,具有很強的兼容性线衫。在擁塞發(fā)生前避免凿可,而不是擁塞發(fā)生后快速恢復(fù),避免了丟包授账。

研究場景為典型的incast場景:多個服務(wù)器連接在同一個交換機上枯跑,接收端為單個惨驶,也連接在該交換機上。該算法只針對低時延流敛助,即RTT小于2ms的流敞咧。若一臺服務(wù)器同時與數(shù)據(jù)中心內(nèi)服務(wù)器通信,又與外部服務(wù)器通信辜腺,則該算法只會對內(nèi)部服務(wù)器的流起作用休建。在后文中也測試了該算法在背景流量方面的性能。

ICTCP的基礎(chǔ):

  1. 接收端的可用帶寬是接收端實行擁塞控制的信號评疗。
  2. 接收窗口的調(diào)整間隔應(yīng)大于1個RTT测砂,否則調(diào)整無效,不會應(yīng)用到下一輪數(shù)據(jù)發(fā)送中百匆。
  3. 接收窗口的設(shè)置在滿足應(yīng)用吞吐量的要求的前提下砌些,應(yīng)檢查是否過大。否則若該應(yīng)用重新請求加匈,則很可能會因突發(fā)流量造成incast擁塞存璃。

基于以上基礎(chǔ),ICTCP算法的思想就是為共享同一個最后一條的所有TCP連接分配合適的接收窗口雕拼。保證正常的TCP連接的性能不能下降纵东,多對一TCP流的incast問題可以避免。由于多對一流的性能由最慢的一條TCP連接決定啥寇,因此還要考慮多對一TCP連接中的接收窗口公平性問題偎球。

ICTCP算法

  1. 控制觸發(fā):可用帶寬

    假定接收端對每條TCP連接都有一個接口,可統(tǒng)計該流的信息辑甜,例如吞吐量等衰絮。可用帶寬計算公式:
    可用剩余帶寬計算公式
    磷醋。其中α為0.9猫牡。α值越大,越接近一邓线,表示需要更謹慎的調(diào)整接收窗口淌友,吞吐量會更大,對交換機的緩存區(qū)空間要求越高褂痰。α值越小亩进,表示是需要更積極的約束接收窗口大小,這樣會造成不必要的吞吐量下降缩歪。

每個時間片分為兩個子時間片,第一個子時間片谍憔,測量每個網(wǎng)絡(luò)接口的流量匪蝙,然后計算可用剩余帶寬作為在第二個子時間片是否要進行接收窗口增加的判斷依據(jù)主籍。

注意:第一個時間片內(nèi)不會發(fā)生接收窗口增加的動作,在監(jiān)測到擁塞時逛球,第一時間片有可能減少接收窗口千元。任意一條TCP流的接收窗口減少,都不會更新可用剩余帶寬的值颤绕,這個值只有在下一個第一子時間片才會更新重置幸海。

  1. 每條連接的控制間隔:兩個RTT

    至少要經(jīng)過一個RTT的時間,才能使上一輪調(diào)節(jié)的接收窗口生效奥务,因此本方案中設(shè)置的每條連接的控制間隔為2個RTT物独。每條連接的調(diào)節(jié)都是相互獨立的。但由于不同連接的RTT不同氯葬,因此子時間片的設(shè)置要考慮到所有活動的流的RTT挡篓,即自時間片長度設(shè)置為
    子時間片長度計算公式
    ,其中w表示第i條連接在上一個時間T的流量的歸一化因子帚称。

舉例說明官研,假如當(dāng)前時刻為全局控制間隔的第二個子時間片,某條流i在此時距離上次調(diào)整接收窗口的時間間隔大于2倍的該流的RTT闯睹,并且可用帶寬滿足條件戏羽,此時可以增加接收窗口。

  1. 單條連接的窗口調(diào)整
    測量的吞吐量Bm楼吃,期待的吞吐量Be蛛壳,采樣的吞吐量Bs,其中Bs計算公式為用一個RTT時間間隔內(nèi)接收端收到的字節(jié)數(shù)除以RTT所刀。Bm的更新公式如下


    Bm更新公式

    在實驗中β值為0.75.期待的吞吐量Be測量公式如下
    Be計算公式
    這樣就保證了測量的吞吐量的上限值為期待的吞吐量衙荐。

ICTCP方案中將期待吞吐量與測量吞吐量之間的差值比作為判別接收窗口是否增加或減小的依據(jù)。在之前的方案TCP Vegas中浮创,是用期待吞吐量與測量吞吐量之間的差值作為判斷依據(jù)忧吟,并且是在發(fā)送端實行控制擁塞窗口的方式進行擁塞控制的。ICTCP方案的Db表示差值比斩披,計算公式如下:
差值比計算公式

其中差值比的取值范圍為0-1.根據(jù)差值比溜族,設(shè)置了兩個閾值γ1(取值為0.1)和γ2(取值為0.5)。

  • 當(dāng)差值比小于等于γ1或MSS除以接收窗口的比值時垦沉,若此時處于全局的第二個子時間片煌抒,且有足夠的可用帶寬,則增加接收窗口厕倍,并將增加的接收窗口在總的可用帶寬減掉(減去帶寬的計算公式為增加的MSS除以RTT)寡壮,避免多條流同時增加接收窗口時引發(fā)的overdescribed。慢啟動階段。
  • 當(dāng)差值比大于γ2時况既,并且連續(xù)三個RTT的測量結(jié)果都是這樣这溅,此時減小接收窗口,減掉一個MSS棒仍,接收窗口最小為2*MSS悲靴。擁塞避免階段
  • 其他情況下,接收窗口保持不變莫其。
  1. 維持多條連接公平性的控制器
    當(dāng)可用剩余帶寬小于0.2C時癞尚,則將接收窗口大于平均接收窗口值的連接的接收窗口減去一個MSS。若所有連接都擁有相同的接收窗口乱陡,則所有連接均不會減小浇揩。
    這種公平性機制主要針對這種情景,較早啟動的連接擁有較大的接收窗口蛋褥,較晚啟動的接收窗口較小临燃。此時所有連接均不能增加接收窗口,因為沒有足夠的可用帶寬了烙心,只要不出現(xiàn)丟包膜廊,這種狀態(tài)會一直維持下去,這就會引發(fā)TCP連接間的公平性問題淫茵。所以ICTCP算法設(shè)置了剩余帶寬門限爪瓜,通過微調(diào)不同連接間的差異,使得所有TCP連接實現(xiàn)平穩(wěn)收斂匙瘪。

分析(介紹了ICTCP方案的合理性铆铆,建立了簡單的流模型)

建立了穩(wěn)態(tài)下的流模型,此時所有流的接收窗口已被優(yōu)化丹喻,建立此模型的目的是從理論上討論在穩(wěn)態(tài)下薄货,所需的交換機緩存空間是多少,現(xiàn)有交換機緩存能否支持ICTCP算法的運行碍论。


n條流的bdp等于接收端鏈路的BDP=R*C
單條流在交換機中排隊的數(shù)據(jù)包數(shù)
緩存大小的約束公式

在極端情況下谅猾,即網(wǎng)絡(luò)中還沒有ack包,所有數(shù)據(jù)包都朝著接收端方案傳輸鳍悠,此時所需要的緩存大小為
最壞情況下的交換機緩存大小約束

在上述公式的基礎(chǔ)上税娜,將現(xiàn)有48口交換機的相關(guān)數(shù)據(jù)帶入,得出當(dāng)48個端口同時發(fā)生排隊情況下藏研,每條流的接收窗口為兩個MSS敬矩,C=1Gbps,RTT=100微秒時蠢挡,所需的交換機緩存為6MB弧岳。而現(xiàn)有交換機緩存為4MB凳忙,因此在最壞情況下,允許同時并發(fā)的發(fā)端數(shù)量為32臺缩筛。

實現(xiàn)和評估部分未讀

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末消略,一起剝皮案震驚了整個濱河市堡称,隨后出現(xiàn)的幾起案子瞎抛,更是在濱河造成了極大的恐慌,老刑警劉巖却紧,帶你破解...
    沈念sama閱讀 219,110評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件桐臊,死亡現(xiàn)場離奇詭異,居然都是意外死亡晓殊,警方通過查閱死者的電腦和手機断凶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來巫俺,“玉大人认烁,你說我怎么就攤上這事〗樾冢” “怎么了却嗡?”我有些...
    開封第一講書人閱讀 165,474評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長嘹承。 經(jīng)常有香客問我窗价,道長,這世上最難降的妖魔是什么叹卷? 我笑而不...
    開封第一講書人閱讀 58,881評論 1 295
  • 正文 為了忘掉前任撼港,我火速辦了婚禮,結(jié)果婚禮上骤竹,老公的妹妹穿的比我還像新娘帝牡。我一直安慰自己,他們只是感情好蒙揣,可當(dāng)我...
    茶點故事閱讀 67,902評論 6 392
  • 文/花漫 我一把揭開白布靶溜。 她就那樣靜靜地躺著,像睡著了一般鸣奔。 火紅的嫁衣襯著肌膚如雪墨技。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,698評論 1 305
  • 那天挎狸,我揣著相機與錄音扣汪,去河邊找鬼。 笑死锨匆,一個胖子當(dāng)著我的面吹牛崭别,可吹牛的內(nèi)容都是我干的冬筒。 我是一名探鬼主播,決...
    沈念sama閱讀 40,418評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼茅主,長吁一口氣:“原來是場噩夢啊……” “哼舞痰!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起诀姚,我...
    開封第一講書人閱讀 39,332評論 0 276
  • 序言:老撾萬榮一對情侶失蹤响牛,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后赫段,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體呀打,經(jīng)...
    沈念sama閱讀 45,796評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,968評論 3 337
  • 正文 我和宋清朗相戀三年糯笙,在試婚紗的時候發(fā)現(xiàn)自己被綠了贬丛。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,110評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡给涕,死狀恐怖豺憔,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情够庙,我是刑警寧澤恭应,帶...
    沈念sama閱讀 35,792評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站首启,受9級特大地震影響暮屡,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜毅桃,卻給世界環(huán)境...
    茶點故事閱讀 41,455評論 3 331
  • 文/蒙蒙 一褒纲、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧钥飞,春花似錦莺掠、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至结闸,卻和暖如春唇兑,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背桦锄。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評論 1 272
  • 我被黑心中介騙來泰國打工扎附, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人结耀。 一個月前我還...
    沈念sama閱讀 48,348評論 3 373
  • 正文 我出身青樓留夜,卻偏偏與公主長得像匙铡,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子碍粥,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,047評論 2 355

推薦閱讀更多精彩內(nèi)容