武自強,周建濤,趙大明,柳 林
1.內蒙古大學 計算機學院,呼和浩特 010021
2.內蒙古云計算與服務軟件工程實驗室,呼和浩特 010021
3.內蒙古數(shù)據(jù)處理與社會計算重點實驗室,呼和浩特 010021
4.內蒙古師范大學 計算機科學技術學院,呼和浩特 010021
隨著互聯(lián)網(wǎng)時代信息與數(shù)據(jù)的快速增長,科學、工程和商業(yè)計算等領域需要處理的數(shù)據(jù)遠遠超出自身IT架構的計算能力,目前云計算市場規(guī)??傮w呈穩(wěn)定增長態(tài)勢[1],使用云計算成為一種趨勢。數(shù)據(jù)中心[2]作為云計算的基礎設施,統(tǒng)計表明其資源利用率通常在5%~25%之間[3-4]。這些多維度資源(CPU、存儲、內存和網(wǎng)絡等)的低利用率直接導致了巨大的資源浪費。降低能源消耗、提高資源利用率成為云計算亟待解決的難題之一。
近年來,數(shù)據(jù)中心能效系統(tǒng)的模型構建方法與算法設計分為對服務器端優(yōu)化和對網(wǎng)絡端優(yōu)化兩類。對服務器端優(yōu)化已有較多研究,大致分為三類:基于動態(tài)電壓頻率調整的優(yōu)化策略、基于關閉空閑服務器的優(yōu)化策略和基于虛擬化技術的優(yōu)化策略。網(wǎng)絡端優(yōu)化已有不少研究,如文獻[5]提出了基于休眠喚醒和自適應鏈路速率混合優(yōu)化策略,文獻[6]提出的流量合并的方法,文獻[7]中提供了一種基于迭代的路由方案,文獻[8]提出的利用軟件定義網(wǎng)絡技術,文獻[9]提出的應用人工智能抽象的方法,文獻[10]對網(wǎng)絡能耗與性能間的權衡問題進行了研究,提出以網(wǎng)絡流完成時間作為最重要的統(tǒng)一性能指標對網(wǎng)絡的性能進行保障。
對網(wǎng)絡流進行調度以提高數(shù)據(jù)中心網(wǎng)絡利用率成為當前研究的熱點之一[11]。目前針對網(wǎng)絡流的調度方法通常不加以區(qū)分地適用于各種網(wǎng)絡流,或是僅著眼于大象流和老鼠流進行調度[12],將大量持續(xù)傳遞數(shù)據(jù)的大象流和少量短時間的老鼠流區(qū)區(qū)別對待。根據(jù)預測[13],未來東西流量(數(shù)據(jù)中心內部流量和數(shù)據(jù)中心間流量)將占數(shù)據(jù)中心總流量的86%,而南北流量(從數(shù)據(jù)中心流向互聯(lián)網(wǎng)或WAN 的流量)僅占數(shù)據(jù)中心相關流量的14%;研究顯示數(shù)據(jù)中心的流量服從長尾概率分布,具體來說,幾乎所有流量的90%都小于10 KB,持續(xù)時間不到幾毫秒,而其余10%則占了大部分流量[14]。對所有流使用相同的調度策略,這使得網(wǎng)絡流調度效果不明顯[15]。在高負載的環(huán)境下,可能影響服務流量的效率。理想的網(wǎng)絡流調度方法應針對不同要求的網(wǎng)絡流設計不同的調度方案[16],將網(wǎng)絡流量進行分類后基于不同的特點加以調度[17]。
為提高網(wǎng)絡資源利用率,緩解網(wǎng)絡擁塞保證云服務質量,提出一種基于服務滿足度對非服務流量動態(tài)調整的避讓方法TAM(Traffic Avoidance Method),評估當前的服務滿足度,根據(jù)服務滿足度動態(tài)調整非服務業(yè)務的網(wǎng)絡流量,在發(fā)生網(wǎng)絡過載時主動避讓服務流量,以優(yōu)先保證云服務質量要求,提高數(shù)據(jù)中心網(wǎng)絡的性能。
本文的主要貢獻如下:
(1)引入數(shù)據(jù)中心網(wǎng)絡的網(wǎng)絡流分類方法,從應用層概念入手將網(wǎng)絡流依據(jù)其支撐具體業(yè)務的不同分成三類:服務業(yè)務、固定業(yè)務和彈性業(yè)務。
(2)定義服務滿足度概念,基于服務業(yè)務的服務等級協(xié)議,量化評估當前網(wǎng)絡性能能否滿足服務業(yè)務的需要,將其作為數(shù)據(jù)中心網(wǎng)絡流調度的依據(jù)。
(3)提出一種網(wǎng)絡流主動避讓方法,在數(shù)據(jù)中心服務業(yè)務量激增時,主動調整彈性業(yè)務量,避讓服務流量的短暫高峰以緩解網(wǎng)絡擁塞,滿足服務質量要求。
(4)仿真實驗結果表明,相比于對照組實驗,主動避讓方法可使業(yè)務抖動區(qū)間縮小為對照組的1/3,網(wǎng)絡整體時延降低約20%。
綜上,TAM 方法在數(shù)據(jù)中心網(wǎng)絡負載激增的情況下可以保證服務業(yè)務的質量,并在提高全局網(wǎng)絡性能上也有一定的表現(xiàn),達到預想的設計目的。
當前研究主要從擁塞控制和流量調度兩個方面進行優(yōu)化設計[18],針對數(shù)據(jù)中心混合流復雜的環(huán)境,Aemon利用一種基于緊急性的擁塞控制機制來調節(jié)截止時間流的發(fā)送速率[19],并使用兩級優(yōu)先級調度策略來區(qū)分混合流。Sonum 通過合并和處理來自多個交換機的采樣信息來檢測長流量[14],獲取長流程信息后將潛在的丟包率最小化為優(yōu)化目標,然后將負載平衡轉換為給長流安排最小丟包路徑的優(yōu)化問題并介紹了一種啟發(fā)式算法。Difference設計了一種算法[20]來根據(jù)當前鏈路利用率動態(tài)地重新計劃大象和老鼠的流動設置路徑,通過加權多路徑路由算法來調度老鼠流,并根據(jù)鏈接利用率調整路徑權重,針對大象流提出了一種基于阻塞島的路徑設置算法來找到具有較短搜索空間的最不擁擠的路徑。MOG從不同角度將優(yōu)化目標分別劃分為用戶指標(完工時間和經濟成本)和云系統(tǒng)指標(網(wǎng)絡帶寬、存儲約束和系統(tǒng)公平度)[21],并將該調度問題制定成為一個新的連續(xù)的合作博弈,在優(yōu)化用戶指標的同時,滿足系統(tǒng)指標的約束,并保證云資源的效率和公平度。
通過自適應終端進行調度的方法,如Fastpassp則提出使用完全中心式的調度器負責計算數(shù)據(jù)包進入網(wǎng)絡的時間和傳輸路徑[22];采用基于令牌的方式pHost[23]和基于令牌的流調度機制QJump[24],在發(fā)送端和接收端之間為流傳遞令牌,獲得令牌的流可以得到一個傳輸窗口,小流優(yōu)先得到令牌以減少平均完成時間。上述方法均沒有考慮服務質量的問題。
在流量大小高度復雜的數(shù)據(jù)中心網(wǎng)絡(DCN)中,傳統(tǒng)觀點認為對每個單獨的流進行調度[25-26]。Abbasloo等人[27]提出,考慮調度延遲(包括調度程序的計算和通信延遲),僅以先到先服務的方式為大多數(shù)流提供服務,而無需進行任何調度,就可以顯著提高其性能。
鑒于網(wǎng)絡流量的不可預知性,從多維角度衡量目前多樣化服務的質量并保證高質量的終端用戶體驗至關重要。以上方案沒有針對性地對不同網(wǎng)絡流調度,采用單一策略調度所有網(wǎng)絡流,可能使用戶服務網(wǎng)絡流與非時間敏感的非服務網(wǎng)絡流一同被調度,影響用戶的服務質量。為了提高網(wǎng)絡的質量,同時保證服務業(yè)務不被干擾,本文對數(shù)據(jù)中心內部存在的網(wǎng)絡流加以區(qū)分,提高用戶服務網(wǎng)絡流的優(yōu)先級,在網(wǎng)絡狀態(tài)無法滿足服務等級協(xié)議時,優(yōu)先保證用戶的云服務需求。
本章首先介紹服務滿足度這一概念,同時提供一種將網(wǎng)絡流依據(jù)其支撐業(yè)務的不同進行分類的方法,最后基于服務滿足度和流量分類,設計一種基于滿足度的服務端非服務網(wǎng)絡流主動避讓方法,在高負載的情況下滿足用戶服務的質量要求。
服務滿足度是判定當前數(shù)據(jù)中心網(wǎng)絡能否滿足服務需要的判定標準,也是動態(tài)調整數(shù)據(jù)中心負載的依據(jù)。定義服務滿足度為SSD(Service Satisfied Degree),該值是一個取值為[0,1]的正實數(shù),假設當SSD=1 時,當前網(wǎng)絡狀態(tài)滿足服務需要;0 ≤SSD<1 時意味著當前網(wǎng)絡未能滿足服務業(yè)務的需要,應該進行一定的干預避免違背SLA;SSD 越接近0,表示網(wǎng)絡越難滿足服務,在本文中令SSD∈[0,1]。思科白皮書中雖然給出了未來東西流量和南北流量的趨勢,但是由于提供不同服務的數(shù)據(jù)中心對這兩種流量的要求不盡相同,如提供大數(shù)據(jù)計算(如Hadoop、MapReduce框架)的數(shù)據(jù)中心更注重東西流量中的網(wǎng)絡性能以更快完成任務,而對承擔即時通訊等業(yè)務的數(shù)據(jù)中心更關注南北流量中網(wǎng)絡流的性能。因此將數(shù)據(jù)中心網(wǎng)絡的服務滿足度拆分為兩部分,一部分為東西流量中服務的滿足度,另一部分為南北流量中服務的滿足度,并分別為兩個滿足度設置不同的權重,南北流量/東西流量中的服務滿足度用NSSSD和WESSD表示,并分別為其賦予權重NSweight和WEweight,即數(shù)據(jù)中心的服務滿足度為流量中服務的權重與滿足度乘積的和:
東西流量或南北流量中存在數(shù)個網(wǎng)絡流,這些網(wǎng)絡流分別支撐一個或多個具體業(yè)務,考慮為每個業(yè)務分配不同的權重,則東西流量或南北流量的服務滿足度為:
值得注意的是,多樣化的云服務對網(wǎng)絡性能有不同要求,一些業(yè)務可能同時對多個網(wǎng)絡參數(shù)均有要求,例如同時要求較低的網(wǎng)絡時延和較大的網(wǎng)絡吞吐量。因此對于每個應用來說,其SSD 需要進一步計算,設網(wǎng)絡參數(shù)為nf,共有i個nfi分別代表網(wǎng)絡時延、吞吐量、抖動等多個參數(shù),且對網(wǎng)絡參數(shù)的敏感度各不相同,給不同nfi賦予不同的權重fwi。則應用SSD公式如下:
相關研究有很多關注網(wǎng)絡流本身的特性,例如以網(wǎng)絡流的大小將其分為大象流和老鼠流,抑或是考慮網(wǎng)絡流的源端和目的端將流量分為東西流量和南北流量,還有基于網(wǎng)絡流存在的柵欄效應[28],云服務提供商關注數(shù)據(jù)中心的能耗和效率,對于云服務客戶而言,更關注其使用的云服務能否滿足其需要,是否符合簽訂的服務等級協(xié)議(SLA)。
數(shù)據(jù)中心網(wǎng)絡中存在數(shù)個源端到目的端的網(wǎng)絡流,具體的業(yè)務需要數(shù)個網(wǎng)絡流的支撐才能完成,因此將網(wǎng)絡流依據(jù)其支撐業(yè)務的不同分成三類,如圖1所示。
圖1 網(wǎng)絡流根據(jù)支撐的業(yè)務分類Fig.1 Classification of network flow based on supporting business
第一類集合包含由服務業(yè)務產生的網(wǎng)絡流,支撐數(shù)據(jù)中心提供的計算、存儲等具體業(yè)務,該類任務是用戶服務請求,包括大規(guī)模云計算、云存儲,例如Hadoop、Spark 等分布式應用服務以及WEB、郵件、視頻流等傳統(tǒng)業(yè)務。盡管該集合中的流量大多數(shù)存在于東西流量(數(shù)據(jù)中心內部),但是與南北流量中用戶流量要求一致,有嚴格的時間和可靠性要求,為保證服務質量,本類網(wǎng)絡流不能進行調度,定義本類流量支撐的業(yè)務為服務業(yè)務。
第二類集合包含數(shù)據(jù)中心必要的流量,如支撐整個數(shù)據(jù)中心的軟件體系、備份等網(wǎng)絡流,該類流量是云服務提供商提供可靠云服務必不可少的流量,暫?;蛘{整該類網(wǎng)絡流可能導致難以回滾的結果,因此不能對本類網(wǎng)絡流進行調度,定義該類網(wǎng)絡流支撐的業(yè)務為固定業(yè)務。
第三類集合包含對時間、可靠性等沒有嚴格要求的網(wǎng)絡流,例如為了提高服務器的利用率對虛擬機進行重新部署遷移,但虛擬機遷移相關研究更多考慮服務器CPU、內存等設備的利用率,沒有足夠關注當前的網(wǎng)絡狀態(tài),可以對該類業(yè)務進行適當?shù)难雍笠越档途W(wǎng)絡負載,避免網(wǎng)絡流的沖突造成長時間網(wǎng)絡擁塞。定義該類網(wǎng)絡流支撐的業(yè)務為彈性業(yè)務,即非服務業(yè)務。
鑒于網(wǎng)絡流的突發(fā)性和不可預測性,本文提出基于當前服務滿足度,動態(tài)調整彈性業(yè)務網(wǎng)絡負載的方法,在服務業(yè)務激增時,減少彈性業(yè)務的效率,避開服務業(yè)務的激增波峰,待服務業(yè)務趨于平緩后再恢復彈性業(yè)務,并且根據(jù)不同的服務滿足度,給出不同的彈性業(yè)務調整策略。算法1主動避讓方法預設兩種調度策略(第1、2行),調度策略可以使用不同的分布,例如通過均勻分布或分段函數(shù)等來處理動態(tài)調整量,在數(shù)據(jù)中心網(wǎng)絡運行時,動態(tài)獲取網(wǎng)絡的實時狀態(tài)(第4 行),分析當前存在的服務業(yè)務并根據(jù)公式(1)計算服務滿足度(第5、6行),如果當前網(wǎng)絡不滿足服務需求,即服務滿足度小于等于1,則依據(jù)服務滿足度,動態(tài)調整彈性業(yè)務的發(fā)包速率/發(fā)包大?。ǖ?、8行);若服務滿足度為0,則暫停彈性業(yè)務發(fā)送速率(第9、10行),降低網(wǎng)絡負載,使得當前網(wǎng)絡負載降低,達到擁塞控制的目的。
算法1主動避讓方法
本文使用OPNET 平臺進行仿真實驗,在Windows 10 中部署VMware? Workstation 15 Pro,虛擬機配置及實驗環(huán)境部署如表1所示。
表1 虛擬機配置Table 1 VM configuration
本文使用葉脊拓撲網(wǎng)絡模擬網(wǎng)絡數(shù)據(jù)中心,使用2個脊交換機和5 個葉交換機組成,如圖2 所示。其中1個葉交換機連接用戶端,作為數(shù)據(jù)中心流量的出口,其余4個葉交換機連接服務器。為加快仿真速度,實驗中固定業(yè)務以基于統(tǒng)計的數(shù)學建模方法使用背景流量來代替,彈性業(yè)務和用戶業(yè)務以基于包的分析方法做離散仿真。
圖2 實驗的網(wǎng)絡拓撲設計Fig.2 Network topology design of experiments
實驗分為兩個部分:一是在OPNET 中設計新的應用模型實現(xiàn)主動避讓方法;二是在數(shù)據(jù)中心網(wǎng)絡中驗證主動避讓方法的性能。
首先在OPNET中設計新的應用模型。分別設計一個彈性應用和一個服務應用代表對應的業(yè)務,將服務應用模型的端到端時延作為衡量其服務滿足度的唯一網(wǎng)絡參數(shù)。為加快仿真速度,簡化彈性應用的調整策略,設計端到端時延處于36 ms 到100 ms 之間[13]時,彈性應用負載減半。為驗證設計應用的有效,設計實驗場景baseline,在節(jié)點user與server之間部署服務應用,server與server之間部署彈性應用,并在節(jié)點間和鏈路間部署背景流量以模擬固定業(yè)務,仿真時間設置為1 000 s。
設計場景baseline2,數(shù)據(jù)中心網(wǎng)絡采用葉脊結構[29],場景包括2 個脊(Spine)路由交換機,5 個葉(Leaf)路由交換機,每個葉節(jié)點部署20 個終端節(jié)點,其中1 個葉節(jié)點(User)相連20 個終端視為用戶,其余4 個葉節(jié)點(Server)相連的80 個終端視為服務器,節(jié)點間使用1000baseX鏈路模型相連。
為模擬數(shù)據(jù)中心網(wǎng)絡處于高負載的情形下,設置鏈路背景流量,在服務器之間部署標準應用作為固定業(yè)務,所有用戶到服務器設置服務應用,服務器之間部署彈性業(yè)務。對比實驗將彈性業(yè)務設置為與服務業(yè)務,即不調整彈性業(yè)務,仿真時間設置為1 000 s。設置對照實驗duibi_2,將baseline2 中服務應用替換為彈性應用,即不使用主動避讓方法。采用主動避讓方法的曲線為藍色,對照實驗為紅色。
圖3實驗結果曲線分別為端到端時延、彈性業(yè)務發(fā)送量和交付率。圖中可以看出,服務應用基本上達到100%交付,在100 s 前后服務應用時延第一次超過36 ms,彈性應用此時未達峰值便開始減少網(wǎng)絡發(fā)送量;在仿真時間300 s 到500 s 和700 s 到900 s 之間時,時延在36 ms浮動,彈性業(yè)務達到設計峰值1 MB/s。實驗結果證明主動避讓方法可行。
圖3 主動避讓方法可行性驗證Fig.3 Feasibility verification of active avoidance method
圖4 中服務應用交付率基本達到100%,而對照組只有約60%。
圖4 服務交付率Fig.4 Service delivery rate
圖5中服務應用時延實驗組比對照組更為穩(wěn)定,且有更低的平均值,大致分布在100 ms之內。
圖5 端到端時延對比圖Fig.5 End-to-end delay comparison chart
圖6 服務應用抖動實驗組范圍更小,基本不超過0.02 s,對照組則隨著網(wǎng)絡性能的下降抖動不斷增加,最高達到0.08 s??梢钥闯?,采用TAM更能保證服務滿足度,提高服務質量。
圖6 抖動對比圖Fig.6 Jitter comparison chart
如圖7,通過實驗組和對照組的結果可以看出,實驗進行到最后時實驗組相比于對照組,全局網(wǎng)絡時延降低20%左右,大約降低為0.17 ms,證實主動避讓方法對降低數(shù)據(jù)中心網(wǎng)絡整體延遲,提高網(wǎng)絡性能也有一定的作用。
圖7 數(shù)據(jù)中心整體時延Fig.7 Data center company for delay
實驗結果表示,網(wǎng)絡負載激增服務滿足度降低時,主動避讓方法動態(tài)調整彈性業(yè)務以緩和擁塞趨勢,保證服務業(yè)務優(yōu)先傳輸;待服務業(yè)務趨于平緩時恢復彈性業(yè)務。相比于對照組網(wǎng)絡,主動避讓方法可以有效保證服務類業(yè)務的可靠交付,降低抖動幅度,對網(wǎng)絡整體性能也有一定的提高。
針對提高網(wǎng)絡資源利用率和保證服務質量等問題,提出基于服務滿足度對非服務流量調度的主動避讓方法,其主要特征如下:一是引入服務滿足度概念,衡量當前網(wǎng)絡是否符合服務等級協(xié)議,能否滿足用戶服務的需要,將其作為是否進行調度的依據(jù);二是依據(jù)網(wǎng)絡流所支撐的不同業(yè)務,將數(shù)據(jù)中心網(wǎng)絡中的網(wǎng)絡流劃分成三類,只對彈性業(yè)務對應的網(wǎng)絡流進行調度,保護服務類網(wǎng)絡流,提高用戶服務質量;三是在數(shù)據(jù)中心網(wǎng)絡高負載情況下服務業(yè)務激增、網(wǎng)絡無法滿足用戶服務需要時依據(jù)服務業(yè)務滿足度,動態(tài)調整彈性業(yè)務負載,緩解即將發(fā)生的網(wǎng)絡擁塞。仿真實驗結果表明,該方法能夠緩解網(wǎng)絡擁塞,降低抖動,保證服務質量滿足服務等級協(xié)議,對提高整個數(shù)據(jù)中心網(wǎng)絡性能也有一定作用。
當前使用仿真實驗驗證,未來工作可以依托OPNET平臺,將實際數(shù)據(jù)中心網(wǎng)絡接入到平臺中,采用真實的網(wǎng)絡拓撲結構和網(wǎng)絡流測試TAM方法的實際性能。