武自強,周建濤,趙大明,柳 林
1.內蒙古大學 計算機學院,呼和浩特 010021
2.內蒙古云計算與服務軟件工程實驗室,呼和浩特 010021
3.內蒙古數據處理與社會計算重點實驗室,呼和浩特 010021
4.內蒙古師范大學 計算機科學技術學院,呼和浩特 010021
隨著互聯網時代信息與數據的快速增長,科學、工程和商業計算等領域需要處理的數據遠遠超出自身IT架構的計算能力,目前云計算市場規模總體呈穩定增長態勢[1],使用云計算成為一種趨勢。數據中心[2]作為云計算的基礎設施,統計表明其資源利用率通常在5%~25%之間[3-4]。這些多維度資源(CPU、存儲、內存和網絡等)的低利用率直接導致了巨大的資源浪費。降低能源消耗、提高資源利用率成為云計算亟待解決的難題之一。
近年來,數據中心能效系統的模型構建方法與算法設計分為對服務器端優化和對網絡端優化兩類。對服務器端優化已有較多研究,大致分為三類:基于動態電壓頻率調整的優化策略、基于關閉空閑服務器的優化策略和基于虛擬化技術的優化策略。網絡端優化已有不少研究,如文獻[5]提出了基于休眠喚醒和自適應鏈路速率混合優化策略,文獻[6]提出的流量合并的方法,文獻[7]中提供了一種基于迭代的路由方案,文獻[8]提出的利用軟件定義網絡技術,文獻[9]提出的應用人工智能抽象的方法,文獻[10]對網絡能耗與性能間的權衡問題進行了研究,提出以網絡流完成時間作為最重要的統一性能指標對網絡的性能進行保障。
對網絡流進行調度以提高數據中心網絡利用率成為當前研究的熱點之一[11]。目前針對網絡流的調度方法通常不加以區分地適用于各種網絡流,或是僅著眼于大象流和老鼠流進行調度[12],將大量持續傳遞數據的大象流和少量短時間的老鼠流區區別對待。根據預測[13],未來東西流量(數據中心內部流量和數據中心間流量)將占數據中心總流量的86%,而南北流量(從數據中心流向互聯網或WAN 的流量)僅占數據中心相關流量的14%;研究顯示數據中心的流量服從長尾概率分布,具體來說,幾乎所有流量的90%都小于10 KB,持續時間不到幾毫秒,而其余10%則占了大部分流量[14]。對所有流使用相同的調度策略,這使得網絡流調度效果不明顯[15]。在高負載的環境下,可能影響服務流量的效率。理想的網絡流調度方法應針對不同要求的網絡流設計不同的調度方案[16],將網絡流量進行分類后基于不同的特點加以調度[17]。
為提高網絡資源利用率,緩解網絡擁塞保證云服務質量,提出一種基于服務滿足度對非服務流量動態調整的避讓方法TAM(Traffic Avoidance Method),評估當前的服務滿足度,根據服務滿足度動態調整非服務業務的網絡流量,在發生網絡過載時主動避讓服務流量,以優先保證云服務質量要求,提高數據中心網絡的性能。
本文的主要貢獻如下:
(1)引入數據中心網絡的網絡流分類方法,從應用層概念入手將網絡流依據其支撐具體業務的不同分成三類:服務業務、固定業務和彈性業務。
(2)定義服務滿足度概念,基于服務業務的服務等級協議,量化評估當前網絡性能能否滿足服務業務的需要,將其作為數據中心網絡流調度的依據。
(3)提出一種網絡流主動避讓方法,在數據中心服務業務量激增時,主動調整彈性業務量,避讓服務流量的短暫高峰以緩解網絡擁塞,滿足服務質量要求。
(4)仿真實驗結果表明,相比于對照組實驗,主動避讓方法可使業務抖動區間縮小為對照組的1/3,網絡整體時延降低約20%。
綜上,TAM 方法在數據中心網絡負載激增的情況下可以保證服務業務的質量,并在提高全局網絡性能上也有一定的表現,達到預想的設計目的。
當前研究主要從擁塞控制和流量調度兩個方面進行優化設計[18],針對數據中心混合流復雜的環境,Aemon利用一種基于緊急性的擁塞控制機制來調節截止時間流的發送速率[19],并使用兩級優先級調度策略來區分混合流。Sonum 通過合并和處理來自多個交換機的采樣信息來檢測長流量[14],獲取長流程信息后將潛在的丟包率最小化為優化目標,然后將負載平衡轉換為給長流安排最小丟包路徑的優化問題并介紹了一種啟發式算法。Difference設計了一種算法[20]來根據當前鏈路利用率動態地重新計劃大象和老鼠的流動設置路徑,通過加權多路徑路由算法來調度老鼠流,并根據鏈接利用率調整路徑權重,針對大象流提出了一種基于阻塞島的路徑設置算法來找到具有較短搜索空間的最不擁擠的路徑。MOG從不同角度將優化目標分別劃分為用戶指標(完工時間和經濟成本)和云系統指標(網絡帶寬、存儲約束和系統公平度)[21],并將該調度問題制定成為一個新的連續的合作博弈,在優化用戶指標的同時,滿足系統指標的約束,并保證云資源的效率和公平度。
通過自適應終端進行調度的方法,如Fastpassp則提出使用完全中心式的調度器負責計算數據包進入網絡的時間和傳輸路徑[22];采用基于令牌的方式pHost[23]和基于令牌的流調度機制QJump[24],在發送端和接收端之間為流傳遞令牌,獲得令牌的流可以得到一個傳輸窗口,小流優先得到令牌以減少平均完成時間。上述方法均沒有考慮服務質量的問題。
在流量大小高度復雜的數據中心網絡(DCN)中,傳統觀點認為對每個單獨的流進行調度[25-26]。Abbasloo等人[27]提出,考慮調度延遲(包括調度程序的計算和通信延遲),僅以先到先服務的方式為大多數流提供服務,而無需進行任何調度,就可以顯著提高其性能。
鑒于網絡流量的不可預知性,從多維角度衡量目前多樣化服務的質量并保證高質量的終端用戶體驗至關重要。以上方案沒有針對性地對不同網絡流調度,采用單一策略調度所有網絡流,可能使用戶服務網絡流與非時間敏感的非服務網絡流一同被調度,影響用戶的服務質量。為了提高網絡的質量,同時保證服務業務不被干擾,本文對數據中心內部存在的網絡流加以區分,提高用戶服務網絡流的優先級,在網絡狀態無法滿足服務等級協議時,優先保證用戶的云服務需求。
本章首先介紹服務滿足度這一概念,同時提供一種將網絡流依據其支撐業務的不同進行分類的方法,最后基于服務滿足度和流量分類,設計一種基于滿足度的服務端非服務網絡流主動避讓方法,在高負載的情況下滿足用戶服務的質量要求。
服務滿足度是判定當前數據中心網絡能否滿足服務需要的判定標準,也是動態調整數據中心負載的依據。定義服務滿足度為SSD(Service Satisfied Degree),該值是一個取值為[0,1]的正實數,假設當SSD=1 時,當前網絡狀態滿足服務需要;0 ≤SSD<1 時意味著當前網絡未能滿足服務業務的需要,應該進行一定的干預避免違背SLA;SSD 越接近0,表示網絡越難滿足服務,在本文中令SSD∈[0,1]。思科白皮書中雖然給出了未來東西流量和南北流量的趨勢,但是由于提供不同服務的數據中心對這兩種流量的要求不盡相同,如提供大數據計算(如Hadoop、MapReduce框架)的數據中心更注重東西流量中的網絡性能以更快完成任務,而對承擔即時通訊等業務的數據中心更關注南北流量中網絡流的性能。因此將數據中心網絡的服務滿足度拆分為兩部分,一部分為東西流量中服務的滿足度,另一部分為南北流量中服務的滿足度,并分別為兩個滿足度設置不同的權重,南北流量/東西流量中的服務滿足度用NSSSD和WESSD表示,并分別為其賦予權重NSweight和WEweight,即數據中心的服務滿足度為流量中服務的權重與滿足度乘積的和:

東西流量或南北流量中存在數個網絡流,這些網絡流分別支撐一個或多個具體業務,考慮為每個業務分配不同的權重,則東西流量或南北流量的服務滿足度為:

值得注意的是,多樣化的云服務對網絡性能有不同要求,一些業務可能同時對多個網絡參數均有要求,例如同時要求較低的網絡時延和較大的網絡吞吐量。因此對于每個應用來說,其SSD 需要進一步計算,設網絡參數為nf,共有i個nfi分別代表網絡時延、吞吐量、抖動等多個參數,且對網絡參數的敏感度各不相同,給不同nfi賦予不同的權重fwi。則應用SSD公式如下:

相關研究有很多關注網絡流本身的特性,例如以網絡流的大小將其分為大象流和老鼠流,抑或是考慮網絡流的源端和目的端將流量分為東西流量和南北流量,還有基于網絡流存在的柵欄效應[28],云服務提供商關注數據中心的能耗和效率,對于云服務客戶而言,更關注其使用的云服務能否滿足其需要,是否符合簽訂的服務等級協議(SLA)。
數據中心網絡中存在數個源端到目的端的網絡流,具體的業務需要數個網絡流的支撐才能完成,因此將網絡流依據其支撐業務的不同分成三類,如圖1所示。

圖1 網絡流根據支撐的業務分類Fig.1 Classification of network flow based on supporting business
第一類集合包含由服務業務產生的網絡流,支撐數據中心提供的計算、存儲等具體業務,該類任務是用戶服務請求,包括大規模云計算、云存儲,例如Hadoop、Spark 等分布式應用服務以及WEB、郵件、視頻流等傳統業務。盡管該集合中的流量大多數存在于東西流量(數據中心內部),但是與南北流量中用戶流量要求一致,有嚴格的時間和可靠性要求,為保證服務質量,本類網絡流不能進行調度,定義本類流量支撐的業務為服務業務。
第二類集合包含數據中心必要的流量,如支撐整個數據中心的軟件體系、備份等網絡流,該類流量是云服務提供商提供可靠云服務必不可少的流量,暫停或調整該類網絡流可能導致難以回滾的結果,因此不能對本類網絡流進行調度,定義該類網絡流支撐的業務為固定業務。
第三類集合包含對時間、可靠性等沒有嚴格要求的網絡流,例如為了提高服務器的利用率對虛擬機進行重新部署遷移,但虛擬機遷移相關研究更多考慮服務器CPU、內存等設備的利用率,沒有足夠關注當前的網絡狀態,可以對該類業務進行適當的延后以降低網絡負載,避免網絡流的沖突造成長時間網絡擁塞。定義該類網絡流支撐的業務為彈性業務,即非服務業務。
鑒于網絡流的突發性和不可預測性,本文提出基于當前服務滿足度,動態調整彈性業務網絡負載的方法,在服務業務激增時,減少彈性業務的效率,避開服務業務的激增波峰,待服務業務趨于平緩后再恢復彈性業務,并且根據不同的服務滿足度,給出不同的彈性業務調整策略。算法1主動避讓方法預設兩種調度策略(第1、2行),調度策略可以使用不同的分布,例如通過均勻分布或分段函數等來處理動態調整量,在數據中心網絡運行時,動態獲取網絡的實時狀態(第4 行),分析當前存在的服務業務并根據公式(1)計算服務滿足度(第5、6行),如果當前網絡不滿足服務需求,即服務滿足度小于等于1,則依據服務滿足度,動態調整彈性業務的發包速率/發包大小(第7、8行);若服務滿足度為0,則暫停彈性業務發送速率(第9、10行),降低網絡負載,使得當前網絡負載降低,達到擁塞控制的目的。
算法1主動避讓方法


本文使用OPNET 平臺進行仿真實驗,在Windows 10 中部署VMware? Workstation 15 Pro,虛擬機配置及實驗環境部署如表1所示。

表1 虛擬機配置Table 1 VM configuration
本文使用葉脊拓撲網絡模擬網絡數據中心,使用2個脊交換機和5 個葉交換機組成,如圖2 所示。其中1個葉交換機連接用戶端,作為數據中心流量的出口,其余4個葉交換機連接服務器。為加快仿真速度,實驗中固定業務以基于統計的數學建模方法使用背景流量來代替,彈性業務和用戶業務以基于包的分析方法做離散仿真。

圖2 實驗的網絡拓撲設計Fig.2 Network topology design of experiments
實驗分為兩個部分:一是在OPNET 中設計新的應用模型實現主動避讓方法;二是在數據中心網絡中驗證主動避讓方法的性能。
首先在OPNET中設計新的應用模型。分別設計一個彈性應用和一個服務應用代表對應的業務,將服務應用模型的端到端時延作為衡量其服務滿足度的唯一網絡參數。為加快仿真速度,簡化彈性應用的調整策略,設計端到端時延處于36 ms 到100 ms 之間[13]時,彈性應用負載減半。為驗證設計應用的有效,設計實驗場景baseline,在節點user與server之間部署服務應用,server與server之間部署彈性應用,并在節點間和鏈路間部署背景流量以模擬固定業務,仿真時間設置為1 000 s。
設計場景baseline2,數據中心網絡采用葉脊結構[29],場景包括2 個脊(Spine)路由交換機,5 個葉(Leaf)路由交換機,每個葉節點部署20 個終端節點,其中1 個葉節點(User)相連20 個終端視為用戶,其余4 個葉節點(Server)相連的80 個終端視為服務器,節點間使用1000baseX鏈路模型相連。
為模擬數據中心網絡處于高負載的情形下,設置鏈路背景流量,在服務器之間部署標準應用作為固定業務,所有用戶到服務器設置服務應用,服務器之間部署彈性業務。對比實驗將彈性業務設置為與服務業務,即不調整彈性業務,仿真時間設置為1 000 s。設置對照實驗duibi_2,將baseline2 中服務應用替換為彈性應用,即不使用主動避讓方法。采用主動避讓方法的曲線為藍色,對照實驗為紅色。
圖3實驗結果曲線分別為端到端時延、彈性業務發送量和交付率。圖中可以看出,服務應用基本上達到100%交付,在100 s 前后服務應用時延第一次超過36 ms,彈性應用此時未達峰值便開始減少網絡發送量;在仿真時間300 s 到500 s 和700 s 到900 s 之間時,時延在36 ms浮動,彈性業務達到設計峰值1 MB/s。實驗結果證明主動避讓方法可行。

圖3 主動避讓方法可行性驗證Fig.3 Feasibility verification of active avoidance method
圖4 中服務應用交付率基本達到100%,而對照組只有約60%。

圖4 服務交付率Fig.4 Service delivery rate
圖5中服務應用時延實驗組比對照組更為穩定,且有更低的平均值,大致分布在100 ms之內。

圖5 端到端時延對比圖Fig.5 End-to-end delay comparison chart
圖6 服務應用抖動實驗組范圍更小,基本不超過0.02 s,對照組則隨著網絡性能的下降抖動不斷增加,最高達到0.08 s。可以看出,采用TAM更能保證服務滿足度,提高服務質量。

圖6 抖動對比圖Fig.6 Jitter comparison chart
如圖7,通過實驗組和對照組的結果可以看出,實驗進行到最后時實驗組相比于對照組,全局網絡時延降低20%左右,大約降低為0.17 ms,證實主動避讓方法對降低數據中心網絡整體延遲,提高網絡性能也有一定的作用。

圖7 數據中心整體時延Fig.7 Data center company for delay
實驗結果表示,網絡負載激增服務滿足度降低時,主動避讓方法動態調整彈性業務以緩和擁塞趨勢,保證服務業務優先傳輸;待服務業務趨于平緩時恢復彈性業務。相比于對照組網絡,主動避讓方法可以有效保證服務類業務的可靠交付,降低抖動幅度,對網絡整體性能也有一定的提高。
針對提高網絡資源利用率和保證服務質量等問題,提出基于服務滿足度對非服務流量調度的主動避讓方法,其主要特征如下:一是引入服務滿足度概念,衡量當前網絡是否符合服務等級協議,能否滿足用戶服務的需要,將其作為是否進行調度的依據;二是依據網絡流所支撐的不同業務,將數據中心網絡中的網絡流劃分成三類,只對彈性業務對應的網絡流進行調度,保護服務類網絡流,提高用戶服務質量;三是在數據中心網絡高負載情況下服務業務激增、網絡無法滿足用戶服務需要時依據服務業務滿足度,動態調整彈性業務負載,緩解即將發生的網絡擁塞。仿真實驗結果表明,該方法能夠緩解網絡擁塞,降低抖動,保證服務質量滿足服務等級協議,對提高整個數據中心網絡性能也有一定作用。
當前使用仿真實驗驗證,未來工作可以依托OPNET平臺,將實際數據中心網絡接入到平臺中,采用真實的網絡拓撲結構和網絡流測試TAM方法的實際性能。