數據中心網絡中的應用層調度方法
【專利摘要】本發明提供一種數據中心網絡中的應用層調度方法,包括:客戶端獲取網絡和應用信息;根據網絡和應用信息采用最優化模型獲得并行服務器數和TCP流速率;根據所述并行服務器數對服務器進行分組,獲得分組調度策略;根據分組調度策略向服務器發送數據請求,并同時發送對應的TCP流速率,以使服務器根據數據請求和TCP流速率調整發送速率進行數據傳遞;客戶端獲取數據。本發明提供一種數據中心網絡中的應用層調度方法,通過綜合考慮網絡和應用的多種參數,采用最優化模型確定并發服務器的數量和TCP流的傳輸速率,保證最大程度地利用核心鏈路資源,還避免TCP數據包的丟失以及TCP超時的產生,從而有效地解決了TCP Incast問題。
【專利說明】
數據中心網絡中的應用層調度方法
技術領域
[0001] 本發明設及數據中屯、網絡技術領域,尤其設及一種數據中屯、網絡中的應用層調度 方法。
【背景技術】
[0002] 隨著云計算技術的高速發展和大規模應用,作為其基礎設施的數據中屯、網絡如今 扮演著越來越重要的角色。
[000引然而,數據中屯、網絡中存在著很多的性能問題。影響網絡吞吐量的TCP Incast問 題便是其中之一。TCP Incast問題指的是在many-to-one的通信模式下,多個服務器同時通 過同一個瓶頸鏈路向客戶端傳遞數據。當并發服務器數量不斷增加時,客戶端應用層觀察 到的網絡吞吐量甚至會低于鏈路容量一至兩個數量級。TCP超時是造成吞吐量崩潰的主要 原因。
[0004] 針對TCP Incast問題,現有的應用層解決方法都是通過限制并發服務器數量來避 免消除TCP超時進而緩解或消除TCP Incast現象。但如何確定并發服務器的數量是應用層 調度需要解決的核屯、問題。在TCP Incast問題中,較多的并發服務器會導致多個TCP流共同 競爭有限的核屯、鏈路資源。運樣過量的TCP流會讓核屯、鏈路交換機的緩存溢出,使得大量的 數據包會被丟棄。某些TCP流由于丟包較多便會經歷TCP超時重傳。通過限制并發服務器數 量的方法,可W有效的控制核屯、鏈路上的數據量,并能大大減小TCP流超時的可能性。
[0005] 然而現有的解決方法在確定最大并發服務器數量時,采用的模型都較為單一,并 且它們往往都假設網絡和應用參數滿足某些特定的要求(比如數據包較小、交換機緩存大 于鏈路容量等)。所W運類方法無法應用于不同的網絡和應用中,局限性較大。
[0006] 其次,已有的應用層方法僅僅考慮了限制并發服務器數量,而沒有考慮限制服務 器傳輸速率。如果一個服務器需要傳遞大量數據,即使網絡中沒有競爭,它也會由于TCP發 送速率較快而產生數據包的丟失。而數據包一旦丟失,TCP便存在著進入到超時重傳的可能 性。所W僅僅限制并發服務器數量并不能完全的避免TCP超時。此外,由于已有的方法沒有 對服務器傳輸速率進行限制,所W它們在確定并發服務器數量的時候都采用較為保守的算 法。可W看出,運些方法對于網絡吞吐量的提升都較為有限,同時也不能完全避免TCP超時。
【發明內容】
[0007] 本發明提供一種數據中屯、網絡中的應用層調度方法,用于解決現有技術中不能確 定并非服務器數量和TCP流速率而無法有效解決TCP Incast問題的問題。
[000引第一方面,本發明提供一種數據中屯、網絡中的應用層調度方法,包括:
[0009] 客戶端獲取網絡和應用信息;
[0010] 根據網絡和應用信息采用最優化模型獲得并行服務器數和TCP流速率;
[0011] 根據所述并行服務器數對服務器進行分組,獲得分組調度策略;
[0012] 根據分組調度策略向服務器發送數據請求,并同時發送對應的TCP流速率,W使服 務器根據數據請求和TCP流速率調整發送速率進行數據傳遞;
[0013] 客戶端獲取數據。
[0014] 優選地,所述網絡和應用信息包括鏈路帶寬、鏈路的基本往返傳播時延、服務器的 總數、每個服務器每次需要傳遞的數據量、一個數據包的大小、一個數據包中數據部分的大 小和調度時延。
[0015] 優選地,根據網絡和應用信息采用最優化模型獲得并行服務器數和TCP流速率,包 括:
[0016] 當交換機緩存值大于鏈路容量值時,根據網絡和應用信息采用公式:
[0017]
獲得并行服務器數和客戶 端通告的TCP接收窗口大小;
[0018] 當交換機緩存值小于鏈路容量值時,根據網絡和應用信息采用公式:
[0019]
巧得并行服務器數、客戶端通告的 TCP接收窗口大小和客戶端通告的TCP初始窗口大小;
[0020] 其中,G為客戶端觀察到的應用層吞吐量;Sdata數據包中數據部分的大小;Ssru為每 個服務器每次需要傳遞的數據量;N為服務器總數;K為并發服務器的分組數;0為調度時延, 大小等于D;化為第k個分組中所有服務器傳遞數據需要的RTT數量;D為鏈路的基本往返傳 播時延;Winit為客戶端通告的TCP初始窗口大小;Mk為在第k化=1,2,……,K)組中并發服務 器的數量;扣為一個數據包的大小;C為鏈路帶寬;M為并發服務器數;Wmax為客戶端通告的 TCP接收窗口大小;
[0021 ]所述TCP流速率包括客戶端通告的TCP接收窗口大小和客戶端通告的TCP初始窗口 大小。
[0022] 優選地,根據分組調度策略向服務器發送數據請求,并同時發送對應的TCP流速 率,W使服務器根據數據請求和TCP流速率調整發送速率進行數據傳遞,包括:
[0023] 當客戶端向服務器請求一數據包時,客戶端向第k組服務器中所有服務器發送數 據請求,并同時發送對應的TCP流速率,W使第k組的所有服務器根據數據請求和TCP流速率 調整發送速率進行數據傳遞;
[0024] 當第k組的所有服務器完成數據傳遞后,客戶端向第k+1組服務器中所有服務器發 送數據請求,并同時發送對應的TCP流速率,W使第k+1組的所有服務器根據數據請求和TCP 流速率調整發送速率進行數據傳遞;
[0025]其中,k = l,2,……,K。
[0026]優選地,
[0027] 當交換機緩存值大于鏈路容量值時,客戶端向第k組中所有服務器發送數據請求, 并同時通告的TCP接收窗口大小;
[0028] 當交換機緩存值小于鏈路容量值時,客戶端向第k組中所有服務器發送數據請求, 并同時通告TCP接收窗口大小和TCP初始窗口大小。
[0029] 優選地,根據所述并行服務器數對服務器進行分組,包括:
[0030] 根據服務器總數N和并行服務器數M采用公式:
[0031]
獲得并發服務器的分組數K、在第k(k=l, 2,……,K)組中并發服務器的數量Mk和第n(n=l,2,. . .,N)個服務器所在的分組序號Kn。
[0032] 第二方面,本發明提供一種數據中屯、網絡中的應用層調度方法,包括:
[0033] 服務器接收客戶端發送的數據請求和TCP流速率;所述數據請求為客戶端獲取網 絡和應用信息后,根據網絡和應用信息采用最優化模型獲得并行服務器數,并根據所述并 行服務器數對服務器進行分組,獲得分組調度策略后,根據分組調度策略向服務器發送的 請求;所述TCP流速率為客戶端獲取網絡和應用信息后,根據網絡和應用信息采用最優化模 型獲得;
[0034] 服務器根據數據請求和TCP流速率調整發送速率進行數據傳遞。
[0035] 優選地,所述網絡和應用信息包括鏈路帶寬、鏈路的基本往返傳播時延、服務器的 總數、每個服務器每次需要傳遞的數據量、一個數據包的大小、一個數據包中數據部分的大 小和調度時延。
[0038] 當交換機緩存值小于鏈路容量值時,所述最優化模型為:
[0036] /擊4化祉化A胞壬巧右化+工擔皮口々旦化口4 甚/擊/型為.
[0037]
[0039]
[0040] 其中,G為客戶端觀察到的應用層吞吐量;Sdata數據包中數據部分的大小;Ssru為每 個服務器每次需要傳遞的數據量;N為服務器總數;K為并發服務器的分組數;0為調度時延, 大小等于D;化為第k個分組中所有服務器傳遞數據需要的RTT數量;D為鏈路的基本往返傳 播時延;Winit為客戶端通告的TCP初始窗口大小;Mk為在第k化=1,2,……,K)組中并發服務 器的數量;扣為一個數據包的大小;C為鏈路帶寬;M為并發服務器數;Wmax為客戶端通告的 TCP接收窗口大小。
[0041] 由上述技術方案可知,本發明提供一種數據中屯、網絡中的應用層調度方法,通過 綜合考慮網絡和應用的多種參數,采用最優化模型確定并發服務器的數量和TCP流的傳輸 速率,保證最大程度地利用核屯、鏈路資源,還避免TCP數據包的丟失W及TCP超時的產生,從 而有效地解決了TCP Incast問題。
【附圖說明】
[0042] 圖1為本發明實施例1提供的數據中屯、網絡中的應用層調度方法的流程示意圖;
[0043] 圖2為本發明提供的TCP Incast網絡場景示意圖;
[0044] 圖3為本發明提供的分組調度策略示意圖;
[0045] 圖4為當B大于抓P且SRU大小固定時,B取不同值各個方法取得的吞吐量的示意圖;
[0046] 圖5為當B大于抓P且數據塊大小固定時,B取不同值各個方法取得的吞吐量示意 圖;
[0047] 圖6為當B小于抓P且SRU大小固定時,B取不同值各個方法取得的吞吐量示意圖;
[0048] 圖7為當B小于抓P且數據塊大小固定時,B取不同值各個方法取得的吞吐量示意 圖。
【具體實施方式】
[0049] 下面結合附圖和實施例,對本發明的【具體實施方式】作進一步詳細描述。W下實施 例用于說明本發明,但不用來限制本發明的范圍。
[0050] 圖1示出了本發明實施例1提供一種數據中屯、網絡中的應用層調度方法,包括:
[0051] S11、客戶端獲取網絡和應用信息。在本步驟中,需要說明的是,所述網絡和應用信 息包括鏈路帶寬C、鏈路的基本往返傳播時延D、服務器的總數N、每個服務器每次需要傳遞 的數據量Ssrln -個數據包的大小Sf、一個數據包中數據部分的大小Sdata和調度時延0。在實 際操作中,數據中屯、網絡中的管理員或專用服務器可統計上述信息并把運些信息告知給客 戶端。
[0052] S12、根據網絡和應用信息采用最優化模型獲得并行服務器數和TCP流速率。需要 說明的是,本發明的目標是在最大化吞吐量的同時不造成數據包的丟失。因此,一方面需要 網絡中的數據包足夠多來獲取大的吞吐量,另一方面也需要讓交換機緩存隊列中的數據包 不超過緩存的大小。在many-to-one的通信模式下,當服務器開始同時傳遞數據時,大量的 突發流量會迅速的涌入網絡并進入到核屯、鏈路交換機的緩存隊列中,運個時候需要保證突 發流量小于交換機緩存大小。在之后的數據傳輸時,由于順序到達的ACK包平滑掉了各個 TCP流的發送速率,網絡的突發流量就可W忽略。運個時候只需要保證網絡中的數據包數量 接近或超過鏈路容量抓P(帶寬時延乘積)且小于網絡容量,就可W避免數據包的丟失且獲 得較高的網絡吞吐量。因此,存在兩種處理情況:
[0053] 1)當交換機緩存大小B大于鏈路容量抓P的時候,只需要保證網絡中的數據包數量 足夠多并且不超過B的限制。運樣在數據傳輸的任何時候都不會有丟包并且核屯、鏈路一直 得到充分的利用。為了實現運個目標,客戶端只需要通告接收窗口大小Wmax給服務器即可。
[0054] 2)當交換機緩存大小B小于鏈路容量BDP的時候,在數據傳輸的開始,需要保證網 絡中的數據量是小于B的。然后需要讓網絡中的數據量增長到小于等于BDP來盡量多的利用 帶寬資源。為了實現運個目標,客戶端將會發送Winit和Wmax的值來限制服務器的起始發送 速率和最大發送速率。
[0055] 針對上述的描述,本步驟在對服務器分組過程中需要從運兩種情況進行考慮,從 而會產生處于上述兩種情況下的最優化模型。
[0056] 第一種情況:當緩存B大于鏈路容量抓即寸
[0057] 在數據中屯、網絡many-to-one的通信模式下,單個TCP流每次的最大數據發送量不 會超過SSRU的大小,本發明通過限制接收窗口大小Wmax來進一步限制TCP流的最大發送窗 口。為了讓Wmax有實際意義,Wmax需要滿足:
[005引 1< Wmax 含 Ssru (1)
[0059] 當緩存B大于BDP的時候,網絡中的數據包需要大于或者等于鏈路容量來充分利用 帶寬資源,同時核屯、鏈路上的交換機緩存中堆積的數據包數量需要小于緩存大小來避免丟 包。所W本模型中需要滿足W下兩個關系式:
[0060] MXWmax >CXD/Sf (2) 幽](m-l)XWmax 非(3)
[0062] 在穩定情況下,客戶端應用層觀測到的吞吐量表示如下:
(4)
[0063]
[0064] 上式中的分子表示一個完整數據包的大小,分母表示K個分組完成相應數據傳遞 需要的時間之和。Tk是由兩部分組成。第一部分是調度時延開銷0。第二部分是第K組中所有 服務器數據傳輸時延開銷。運個時延等于平均RTT大小與平均RTT的數量乘積。由于在一輪 RTT中網絡平均有MkXWmax個數據包,并且鏈路上可W容納大約CXD/Sf個數據包,所W核屯、 鏈路交換機緩存的隊列長度大約為MkXWmax-CXD/Sf個數據包。運樣可W得到平均的排隊時 延為:
。平均RTT的大小等于平均排隊時延與鏈路上的往返時延之和, 所W可W得到如下公式:
[0065]
( 5 )
[0066] 第k組服務器傳遞數據時所需的RlT數量由下式確定:
[0067]
{ 6 )
[006引 巧據化),(R),前W得宅IlTk的夫巧擊,
[0069]
( 7 )
[0070] -個數據包的總大小等于每個服務器一次需要傳遞的數據量Ssru與服務器的數量 的乘積。當W字節為單位時,表達式如下:
[0071] S = SdataxSsruXN (8)
[0072] 根據上面的推導,當緩存B大于鏈路容量抓P的時候的最優化模型如下:
[0073]
( 9 )
[0074] 對于上述公式中設及到的各個參數如下所示:
[00對 G為客戶端觀察到的應用層吞吐量;Sdata數據包中數據部分的大小;Ssru為每個服 務器每次需要傳遞的數據量;N為服務器總數;K為并發服務器的分組數;0為調度時延,大小 等于D;化為第k個分組中所有服務器傳遞數據需要的RTT數量;D為鏈路的基本往返傳播時 延;Winit為客戶端通告的TCP初始窗口大小;Mk為在第k化=1,2,……,K)組中并發服務器的 數量;Sf為一個數據包的大小;C為鏈路帶寬;M為并發服務器數;Wmax為客戶端通告的TCP接 收窗口大小。
[0076] 通過公式(9)可W獲得該情況下的并行服務器數和為客戶端通告的TCP接收窗口 大小Wmax。其中,Wmax是TCP流速率的一種。
[0077] 第二種情況:當緩存B小于鏈路容量抓即寸
[0078] 在每個服務器開始進行數據的傳輸時,為了避免核屯、鏈路交換機緩存溢出,需要 使用(3)式所給出的限制條件。在之后的數據傳輸時,為了充分利用帶寬且不造成數據包丟 失,需要讓網絡中的數據包數量小于等于鏈路容量BDP。也就是MX Wmax含CXD/Sf。
[0079] 鑒于W上的考慮,本模型利用Winit來限制服務器的起始傳輸速率,利用Wmax來限制 服務器的最女佑輸巧率。具體表達式如下:
[0080]
(10)
[0081 ]
( 11 )
[0082]顯然,為了讓運兩個值有意義,它們還需要滿足如下不等式:
[008;3] 1 <Winit,Wmax<SsRU,M<N(12)
[0084] 本情形中的各個服務器在完成一個Ssru的數據傳遞時的TCP窗口變化規律如下所 述。當Wmax < Winit時,所有服務器在完成一次數據傳遞時的TCP發送窗口 一直是Wmax。當 乎,所有服務器在完成一次的TCP窗口會從Winit增長到一
UlU 個不超過Wmax的值。^
時,所有服務器的TCP窗口會從Winit 增長到Wmax并一直穩定在Wmax。
[0085] 和上一部分一樣,客戶端應用層觀測到的吞吐量表達式如下:
(B)
[0086]
[0087]由于一組服務器在數據傳遞的第一個RlT時會帶來大約WinitXMk個數據包的突發 流量,并且會讓隊列長度增長到WinitX (Mk-1)。在其余RlT中,由于網絡中沒有突發流量且數 據包完全分布在鏈路中,運個時候核屯、鏈路交換機的隊列幾乎一直為空。所W除去第一個 RTT,網絡中是沒有排隊時延的,并且平均RTT就等于基本RTT,也就是D。基于運個原因,可W 得到化的表達式:
[008引
(14)
[0089] 根據上面提到的TCP窗口變化規律,可W得到化的表達式:
[0094]對于上述公式中設及到的各個參數如下所示:[00對 G為客戶端觀察到的應用層吞吐量;Sdata數據包中數據部分的大小;Ssru為每個服 (15 )
[0090]
[0091] (16)
[0092] I最優化模型:
[oow] 07) 務器每次需要傳遞的數據量;N為服務器總數;K為并發服務器的分組數;O為調度時延,大小 等于D;化為第k個分組中所有服務器傳遞數據需要的RTT數量;D為鏈路的基本往返傳播時 延;Winit為客戶端通告的TCP初始窗口大小;Mk為在第k化=1,2,……,K)組中并發服務器的 數量;Sf為一個數據包的大小;C為鏈路帶寬;M為并發服務器數;Wmax為客戶端通告的TCP接 收窗口大小。
[0096] 通過公式(17)可W獲得該情況下的并行服務器數、客戶端通告的TCP接收窗口大 小Wmax和客戶端通告的TCP初始窗口大小Winit。其中,Wmax和Winit均是TCP流速率的一種。
[0097] S13、根據所述并行服務器數對服務器進行分組,獲得分組調度策略。在本步驟中, 需要說明的是,在對服務器進行分組時,首先要介紹一下TCP Incast的網絡場景,如圖2所 示,在圖中,客戶端(Client)向若干個服務器節點請求多個數據包(Data block)。對于每個 數據包,它們都被均勻地存放在N個服務器(Servers)上,所W每個服務器上都有運個數據 包的一部分數據,運部分數據被稱為一個SRlKSever Request化it)。客戶端向N個服務器 發出某個數據包的請求后,各個服務器會傳遞與運個數據包對應的SRU給客戶端。當客戶端 接受完一個數據包的所有SRU時,它便向所有服務器請求下一個數據包。但W如圖2中所示 的網絡場景進行數據傳遞,會使一個數據包同時向很多服務器一起傳遞數據,會造成數據 緩存較大。故需要對多個服務器進行分組,傳遞數據時W-組一組的服務器進行依次數據 傳遞,減緩硬件壓力。
[0098] 根據步驟S12獲得的數據,根據所述并行服務器數對服務器進行分組,包括:
[0099] 根據服務器總數N和并行服務器數M采用公式:
[0100]
[0101] 獲得并發服務器的分組數K、在第k化=1,2,……,K)組中并發服務器的數量Mk和 第n(n = l,2,. . .,N)個服務器所在的分組序號Kn。
[0102] S14、根據分組調度策略向服務器發送數據請求,并同時發送對應的TCP流速率,W 使服務器根據數據請求和TCP流速率調整發送速率進行數據傳遞。在本步驟中,需要說明的 是,如圖3所示,所述分組調度策略具體為:
[0103] 當客戶端向服務器請求一數據包時,客戶端向第k組服務器中所有服務器發送數 據請求,并同時發送對應的TCP流速率,W使第k組的所有服務器根據數據請求和TCP流速率 調整發送速率進行數據傳遞;
[0104] 當第k組的所有服務器完成數據傳遞后,客戶端向第k+1組服務器中所有服務器發 送數據請求,并同時發送對應的TCP流速率,W使第k+1組的所有服務器根據數據請求和TCP 流速率調整發送速率進行數據傳遞;其中,k=l,2,……,K。
[0105] 當客戶端收集了所有服務器傳遞的數據,運便表明當前的數據包傳遞完成。客戶 端便會重復運個操作來請求下一個數據包的所有數據。運個調度策略直到客戶端不再請求 任何數據時停止。
[0106] 另外,客戶端向服務器發送數據請求時:
[0107] 當交換機(Switch)緩存值大于鏈路容量值時,客戶端向第k組中所有服務器發送 數據請求,并同時通告的TCP接收窗口大小;
[0108] 當交換機緩存值小于鏈路容量值時,客戶端向第k組中所有服務器發送數據請求, 并同時通告TCP接收窗口大小和TCP初始窗口大小。
[0109] S15、客戶端獲取數據。
[0110] 本發明提供一種數據中屯、網絡中的應用層調度方法,通過綜合考慮網絡和應用的 多種參數,采用最優化模型確定并發服務器的數量和TCP流的傳輸速率,保證最大程度地利 用核屯、鏈路資源,還避免TCP數據包的丟失W及TCP超時的產生,從而有效地解決了TCP Incast 問題。
[0111] 本發明實施例2提供一種數據中屯、網絡中的應用層調度方法,包括:
[0112] 服務器接收客戶端發送的數據請求和TCP流速率;所述數據請求為客戶端獲取網 絡和應用信息后,根據網絡和應用信息采用最優化模型獲得并行服務器數,并根據所述并 行服務器數對服務器進行分組,獲得分組調度策略后,根據分組調度策略向服務器發送的 請求;所述TCP流速率為客戶端獲取網絡和應用信息后,根據網絡和應用信息采用最優化模 型獲得;
[0113] 服務器根據數據請求和TCP流速率調整發送速率進行數據傳遞。
[0114] 本發明實施例2所述方法是從服務器角度出發,對本發明所述方法進行闡述,其闡 述的基本原理W及具體描述在本發明實施例1所述方法的
【發明內容】
中均有體現,在此不再 寶述。
[0115] 為了更好的解釋說明本發明所述方法所帶來的有益效果,下面W具體實施數據進 行解釋說明:
[0116] 在NS2仿真平臺中對方法進行了驗證。仿真拓撲如圖1所示。在仿真中,交換機采用 Drop-化il的隊列管理機制。調度時延0設為lOOus。各個服務器的TCP協議版本是化wReno。 數據包的大小Sf為1040字節,數據包中的數據大小Sdata為1000字節。對于每組參數,做了 10 次仿真,在去掉最大值和最小值后再對剩余值取平均。
[0117] 將本發明所述方法與其他=類應用層的調度方法進行了對比。根據運=類方法的 核屯、思想,把它們依次命名為SSL(慢啟動限制),化(緩存大小限制),SF(串行數據傳遞)。同 時把RTOmin修改為Ims的傳送層方法也被進行了對比分析。
[0118] 首先對比分析了交換機緩存B大于鏈路容量抓P的情況。在運部分的實驗中,設置 鏈路帶寬為IGbps,往返傳播時延D為lOOus。把服務器節點的數量從4按照指數增長的方式 變化到512。分別考慮了 SRU大小固定和數據塊大小固定運兩種情況。
[0119] 如圖4所示為當B大于抓P且S抓大小固定時,B取不同值各個方法取得的吞吐量的 示意圖。如圖5所示為當B大于BDP且數據塊大小固定時,B取不同值各個方法取得的吞吐量 示意圖。從W上圖4和圖5可W發現無論是固定SRU大小,還是固定數據塊的大小,也無論交 換機緩存是大還是小,OSDT方法幾乎都能完全利用帶寬,并且性能都優于其他方法。
[0120] 其次對比分析了交換機緩存B小于鏈路容量抓P的情況。在運部分的實驗中,設置 鏈路帶寬為10加 PS,往返傳播時延D為lOOus。把服務器節點的數量從4按照指數增長的方式 變化到512。同樣也分別考慮了 SRU大小固定和數據塊大小固定運兩種情況。
[0121] 如圖6所示為當B小于抓P且S抓大小固定時,B取不同值各個方法取得的吞吐量示 意圖。如圖7所示為當B小于BDP且數據塊大小固定時,B取不同值各個方法取得的吞吐量示 意圖。從圖6和圖7可W發現無論是固定SRU大小,還是固定數據塊的大小,也無論交換機緩 存是大還是小,OSDT方法幾乎都能夠較為充分地利用帶寬,并且性能也優于其他方法。
[0122] 此外,本領域的技術人員能夠理解,盡管在此所述的一些實施例包括其它實施例 中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發明的 范圍之內并且形成不同的實施例。例如,在下面的權利要求書中,所要求保護的實施例的任 意之一都可WW任意的組合方式來使用。
[0123] 應該注意的是上述實施例對本發明進行說明而不是對本發明進行限制,并且本領 域技術人員在不脫離所附權利要求的范圍的情況下可設計出替換實施例。在權利要求中, 不應將位于括號之間的任何參考符號構造成對權利要求的限制。單詞"包含"不排除存在未 列在權利要求中的元件或步驟。位于元件之前的單詞"一"或"一個"不排除存在多個運樣的 元件。本發明可W借助于包括有若干不同元件的硬件W及借助于適當編程的計算機來實 現。在列舉了若干裝置的單元權利要求中,運些裝置中的若干個可W是通過同一個硬件項 來具體體現。單詞第一、第二、W及第=等的使用不表示任何順序。可將運些單詞解釋為名 稱。
[0124] 本領域普通技術人員可W理解:W上各實施例僅用W說明本發明的技術方案,而 非對其限制;盡管參照前述各實施例對本發明進行了詳細的說明,本領域的普通技術人員 應當理解:其依然可W對前述各實施例所記載的技術方案進行修改,或者對其中部分或者 全部技術特征進行等同替換;而運些修改或者替換,并不使相應技術方案的本質脫離本發 明權利要求所限定的范圍。
【主權項】
1. 一種數據中屯、網絡中的應用層調度方法,其特征在于,包括: 客戶端獲取網絡和應用信息; 根據網絡和應用信息采用最優化模型獲得并行服務器數和TCP流速率; 根據所述并行服務器數對服務器進行分組,獲得分組調度策略; 根據分組調度策略向服務器發送數據請求,并同時發送對應的TCP流速率,W使服務器 根據數據請求和TCP流速率調整發送速率進行數據傳遞; 客戶端獲取數據。2. 根據權利要求1所述的方法,其特征在于,所述網絡和應用信息包括鏈路帶寬、鏈路 的基本往返傳播時延、服務器的總數、每個服務器每次需要傳遞的數據量、一個數據包的大 小、一個數據包中數據部分的大小和調度時延。3. 根據權利要求1所述的方法,其特征在于,根據網絡和應用信息采用最優化模型獲得 并行服務器數和TCP流速率,包括: 當交換機緩存值大于鏈路容量值時,根據網絡和應用信息采用公式:告的TCP接收窗口大小;當交換機緩存值小于鏈路容量值時,根據網絡和應用信息采用公式: ) 獲得并行服務器數和客戶端通獲得并行服務器數、客戶端通告 的TCP接收窗口大小和客戶端通告的TCP初始窗口大小; 其中,G為客戶端觀察到的應用層吞吐量;Sdata數據包中數據部分的大小;SSRU為每個服 務器每次需要傳遞的數據量;N為服務器總數;K為并發服務器的分組數;0為調度時延,大小 等于D;化為第k個分組中所有服務器傳遞數據需要的RTT數量;D為鏈路的基本往返傳播時 延;Winit為客戶端通告的TCP初始窗口大小;Mk為在第k化二1,2,……,Κ)組中并發服務器的 數量;Sf為一個數據包的大小;C為鏈路帶寬;Μ為并發服務器數;Wmax為客戶端通告的TCP接 收窗口大小; 所述TCP流速率包括客戶端通告的TCP接收窗口大小和客戶端通告的TCP初始窗口大 小。4. 根據權利要求1所述的方法,其特征在于,根據分組調度策略向服務器發送數據請 求,并同時發送對應的TCP流速率,w使服務器根據數據請求和TCP流速率調整發送速率進 行數據傳遞,包括: 當客戶端向服務器請求一數據包時,客戶端向第k組服務器中所有服務器發送數據請 求,并同時發送對應的TCP流速率,W使第k組的所有服務器根據數據請求和TCP流速率調整 發送速率進行數據傳遞; 當第k組的所有服務器完成數據傳遞后,客戶端向第k+1組服務器中所有服務器發送數 據請求,并同時發送對應的TCP流速率,W使第k+1組的所有服務器根據數據請求和TCP流速 率調整發送速率進行數據傳遞; 其中,k=l,2,……,Κ。5. 根據權利要求4所述的方法,其特征在于, 當交換機緩存值大于鏈路容量值時,客戶端向第k組中所有服務器發送數據請求,并同 時通告的TCP接收窗口大小; 當交換機緩存值小于鏈路容量值時,客戶端向第k組中所有服務器發送數據請求,并同 時通告TCP接收窗口大小和TCP初始窗口大小。6. 根據權利要求3所述的方法,其特征在于,根據所述并行服務器數對服務器進行分 組,包括: 根據服務器總數N和并行服務器數Μ采用公式: 獲得并發服務器的分組數Κ、在第k化二1,2,……, 、 、一 一- _ K)組中并發服務器的數量Mk和第n(n=l,2,. . .,N)個服務器所在的分組序號Κη。7. -種數據中屯、網絡中的應用層調度方法,其特征在于,包括: 服務器接收客戶端發送的數據請求和TCP流速率;所述數據請求為客戶端獲取網絡和 應用信息后,根據網絡和應用信息采用最優化模型獲得并行服務器數,并根據所述并行服 務器數對服務器進行分組,獲得分組調度策略后,根據分組調度策略向服務器發送的請求; 所述TCP流速率為客戶端獲取網絡和應用信息后,根據網絡和應用信息采用最優化模型獲 得; 服務器根據數據請求和TCP流速率調整發送速率進行數據傳遞。8. 根據權利要7所述的方法,其特征在于,所述網絡和應用信息包括鏈路帶寬、鏈路的 基本往返傳播時延、服務器的總數、每個服務器每次需要傳遞的數據量、一個數據包的大 小、一個數據包中數據部分的大小和調度時延。9. 根據權利要求7所述的方法,其特征在于, 當交換機緩存值大于鏈路容量值時,所述最優化模型為:當交換機緩存值小于鏈路容量值時,所述最優化模型為:其中,G為客戶端觀察到的應用層吞吐量;Sdata數據包中數據部分的大小;SsRu為每個服 務器每次需要傳遞的數據量;N為服務器總數;K為并發服務器的分組數;0為調度時延,大小 等于D;化為第k個分組中所有服務器傳遞數據需要的RTT數量;D為鏈路的基本往返傳播時 延;Winit為客戶端通告的TCP初始窗口大小;Mk為在第k化二1,2,……,Κ)組中并發服務器的 數量;Sf為一個數據包的大小;C為鏈路帶寬;Μ為并發服務器數;Wmax為客戶端通告的TCP接 收窗口大小。
【文檔編號】H04L12/813GK105847175SQ201610252477
【公開日】2016年8月10日
【申請日】2016年4月21日
【發明人】張舒黎, 張棪, 孫繼燕, 曹玖玥, 陳鑫
【申請人】中國科學院信息工程研究所