基于端的故障容忍的分布式數據中心負載均衡方法
【技術領域】
[0001] 本發明設及數據中屯、中流量負載均衡方法,具體是一種基于端的分布式負載均衡 機制。
【背景技術】
[0002] 對于計算的可擴展性需求和規模效應所帶來的巨大收益推動了數據中屯、技術的 發展。當前的數據中屯、典型地包含成千上萬級別的主機。通過采用化t-tree,B化be等拓 撲結構,數據中屯、網絡為應用通訊提供了豐富的路徑冗余。盡管該種路徑富余從理論上提 高了數據中屯、的對剖帶寬,其實際性能仍然極大地依賴于底層的負載均衡機制。如果不能 提供有效利用路徑多樣性的機制,數據中屯、網絡通訊的整體性能仍會收到很大的影響。當 前典型數據中屯、多借助于Equal-Cost-Multipath巧CMP)的技術來實現流量負載均衡。由 于ECMP技術是一種將數據流和傳輸路徑進行隨機映射的方式,其不能有效地感知路徑上 的負載情況。該種負載均衡的盲目性可能導致大量的流沖突,從而極大地影響網絡的整體 性能。盡管當前已經提出部分適應性的負載均衡策略來改善ECMP的缺點,但其不適用于產 生網絡故障的場景,或者需要特定的硬件支持。
【發明內容】
[0003] 發明目的;本發明為了解決現有的數據中屯、負載均衡技術的不足,提供了一種基 于端的故障容忍的分布式數據中屯、負載均衡方法。
[0004] 技術方案;為解決上述技術問題,本發明提供的基于端的故障容忍的分布式數據 中屯、負載均衡方法,該方法在源主機端維護具有自衰老機制的路徑擁塞表,所述路徑擁塞 表記錄了從該源主機出發可達的所有路徑的擁塞程度;該方法包括基于端的路徑狀態評估 和自適應的負載均衡,所述基于端的路徑狀態評估通過路徑擁塞表為自適應的負載均衡為 提供實時選路指導,所述基于端的路徑狀態評估調用自適應的負載均衡為每個基本負載單 元選路;
[0005] 所述基于端的路徑狀態評估包括;利用至少包含TCP數據流中的ACK到達時間和 ACK確認的數據量的信息來評估當前路徑的擁塞程度;利用TCP中的快重傳和RT0超時事 件來及時地獲取故障路徑的信息;將獲取到的路徑擁塞程度和故障信息插入到當前主機的 擁塞表中;
[0006] 所述自適應的負載均衡包括;WTCP流中的擁塞窗口作為基本負載單元,利用主 機擁塞表中的路徑狀態執行雙向的細粒度負載均衡機制,包括防止路徑震蕩的正向數據段 路由機制,W及反向ACK路由機制。
[0007] 優選的,所述自適應的負載均衡包括W下步驟:
[0008] 在TCP層檢測當前的TCP擁塞窗口,使用源路由技術控制每個基本負載單元的發 送路徑的步驟;
[0009] 在發送數據段之前,記錄當前發送的擁塞窗口的起始序列號SeQbeg、終止序列號 SeQend及其發送路徑pid為元組(Seqbeg,SeQend,pid)的步驟;
[0010] 當發送ACK報文時,從當前的主機擁塞表中選取具有最小擁塞程度的路徑作為其 發送路徑的步驟。
[0011] 優選的,所述基于端的路徑狀態評估包括W下步驟:
[0012] 1)在源主機發送每個擁塞窗口前,調用自適應的負載均衡為當前的負載單元選 路,并記錄當前發送的擁塞窗口為元組(Seqbeg,Seqend,Pid);
[0013] 2)目的主機接收到數據段之后,回復ACK對當前接收到的數據段進行確認;
[0014] 3)如果源主機未接收到新的ACK從而產生RT0超時或者觸發快重傳,則進入步驟 7);否則進入步驟4);
[0015]4)源主機接受到ACK報文后,根據其確認號ackno查找滿足SeQbeg《ackno《Seqend 的元組,得到當前ACK確認的數據的發送路徑pid,并同時在緩存中刪除所有滿足條件 Seqend《ackno的元組;
[0016] 5)源主機根據接收到的ACK的到達時間和所確認的數據評估路徑pid上的擁塞程 度CL(pid);
[0017] 6)將源主機針對路徑pid的評估結果化(pid)插入到其自身所維護的路徑擁塞表 中,結束;
[0018] 7)從TCP層獲取當前最高的數據確認號acknOhigh,在主機端緩存的元組中查找滿 足條件Seqbeg《ackn〇Mgh《Deq。。,的元組,并根據該元組獲取當前發生故障的路徑ID為 pid ;
[0019] 8)將故障路徑的擁塞值設為CLm,并將其插入到該主機的擁塞表中,其中CLm表示 當前該路徑正發生嚴重擁塞或者發生鏈路錯誤,結束。
[0020] 優選的,所述路徑擁塞表具有的自衰老機制為;一旦擁塞表中的某條路徑的擁塞 信息超過預設時間段未被更新,該路徑的擁塞程度將會逐漸的降為0。
[0021] 具體的,所述在TCP層檢測當前的TCP擁塞窗口,使用源路由技術控制每個基本負 載單元的發送路徑的步驟包括:在TCP層檢測當前的TCP擁塞窗口,并將每個擁塞窗口內的 數據作為一個基本的負載單元,針對每個基本的負載單元,首先從當前主機的擁塞表中隨 機的選取一半路徑放入備選路徑集,然后從備選路徑集中選取具有最小擁塞程度的路徑作 為當前負載單元的發送路徑。
[0022] 優選的,所述源主機根據接收到的ACK的到達時間和所確認的數據評估路徑pid 上的擁塞程度的步驟中,所述評估方法為:
[0023]
【主權項】
1. 一種基于端的故障容忍的分布式數據中心負載均衡方法,其特征在于: 該方法在源主機端維護具有自衰老機制的路徑擁塞表,所述路徑擁塞表記錄了從該源 主機出發可達的所有路徑的擁塞程度;該方法包括基于端的路徑狀態評估和自適應的負載 均衡,所述基于端的路徑狀態評估通過路徑擁塞表為自適應的負載均衡為提供實時選路指 導,所述基于端的路徑狀態評估調用自適應的負載均衡為每個基本負載單元選路; 所述基于端的路徑狀態評估包括:利用至少包含TCP數據流中的ACK到達時間和ACK 確認的數據量的信息來評估當前路徑的擁塞程度;利用TCP中的快重傳和RTO超時事件來 及時地獲取故障路徑的信息;將獲取到的路徑擁塞程度和故障信息插入到當前主機的擁塞 表中; 所述自適應的負載均衡包括:以TCP流中的擁塞窗口作為基本負載單元,利用主機擁 塞表中的路徑狀態執行雙向的細粒度負載均衡機制,包括防止路徑震蕩的正向數據段路由 機制和反向ACK路由機制。
2. 根據權利要求1所述的基于端的故障容忍的分布式數據中心負載均衡方法,其特征 在于: 所述自適應的負載均衡包括以下步驟: 在TCP層檢測當前的TCP擁塞窗口,使用源路由技術控制每個基本負載單元的發送路 徑的步驟; 在發送數據段之前,記錄當前發送的擁塞窗口的起始序列號Seqbeg、終止序列號Seqmd 及其發送路徑pid為元組(Seqbeg, Seqmd, pid)的步驟; 當發送ACK報文時,從當前的主機擁塞表中選取具有最小擁塞程度的路徑作為其發送 路徑的步驟; 所述基于端的路徑狀態評估包括以下步驟: 1) 在源主機發送每個擁塞窗口前,調用自適應的負載均衡為當前的負載單元選路,并 記錄當前發送的擁塞窗口為元組(Seqbeg, Seqend, pid); 2) 目的主機接收到數據段之后,回復ACK對當前接收到的數據段進行確認; 3) 如果源主機未接收到新的ACK從而產生RTO超時或者觸發快重傳,則進入步驟7); 否則進入步驟4); 4) 源主機接受到ACK報文后,根據其確認號ackno查找滿足SeqbegS ackno彡Seq end 的元組,得到當前ACK確認的數據的發送路徑pid,并同時在緩存中刪除所有滿足條件 SeqendS ackno 的元組; 5) 源主機根據接收到的ACK的到達時間和所確認的數據評估路徑pid上的擁塞程度 CL (pid); 6) 將源主機針對路徑pid的評估結果CL(pid)插入到其自身所維護的路徑擁塞表中, 結束; 7) 從TCP層獲取當前最高的數據確認號ackn〇high,在主機端緩存的元組中查找滿足條 件Seq begS ackno high< Seq end的元組,并根據該元組獲取當前發生故障的路徑ID為pid ; 8) 將故障路徑的擁塞值設為CLm,并將其插入到該主機的擁塞表中,其中0^表示當前 該路徑正發生嚴重擁塞或者發生鏈路錯誤,結束。
3. 根據權利要求1所述的基于端的故障容忍的分布式數據中心負載均衡方法,其特征 在于:所述路徑擁塞表具有的自衰老機制為:一旦擁塞表中的某條路徑的擁塞信息超過預 設時間段未被更新,該路徑的擁塞程度將會逐漸的降為0。
4. 根據權利要求2所述的基于端的故障容忍的分布式數據中心負載均衡方法,其特征 在于:所述在TCP層檢測當前的TCP擁塞窗口,使用源路由技術控制每個基本負載單元的發 送路徑的步驟包括:在TCP層檢測當前的TCP擁塞窗口,并將每個擁塞窗口內的數據作為一 個基本的負載單元,針對每個基本的負載單元,首先從當前主機的擁塞表中隨機的選取一 半路徑放入備選路徑集,然后從備選路徑集中選取具有最小擁塞程度的路徑作為當前負載 單元的發送路徑。
5. 根據權利要求2所述的基于端的故障容忍的分布式數據中心負載均衡方法,其特征 在于:所述源主機根據接收到的ACK的到達時間和所確認的數據評估路徑pid上的擁塞程 度的步驟中,所述評估方法為:
其中,CL (pid)為路徑pid上的擁塞值,tSi表示接收到第i個ACK的時間戳,ackno 1表 示接收到的第i個ACK報文的確認號。
【專利摘要】本發明公開了基于端的故障容忍的分布式數據中心負載均衡方法,在源主機端維護具有自衰老機制的路徑擁塞表;該方法包括基于端的路徑狀態評估和自適應的負載均衡;基于端的路徑狀態評估利用至少包含TCP數據流中的ACK到達時間和ACK確認的數據量的信息來評估當前路徑的擁塞程度,利用TCP中的快重傳和RTO超時事件來及時地獲取故障路徑的信息,將獲取到的路徑擁塞程度和故障信息插入到主機的擁塞表中;自適應負載均衡以TCP流中擁塞窗口為基本負載單元,利用主機擁塞表中的路徑狀態執行雙向細粒度負載均衡機制。本發明無需特殊硬件支持,能夠在大規模的數據中心中快速有效地部署,低開銷、易部署,有效提高了數據中心中的通訊性能。
【IPC分類】H04L1-18, H04L12-803, H04L29-08
【公開號】CN104767826
【申請號】CN201510198276
【發明人】錢柱中, 溫開源, 陸桑璐
【申請人】南京大學
【公開日】2015年7月8日
【申請日】2015年4月23日