欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種數(shù)據(jù)中心網(wǎng)絡(luò)中基于數(shù)據(jù)包優(yōu)先級(jí)的傳輸控制方法與流程

文檔序號(hào):11623653閱讀:367來源:國知局
一種數(shù)據(jù)中心網(wǎng)絡(luò)中基于數(shù)據(jù)包優(yōu)先級(jí)的傳輸控制方法與流程

本發(fā)明涉及一種數(shù)據(jù)中心網(wǎng)絡(luò)(dcn,datacenternetwork)中基于數(shù)據(jù)包優(yōu)先級(jí)的傳輸控制方法。



背景技術(shù):

現(xiàn)在,大規(guī)模數(shù)據(jù)中心作為云計(jì)算的基礎(chǔ)架構(gòu)建立起來,以提供各種分布式應(yīng)用服務(wù),如web搜索、社交和推薦系統(tǒng)。這些數(shù)據(jù)中心通常包含成千上萬臺(tái)服務(wù)器,并由數(shù)據(jù)中心網(wǎng)絡(luò)(datacenternetworks,dcn)連接起來。由于這些服務(wù)器通常位于同一建筑物內(nèi),物理距離近,所以在dcn中往返延遲(roundtriptime,rtt)低,約數(shù)十微妙;同時(shí),為了節(jié)約成本,數(shù)據(jù)中心網(wǎng)絡(luò)通常更偏好使用廉價(jià)的、淺緩存的交換機(jī)來組建。盡管dcn的這些特性與internet不同,但是dcn中部署的應(yīng)用服務(wù)仍然采用傳統(tǒng)的tcp進(jìn)行流控,結(jié)果tcp遭受了嚴(yán)重的性能問題,網(wǎng)絡(luò)利用率下降。

tcpincast問題出現(xiàn)在采用分聚模型架構(gòu)的應(yīng)用服務(wù)中。當(dāng)多個(gè)服務(wù)器同時(shí)向一個(gè)接收端發(fā)送數(shù)據(jù)時(shí),容易引起淺緩存交換機(jī)處大量地丟包,最終導(dǎo)致tcp超時(shí),而tcp默認(rèn)的超時(shí)重傳時(shí)間為毫秒級(jí)別,比rtt大幾個(gè)數(shù)量級(jí)。此時(shí),網(wǎng)絡(luò)的吞吐量因tcp超時(shí)會(huì)嚴(yán)重下降。tcpoutcast是另外一個(gè)tcp遭受的問題。當(dāng)從交換機(jī)不同端口進(jìn)來的流都同時(shí)要從相同端口出去時(shí),有可能一個(gè)進(jìn)端口的流一直搶占出端口,而另一個(gè)進(jìn)端口的流因競(jìng)爭(zhēng)不到該出端口而不斷丟包,直到發(fā)生超時(shí),即發(fā)生了所謂的“端口封鎖”現(xiàn)象。在這種情況下,發(fā)生超時(shí)的流的吞吐量受到了嚴(yán)重影響。最后,采用tcp傳輸?shù)牟樵兞鲿?huì)遭受長(zhǎng)的查詢完成時(shí)間。查詢流的大小為幾十kb,正常情況下,可以在微秒時(shí)間內(nèi)完成。如果tcp發(fā)生超時(shí),查詢流需要等待數(shù)百毫秒的時(shí)間,嚴(yán)重影響了查詢流的性能??傊?,tcp超時(shí)是tcp性能問題的原因。

針對(duì)數(shù)據(jù)中心網(wǎng)絡(luò)中tcp暴露的問題,許多文獻(xiàn)都提出了相應(yīng)的處理辦法。如著名的dctcp協(xié)議,它的思想是利用交換機(jī)進(jìn)行ecn標(biāo)記,多個(gè)包攜帶ecn信息來反應(yīng)網(wǎng)絡(luò)的擁塞程度,發(fā)送方根據(jù)該擁塞程度信息來更好地調(diào)節(jié)發(fā)送速率來控制交換機(jī)隊(duì)列占用量,以達(dá)到減小超時(shí)的目的。但是,ecn機(jī)制不是所有的廉價(jià)交換機(jī)都支持,而且隨著并發(fā)數(shù)的增加,dctcp仍然發(fā)生丟包甚至超時(shí),導(dǎo)致dctcp遭受tcp同樣的問題。timely通過精確地測(cè)量rtt來控制擁塞,但是實(shí)現(xiàn)rtt的精確測(cè)量需要特殊的硬件支持。

由于目前文獻(xiàn)中提出的解決方案還存在上述缺點(diǎn),因此,有必要設(shè)計(jì)一種新的擁塞控制防范,能夠滿足以下要求:(i)有效性。擁塞控制協(xié)議應(yīng)在網(wǎng)絡(luò)發(fā)生擁塞時(shí)緩解網(wǎng)絡(luò)擁塞以避免丟包防止超時(shí)發(fā)生;同時(shí),在發(fā)生丟包時(shí),能迅速地恢復(fù)丟失的包以避免代價(jià)高昂地超時(shí)。(ii)部署性。協(xié)議需要在不修改交換機(jī)硬件的前提下能在數(shù)據(jù)中心中部署。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明所解決的問題是,針對(duì)現(xiàn)有技術(shù)的不足,提供一種數(shù)據(jù)中心網(wǎng)絡(luò)中基于數(shù)據(jù)包優(yōu)先級(jí)的傳輸控制方法,通過插入高優(yōu)先級(jí)的控制包來進(jìn)行擁塞控制和迅速恢復(fù)以盡可能減少tcp超時(shí),且有利于在數(shù)據(jù)中心中的部署。

本發(fā)明的技術(shù)方案為:

一種數(shù)據(jù)中心網(wǎng)絡(luò)中基于數(shù)據(jù)包優(yōu)先級(jí)的傳輸控制方法,發(fā)送方主動(dòng)發(fā)送具有高優(yōu)先級(jí)的控制包,并根據(jù)數(shù)據(jù)包和控制包的ack接收順序來調(diào)整窗口大小,控制網(wǎng)絡(luò)擁塞。

所述方法具體包括以下步驟:

步驟一:初始化:發(fā)送方將control_pkt_num,no_data_in_flight和sent_pkt均置為0,交換機(jī)打開sp(嚴(yán)格優(yōu)先級(jí))調(diào)度策略,接收方開始監(jiān)聽是否收到控制包;其中控制包是只有包頭部分而不攜帶數(shù)據(jù)負(fù)載的包,它具有高優(yōu)先級(jí),且其序號(hào)與當(dāng)前發(fā)送方最近發(fā)送的一個(gè)數(shù)據(jù)包序號(hào)相同;如果收到了控制包,則生成相應(yīng)的控制包ack,且賦予高優(yōu)先級(jí),并將其序號(hào)設(shè)置為與最新的已接收到的數(shù)據(jù)包序號(hào)相同;如果收到的是數(shù)據(jù)包,則按默認(rèn)流程處理;變量contrl_pkt_num用來記錄已發(fā)送的但未被確認(rèn)的控制包個(gè)數(shù),以限制發(fā)送的控制包數(shù)量,no_data_in_fligh用來記錄控制包ack在相應(yīng)窗口所有數(shù)據(jù)包的ack之前接收的情況出現(xiàn)的次數(shù),以決定是否重傳一個(gè)數(shù)據(jù)包,sent_pkt用來記錄已發(fā)送的數(shù)據(jù)包個(gè)數(shù),以判斷是否在數(shù)據(jù)包后面發(fā)送一個(gè)控制包;

將控制包賦予高優(yōu)先級(jí),當(dāng)網(wǎng)絡(luò)擁塞時(shí),控制包雖然比相應(yīng)窗口中的數(shù)據(jù)包后發(fā),但是可以被交換機(jī)優(yōu)先轉(zhuǎn)發(fā),所以它比數(shù)據(jù)包先到達(dá)接收方,即“后發(fā)先到”??刂瓢腶ck具有高優(yōu)先級(jí),是為了確保它在交換機(jī)處的轉(zhuǎn)發(fā)不受數(shù)據(jù)包ack的影響,即它同樣要能夠被交換機(jī)優(yōu)先轉(zhuǎn)發(fā)??刂瓢男蛱?hào)與發(fā)送方最近發(fā)送的一個(gè)數(shù)據(jù)包序號(hào)相同以攜帶它相應(yīng)窗口中的數(shù)據(jù)包信息,將控制包ack的序號(hào)設(shè)置為與最新的已接收到的數(shù)據(jù)包序號(hào)相同,這樣在發(fā)送方收到控制包ack時(shí),可以依據(jù)此信息來判斷它是否比其對(duì)應(yīng)的數(shù)據(jù)包ack先被接收;

步驟二:發(fā)送方每次發(fā)送完一個(gè)數(shù)據(jù)包,sent_pkt自加1,并判斷其值是否與當(dāng)前窗口大小cwndi相等,如是,則發(fā)送一個(gè)控制包,然后sent_pkt置0,control_pkt_num自加1,轉(zhuǎn)步驟三;否則,轉(zhuǎn)步驟八;

步驟三:發(fā)送方判斷當(dāng)前是否已經(jīng)收到了三個(gè)重復(fù)ack或是已發(fā)生tcp超時(shí),如是則按默認(rèn)tcp進(jìn)行快速恢復(fù)或超時(shí)重傳,然后轉(zhuǎn)步驟八;

否則,發(fā)送方看是否收到了控制包ack,如果沒有,則轉(zhuǎn)步驟三;如果已收到,control_pkt_num自減1,轉(zhuǎn)步驟四;

步驟四:發(fā)送方判斷控制包ack和數(shù)據(jù)包ack的接收順序和它們相應(yīng)的包的發(fā)送順序是否一致,如是則按默認(rèn)tcp的增窗算法增窗,并置no_data_in_flight為0,然后轉(zhuǎn)步驟八;否則,轉(zhuǎn)步驟五;

步驟五:發(fā)送方判斷控制包ack是否在相應(yīng)窗口內(nèi)的所有數(shù)據(jù)包ack之前收到,如是則轉(zhuǎn)步驟六;否則,計(jì)算偏移比例p,以衡量控制包與相應(yīng)窗口中數(shù)據(jù)包的發(fā)送順序與兩種包的ack的接收順序之間的偏離程度,并根據(jù)p計(jì)算網(wǎng)絡(luò)擁塞程度α,再將窗口大小降為cwndi+1,如果no_data_in_flight不為0,則將其置0,轉(zhuǎn)步驟八;

步驟六:發(fā)送方將no_data_in_flight加1,并判斷其值是否大于等于閾值n,如是,則重傳一個(gè)最老的未被確認(rèn)的數(shù)據(jù)包,并置no_data_in_flight為0,然后轉(zhuǎn)步驟七;否則直接轉(zhuǎn)步驟七;其中,閾值n根據(jù)應(yīng)用場(chǎng)景測(cè)得的經(jīng)驗(yàn)值進(jìn)行設(shè)置,在不同的場(chǎng)景下閾值n可以調(diào)節(jié)以達(dá)到性能上的優(yōu)化;

步驟七:判斷control_pkt_num是否為0,如是,則發(fā)送一個(gè)控制包,control_pkt_num自加1;否則,轉(zhuǎn)步驟八;

步驟八:發(fā)送方根據(jù)tcp的默認(rèn)機(jī)制來判斷是否能發(fā)送新的數(shù)據(jù)包,即當(dāng)要發(fā)送的數(shù)據(jù)包序號(hào)小于已確認(rèn)數(shù)據(jù)包序號(hào)與當(dāng)前窗口大小之和時(shí)可以發(fā)送新的數(shù)據(jù)包,如是,則轉(zhuǎn)步驟二繼續(xù)發(fā)送新的數(shù)據(jù)包;否則,轉(zhuǎn)步驟九;

步驟九:發(fā)送方查看是否仍有應(yīng)用數(shù)據(jù)需要發(fā)送,如果沒有,則發(fā)送一個(gè)控制包,control_pkt_num自加1,然后判斷是否所有已發(fā)包都得到確認(rèn),如是則結(jié)束發(fā)送過程,否則轉(zhuǎn)步驟三;

如果發(fā)送方當(dāng)前仍有應(yīng)用數(shù)據(jù)需要發(fā)送,則轉(zhuǎn)步驟三。

所述步驟一中,控制包是只有包頭部分而不攜帶數(shù)據(jù)負(fù)載的包,它具有高優(yōu)先級(jí),且其序號(hào)與當(dāng)前發(fā)送方最近發(fā)送的一個(gè)數(shù)據(jù)包序號(hào)相同。

所述步驟一中,接收方監(jiān)聽是否收到控制包的具體操作為:如果收到了控制包,則生成相應(yīng)的控制包ack,且賦予高優(yōu)先級(jí),并將其序號(hào)設(shè)置為與最新的已接收到的數(shù)據(jù)包序號(hào)相同;如果收到的是數(shù)據(jù)包,則按默認(rèn)流程處理;

所述步驟五中,計(jì)算偏移比例p的公式為:

其中,ns為當(dāng)前窗口發(fā)送的數(shù)據(jù)包個(gè)數(shù),nr為在控制包ack之前收到的數(shù)據(jù)包ack個(gè)數(shù);p的取值位于0~1之間,當(dāng)p=0時(shí)表示控制包ack在所有數(shù)據(jù)包ack之后到達(dá),此時(shí)偏離最小,p=1時(shí)表示其在所有數(shù)據(jù)包ack之前到達(dá),此時(shí)偏離最大。

所述步驟五中,更新網(wǎng)絡(luò)擁塞程度α的公式為:

α=(1-g)×α+g×p

其中,g表示更新網(wǎng)絡(luò)擁塞程度α?xí)r,p所占的權(quán)重,g是一個(gè)經(jīng)驗(yàn)值,依據(jù)相關(guān)研究來決定,用于對(duì)α進(jìn)行指數(shù)平滑平均,以過濾測(cè)量噪聲的影響。本發(fā)明根據(jù)實(shí)驗(yàn)值設(shè)置g為0.0625。

所述步驟五中,cwndi+1的計(jì)算公式為:

所述步驟六中,閾值n設(shè)置為4。

有益效果:

本發(fā)明提供了一種數(shù)據(jù)中心網(wǎng)絡(luò)中基于數(shù)據(jù)包優(yōu)先級(jí)的傳輸控制方法(ptcp),具有以下兩個(gè)特性:

(1)本發(fā)明通過在一窗口的數(shù)據(jù)包后插入一個(gè)高優(yōu)先級(jí)的控制包,根據(jù)接收到的數(shù)據(jù)包的ack和高優(yōu)先級(jí)控制包的ack的順序,可判斷網(wǎng)絡(luò)是否擁塞,并計(jì)算擁塞程度以指導(dǎo)擁塞窗口的調(diào)節(jié),進(jìn)行擁塞控制,這樣可以一定程度上控制瓶頸交換機(jī)的緩存占用大小,降低超時(shí)發(fā)生的概率;

(2)通過保持當(dāng)前流至少有一個(gè)控制包始終在飛行(即處于鏈路中),以便在丟包發(fā)生時(shí)可迅速恢復(fù)丟失的包,同樣也降低了超時(shí)發(fā)生的概率。因此,由于極大地減少了tcp超時(shí)的發(fā)生,所以較好地解決了tcpincast、tcpoutcast和長(zhǎng)的查詢時(shí)間,使得數(shù)據(jù)中心應(yīng)用更有效地使用網(wǎng)絡(luò)帶寬,并改善了這些應(yīng)用的運(yùn)行性能。

本發(fā)明通過上述兩種特性減少了tcp超時(shí)的發(fā)生,從而較好地解決了tcpincast、tcpoutcast和長(zhǎng)查詢時(shí)間的問題,提高了鏈路的利用率,從而改善應(yīng)用性能;同時(shí)本發(fā)明不需任何硬件更新,有利于在數(shù)據(jù)中心中的部署。

附圖說明

圖1為本發(fā)明的流程圖。

圖2為tcpincast場(chǎng)景示意圖。

圖3為沒有背景流的情況下,不同協(xié)議在incast場(chǎng)景下的對(duì)比測(cè)試;圖3(a)為沒有背景流時(shí)隨著發(fā)送方數(shù)目增加的有效吞吐量;圖3(b)為對(duì)應(yīng)的超時(shí)數(shù)目。

圖4為有背景流的情況下,不同協(xié)議在incast場(chǎng)景下的對(duì)比測(cè)試;圖4(a)為有背景流時(shí)隨著發(fā)送發(fā)數(shù)目增加的有效吞吐量;圖4(b)為對(duì)應(yīng)的超時(shí)數(shù)目。

圖5為tcpoutcast發(fā)生時(shí)的吞吐量模擬;圖5(a)為1條2跳流和6條6跳流下的吞吐量;圖5(b)為1條2跳流和12條6跳流下的吞吐量;圖5(c)為兩種情形下的公平性指數(shù)比較。

圖6為查詢流完成時(shí)間的比較。

圖7為ptcp和dctcp的擁塞控制機(jī)制的比較。

圖8為ptcp和去掉迅速恢復(fù)機(jī)制的ptcp的比較。

圖9為大規(guī)模場(chǎng)景下流完成時(shí)間的比較。

具體實(shí)施方式

下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步的說明。

參見圖1,圖1為本發(fā)明在發(fā)送方對(duì)數(shù)據(jù)包進(jìn)行處理的流程圖。過程如下:

發(fā)送方將control_pkt_num,no_data_in_flight和sent_pkt均置為0,交換機(jī)打開sp(嚴(yán)格優(yōu)先級(jí))調(diào)度策略,接收方開始監(jiān)聽是否收到控制包。這里控制包是只有包頭部分而不攜帶數(shù)據(jù)負(fù)載的包,它具有高優(yōu)先級(jí),且其序號(hào)與當(dāng)前發(fā)送方最近發(fā)送的一個(gè)數(shù)據(jù)包序號(hào)相同。接收方監(jiān)聽是否收到控制包,如果收到了控制包,則為其生成ack包,且賦予高優(yōu)先級(jí),并將其序號(hào)設(shè)置為與最新的已接收到的數(shù)據(jù)包序號(hào)相同;如果收到的是數(shù)據(jù)包,則按默認(rèn)流程處理。

發(fā)送方開始發(fā)送數(shù)據(jù)包,每發(fā)送一個(gè)數(shù)據(jù)包會(huì)將sent_pkt增加1,并判斷其值是否與當(dāng)前窗口大小cwndi相等,如是,則發(fā)送一個(gè)高優(yōu)先級(jí)的控制包,并置sent_pkt為0,control_pkt_num自加1,然后根據(jù)收到的包ack的不同情況或超時(shí)分別進(jìn)行操作;否則,發(fā)送方判斷當(dāng)前是否能夠發(fā)送新的數(shù)據(jù)包以及查看當(dāng)前應(yīng)用數(shù)據(jù)是否為空,并進(jìn)行相應(yīng)操作。

如果發(fā)送方收到了三個(gè)重復(fù)ack或是發(fā)現(xiàn)發(fā)生了tcp超時(shí),則按tcp默認(rèn)的算法進(jìn)行快速恢復(fù)或超時(shí)重傳,然后再判斷當(dāng)前是否能夠發(fā)送新的數(shù)據(jù)包以及應(yīng)用數(shù)據(jù)是否為空,并進(jìn)行相應(yīng)操作。

而如果發(fā)送方收到了控制包ack,則根據(jù)控制包ack和其相應(yīng)窗口中的數(shù)據(jù)包ack的接收順序來決定操作。具體為,如果兩種包ack的接收順序與它們的發(fā)送順序一致,則按tcp默認(rèn)的增窗算法增窗,并置no_data_in_flight為0,然后再判斷當(dāng)前是否能夠發(fā)送新的數(shù)據(jù)包以及應(yīng)用數(shù)據(jù)是否為空;否則,再根據(jù)控制包ack是否是在相應(yīng)窗口內(nèi)的所有數(shù)據(jù)包ack之前收到進(jìn)行調(diào)窗或重傳操作。

如果發(fā)送方發(fā)現(xiàn)控制包ack是在相應(yīng)窗口內(nèi)的所有數(shù)據(jù)包ack之前收到,則發(fā)送方將no_data_in_flight加1,并判斷其值是否大于等于4以決定是否重傳一個(gè)數(shù)據(jù)包;否則,發(fā)送方會(huì)計(jì)算一個(gè)偏移比例p,并根據(jù)p更新網(wǎng)絡(luò)擁塞程度α,再將窗口大小降為cwndi+1,如果no_data_in_flight不為0,則將其置0,然后發(fā)送方根據(jù)這個(gè)新的窗口來判斷當(dāng)前是否能夠發(fā)送新的數(shù)據(jù)包以及檢查應(yīng)用數(shù)據(jù)是否為空。這里偏離比例p的計(jì)算公式為:

其中,ns為當(dāng)前窗口cwndi的數(shù)據(jù)包個(gè)數(shù),nr為在控制包ack之前收到的數(shù)據(jù)包ack個(gè)數(shù)。

更新網(wǎng)絡(luò)擁塞程度α的計(jì)算公式為:

α=(1-g)×α+g×p

其中,g設(shè)置為0.0625。

cwndi+1的計(jì)算公式為:

當(dāng)no_data_in_flight值滿足大于等于4時(shí),發(fā)送方會(huì)重傳一個(gè)最久的未被確認(rèn)的數(shù)據(jù)包,并置no_data_in_flight為0,然后發(fā)送方判斷control_pkt_num是否為0,如是,則發(fā)送一個(gè)控制包,control_pkt_num自加1;否則直接發(fā)送一個(gè)控制包;

發(fā)送方根據(jù)tcp的默認(rèn)機(jī)制來判斷是否能發(fā)送新的數(shù)據(jù)包,即當(dāng)要發(fā)送的數(shù)據(jù)包序號(hào)小于已確認(rèn)數(shù)據(jù)包序號(hào)與當(dāng)前窗口大小之和時(shí)可以發(fā)送新的數(shù)據(jù)包,如是,如是,則會(huì)發(fā)送一個(gè)數(shù)據(jù)包;否則,發(fā)送方需檢查當(dāng)前應(yīng)用數(shù)據(jù)是否為空,如是,則發(fā)送一個(gè)控制包,將control_pkt_num自加1,然后判斷是否所有已發(fā)包都得到確認(rèn),如是則結(jié)束發(fā)送過程,否則根據(jù)接收到的包的ack或是否超時(shí)進(jìn)行相應(yīng)處理;如果當(dāng)前應(yīng)用數(shù)據(jù)并不為空,則發(fā)送方需要根據(jù)接收到的包的ack或是否超時(shí)進(jìn)行相應(yīng)處理。

本發(fā)明利用ns2.35網(wǎng)絡(luò)仿真平臺(tái)來實(shí)現(xiàn),并進(jìn)行了性能測(cè)試。

圖2為tcpincast場(chǎng)景圖。在該場(chǎng)景中,每個(gè)發(fā)送方都存有數(shù)據(jù)塊。傳輸時(shí),多個(gè)發(fā)送方同時(shí)向個(gè)接收端發(fā)送數(shù)據(jù),當(dāng)接收方接收到所有服務(wù)器發(fā)回的數(shù)據(jù)后,接收端才會(huì)請(qǐng)求后續(xù)的數(shù)據(jù)塊。

圖3為沒有背景流時(shí)的incast實(shí)驗(yàn),實(shí)驗(yàn)拓?fù)淙鐖D2所示。交換機(jī)緩存設(shè)置為64kb,rtt設(shè)置為116微秒,每個(gè)數(shù)據(jù)塊大小設(shè)置為128kb,rtomin設(shè)置為200ms,鏈路帶寬為1gbps。

在圖3(a)中,實(shí)驗(yàn)給出了3個(gè)不同協(xié)議下隨發(fā)送方數(shù)增加的有效吞吐量變化情況。對(duì)于tcpnewreno,當(dāng)發(fā)送方服務(wù)器數(shù)量超過5時(shí),有效吞吐量就出現(xiàn)了崩潰。對(duì)于dctcp,由于其在交換機(jī)處進(jìn)行ecn標(biāo)記并利用這些標(biāo)記信息來進(jìn)行擁塞控制,所以dctcp能控制交換機(jī)的緩存占用,推遲了incast發(fā)生時(shí)間。在圖中,當(dāng)發(fā)送方數(shù)量超過30時(shí),吞吐量開始崩潰。ptcp通過在數(shù)據(jù)包后插入高優(yōu)先級(jí)控制包,根據(jù)這兩種包的ack接收順序來推斷網(wǎng)絡(luò)擁塞狀況,以指導(dǎo)調(diào)窗從而進(jìn)行擁塞控制。在丟包發(fā)生時(shí),ptcp通過飛行的控制包反饋的信息能迅速地重傳丟失包。結(jié)果,ptcp在本場(chǎng)景中達(dá)到了非常好的性能。圖3(b)是在此場(chǎng)景下,各個(gè)協(xié)議的超時(shí)數(shù)的比較。可以看到,ptcp沒有任何超時(shí)發(fā)生。

圖4(a)是有背景流的情況下,不同協(xié)議在incast場(chǎng)景下的對(duì)比測(cè)試。在本場(chǎng)景中,使用2條tcp流來模擬數(shù)據(jù)中心內(nèi)的背景流。其他環(huán)境參數(shù)的設(shè)置與圖3相同。在圖中,可以看到,tcpnewreno在發(fā)送方為10時(shí)發(fā)生了吞吐量崩潰,dctcp在30個(gè)發(fā)送方時(shí)發(fā)生崩潰,而ptcp可以支持80個(gè)發(fā)送方同時(shí)發(fā)送數(shù)據(jù)。相比沒有背景流的場(chǎng)景,三種協(xié)議的有效吞吐量有一定的下降。圖4(b)是各個(gè)協(xié)議在此場(chǎng)景下的超時(shí)出現(xiàn)的個(gè)數(shù),其中ptcp即使在有背景流時(shí)仍然保持超時(shí)數(shù)為0。

圖5(a)和圖5(b)模擬了tcpoutcast發(fā)生時(shí)的吞吐量。拓?fù)涫?個(gè)pod的fattree,每條鏈路的延遲為85微秒,鏈路帶寬為1gbps,交換機(jī)緩存設(shè)置為16。因?yàn)?跳流的rtt比6跳流的rtt短,根據(jù)tcpnewreno的吞吐量公式可以知道2跳流的吞吐量比6跳流的高。但是,在tcpoutcast發(fā)生時(shí),2跳流的吞吐量會(huì)比6跳流的低。在圖5(a)給出了1條2跳流和6條6跳流的吞吐量情況,可以看到tcp發(fā)生了吞吐量反轉(zhuǎn),即此時(shí)網(wǎng)絡(luò)中發(fā)生了tcpoutcast;而dctcp和ptcp沒有出現(xiàn)吞吐量反轉(zhuǎn)。圖5(b)給出的是1條2跳流和12條6跳流的吞吐量情況。同樣地,dctcp和ptcp均沒有出現(xiàn)吞吐量反轉(zhuǎn)。圖5(c)給出了在這兩種測(cè)試環(huán)境下的公平性指數(shù)的比較,可以看到ptcp相比tcp和dctcp的公平性指數(shù)最好。

圖6對(duì)查詢流的完成時(shí)間進(jìn)行了測(cè)試,測(cè)試場(chǎng)景如圖2所示,網(wǎng)絡(luò)參數(shù)與圖3是相同的,但是對(duì)于查詢流,所有數(shù)據(jù)塊的總和為定值1mb。因此,隨著發(fā)送方數(shù)目的增多,每個(gè)發(fā)送方需傳輸?shù)臄?shù)據(jù)塊會(huì)減小。從圖6可以看到,tcp和dctcp分別在10和30個(gè)發(fā)送方時(shí)開始超時(shí),因而查詢流完成時(shí)間變得很長(zhǎng),而ptcp由于消除了超時(shí),在不同的發(fā)送方數(shù)目下,查詢流的完成時(shí)間為約10ms的時(shí)間。

圖7比較了ptcp和dctcp對(duì)擁塞的控制。測(cè)試場(chǎng)景如圖2所示,一共有20個(gè)發(fā)送方。對(duì)于dctcp,它采用ecn來進(jìn)行擁塞信息反饋,而ptcp根據(jù)數(shù)據(jù)包和高優(yōu)先級(jí)控制包的ack來進(jìn)行擁塞控制,在本場(chǎng)景下dctcp的隊(duì)列被限制在它的門限附近,而ptcp可以達(dá)到更低的隊(duì)列,但是ptcp的隊(duì)列長(zhǎng)度波動(dòng)比dctcp大。

圖8比較了ptcp和去掉迅速恢復(fù)機(jī)制的ptcp的有效吞吐量。ptcp在發(fā)生丟包時(shí)會(huì)根據(jù)處于無數(shù)據(jù)飛行階段的次數(shù)來迅速地重傳可能丟失的包,這可能造成包的重復(fù)傳輸,但是可以防止超時(shí)的發(fā)生。在圖8中,當(dāng)發(fā)送方數(shù)目增加時(shí),去掉了迅速恢復(fù)機(jī)制的ptcp在35個(gè)發(fā)送方時(shí)發(fā)生了吞吐量崩潰,說明了對(duì)于ptcp迅速恢復(fù)機(jī)制是必要的。

圖9測(cè)試了大規(guī)模場(chǎng)景下的流完成時(shí)間。實(shí)驗(yàn)拓?fù)涫菃胃鶚渫負(fù)?,一個(gè)根交換機(jī),5個(gè)架頂交換機(jī),每個(gè)架頂交換機(jī)下連接40臺(tái)主機(jī)。根交換機(jī)的鏈路帶寬為10gbps,發(fā)送方的鏈路帶寬為1gbps,每條鏈路延遲為25微秒,交換機(jī)的緩存為250kb。流量是根據(jù)真實(shí)數(shù)據(jù)中心流量生成的:每條流的大小服從厚尾分布,流的到達(dá)時(shí)間服從泊松分布,負(fù)載為0.2。每臺(tái)主機(jī)按此生成流量發(fā)送到同一個(gè)接收端。圖9給出了流的平均完成時(shí)間、95分位數(shù)完成時(shí)間和99分位數(shù)完成時(shí)間。可以看到相比tcp和dctcp,ptcp改進(jìn)了拖尾流的完成時(shí)間。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
江都市| 南陵县| 雷州市| 合江县| 龙南县| 田林县| 巴中市| 临漳县| 临猗县| 乌苏市| 从江县| 庆阳市| 理塘县| 克拉玛依市| 安庆市| 兴安县| 兴山县| 井陉县| 邹城市| 会泽县| 乐至县| 象州县| 襄汾县| 肇源县| 赤水市| 赫章县| 仁布县| 阿拉尔市| 鹤峰县| 庆元县| 澄江县| 金塔县| 宜城市| 西盟| 卓尼县| 定州市| 绥阳县| 阿荣旗| 都昌县| 富蕴县| 故城县|