李 丹 ,劉方明 ,郭得科 ,何 源 ,黃小猛
(1.清華大學 北京 100084;2.華中科技大學 武漢 430074)
現代社會信息量的爆炸式增長、資源復用技術的成熟和寬帶網絡的普及,共同促進了云計算的誕生和發展。以亞馬遜公司的EC2、谷歌公司的AppEngine和微軟公司的Windows Azure等為代表的云計算服務已經得到初步商用,使得云計算逐漸成為人們按需使用軟硬件資源和進行大數據深度挖掘處理的新型計算模式。據統計,2011年全球云計算服務規模約為900億美元。我國當前還處于云計算發展初期,但發展速度迅猛。工業和信息化部電信研究院2011年4月發布的《云計算白皮書》顯示,雖然我國云計算服務的總體規模目前僅占全球市場的4%左右,但年增幅達到40%,未來潛力巨大。隨著大數據時代的來臨,作為大數據處理的重要技術手段,云計算的發展空間將更加廣闊。
數據中心是云計算的核心基礎設施。谷歌公司早在2006年年底就在全世界建造了能容納超過46萬臺服務器的分布式數據中心。Facebook公司于2011年4月對外展示了其建造在俄勒岡的數據中心,其擁有數以萬計的服務器,并在節能減排方面進行了示范。當前我國各地方政府積極建造數據中心以促成云計算產業落地,如呼和浩特云計算產業基地、南京軟件開發云平臺、鎮江“云神”工程、無錫“云谷”等。中國電信、中國移動、中國聯通等電信運營商,都在積極利用其IDC打造云計算戰略。以百度、阿里巴巴、騰訊等為代表的互聯網企業,也在大力發展云數據中心,以提供更好的云計算服務。
數據中心網絡在云計算基礎設施中具有關鍵地位。云數據中心網絡是連接數據中心大規模服務器的橋梁,也是承載網絡化計算和網絡化存儲的基礎。云計算的核心價值在于大數據的集中處理和資源的統計復用。由于大規模云計算任務往往伴隨著服務器之間的海量數據交互,數據中心網絡性能的高低決定了云計算的服務質量。同時,由于網絡資源天然存在的共享特性,如何讓云計算用戶實現安全而公平的網絡訪問,也是關系到云計算用戶體驗的重要因素。當前的主流云計算提供商都積極探索面向云數據中心網絡的創新技術以提高云計算的服務質量。
隨著云計算服務得到初步商用,云數據中心網絡研究已經成為學術界和工業界共同關注的焦點領域,也是國家戰略性新興產業和重大基礎設施建設的重要發展方向。云計算的可持續發展需求使得云數據中心網絡面臨著一系列重要科學理論與技術挑戰。
(1)如何創建可定制的云數據中心網絡基礎設施,滿足靈活多樣的云計算應用需求?
云數據中心提供不同類型的云計算服務。公有云數據中心一般提供硬件或軟件資源的租賃服務,私有云數據中心運行公司或部門內部所特有的網絡業務,而混合云數據中心運行的業務類型更加靈活多樣。比如,谷歌公司的云數據中心既提供前端面向用戶的搜索服務,又運行后端的海量網頁數據分析和挖掘任務。已有研究表明,由于當前的云計算任務往往伴隨著服務器之間密集的數據交互,網絡資源已經成為影響云計算服務質量的瓶頸資源。為了提高云計算的服務質量,非常有必要針對不同的應用需求對網絡功能進行靈活配置。而云數據中心網絡流量不可預測、網絡設備可靠性低等環境特征,也對網絡的可動態配置功能提出了需求。在主要應用于廣域網的傳統網絡架構中,數據轉發設備基于專用硬件芯片,因而可編程性很差;而控制協議都與數據轉發設備綁定,難以快速配置靈活的網絡功能。云數據中心網絡的應用需求和環境特征,都為傳統網絡架構提出了嚴峻的挑戰。
(2)如何優化云數據中心網絡的資源利用率,提高云計算性能和服務質量?
云計算的核心價值之一在于資源的統計復用。在給定硬件設施條件下,盡可能通過軟件技術來優化云數據中心網絡資源利用率,既是云計算模式的內在技術需求,也是提高云計算性能和用戶體驗的外在需求。與傳統的廣域網環境相比,云數據中心網絡環境具有流量不可預測、端到端帶寬極高、端到端時延極低等不同的特點。已有研究表明,傳統的網絡協議(如路由協議OSPF)在鏈路資源密集的云數據中心網絡環境下,不但無法充分利用鏈路資源,而且收斂速度極慢,難以滿足云計算任務的高速數據傳輸需求;而在廣域網上得到成功應用的數據傳輸協議TCP在云數據中心網絡的高帶寬環境下的運行效率也非常低,TCP incast問題甚至會使得網絡帶寬利用率低于10%,被稱為“吞吐率坍塌”現象。
首席科學家
李丹男,清華大學計算機科學與技術系副教授,ACM、IEEE、CCF會員。2007年從清華大學獲得博士學位,主要從事計算機網絡方面的研究工作。在ACM SIGCOMM、IEEE INFOCOM、IEEE ICNP、IEEE/ACM Transactions on Networking、IEEE Journal on Selected Areas in Communications、IEEE Transactions on Computers、IEEE Transactions on Paralleland Distributed Systems等網絡領域著名會議和期刊上發表論文 40余篇。擔任國際期刊IEEE Transactions on Computers編委、IEEE LANMAN 2014程序委員會主席、IEEE LANMAN 2015大會主席、IEEE ICNP 2013 Poster/Demo程序委員會主席、IEEE INFOCOM 2010-2014程序委員會委員、國家重點基礎研究發展計劃(“973”計劃)青年科學家專題 “軟件定義的云數據中心網絡基礎理論和關鍵技術”項目首席科學家。
(3)如何解決云數據中心網絡的多租戶資源競爭,提供公平而且安全的云計算服務?
云計算環境下,多租戶共同使用云數據中心的硬件資源完成計算任務,因此租戶之間的資源安全隔離非常重要。虛擬化是當前實現云數據中心資源隔離的重要技術手段。通過計算虛擬化(虛擬機)技術,云計算租戶可以實現計算資源的隔離和復用。通過存儲虛擬化技術,既可以讓用戶使用海量的存儲空間,又能保障用戶數據的備份和安全。隨著計算虛擬化和存儲虛擬化技術的成熟,按需使用、按需付費的理念正在變成現實,并將成為未來人們使用云計算的主要方式。而當用戶需要使用多個虛擬機時,虛擬機之間需要進行網絡互聯和通信,并組成了虛擬云數據中心網絡。網絡資源的天然共享特性,使得不同租戶之間還將競爭網絡帶寬。由于網絡虛擬化技術發展非常緩慢,在當前云計算服務商的云計算平臺中,租戶之間采用“盡力而為”的方式共享網絡資源,每個租戶得到的網絡帶寬不可預測,并存在流量泄露問題,嚴重影響了用戶的云計算服務體驗。
(4)如何降低云數據中心網絡的巨額能耗,建設綠色數據中心?
云數據中心規模的不斷增長導致了巨大的能耗開銷,帶來了巨額運維成本和環境問題,引起了學術界和工業界的高度重視。據工業和信息化部領導下的“云計算發展與政策論壇”發布的《數據中心能效測評指南》報告,2011年我國數據中心總耗電量達到700億千瓦時,數據中心能耗占全國能源耗電總量的5%。國內數據中心目前的PUE值(數據中心消耗的所有能源與IT負載消耗的能源之比)普遍高于2.0,而歐美發達國家的PUE值大多在1.3左右甚至更低,因此我國當前數據中心的能耗浪費非常嚴重。未來5年我國云數據中心的流量處理需求將增長7~10倍,數據中心的能耗問題面臨更加嚴峻的挑戰。因此,如何對云數據中心網絡進行有效的能耗管理、提高能源利用率、降低巨額能耗,具有重要的經濟效益和社會影響,成為建設綠色數據中心迫切需要解決的問題。
以上4點是當前云數據中心網絡所面臨的主要問題。針對這4點,本項目提出利用近年來受到廣泛關注的軟件定義網絡(software defined networking,SDN)來解決這些問題。
SDN是近年來涌現的新興網絡技術。SDN的核心思想主要有兩點:第一,提高硬件平臺的可編程性,可以快速實現新型網絡功能的配置,滿足靈活多變的應用需求;第二,將網絡控制層面與數據轉發層面分離,把軟件控制功能放到網絡管理器上,從而提高了網絡的管理控制能力。對于SDN技術是否可應用于廣域網環境,目前學術界和工業界還存在不少爭議,但一般認為云數據中心網絡是SDN技術的理想應用環境。創建軟件定義的可定制云數據中心網絡基礎設施,是提高網絡性能、實現多租戶網絡共享以及控制網絡能耗的基本保障。美國斯坦福大學提出的OpenFlow協議是當前最具代表性的SDN協議。然而由于OpenFlow協議存在數據轉發流程過于復雜、轉發設備處理功能非常有限等問題,當前學術界正在積極探索其他可能的SDN架構。如何設計支持可軟件編程網絡節點和可擴展控制器的軟件定義網絡框架,并基于此框架實現云數據中心網絡的大規模橫向擴展,是本項目需要首先解決的重要挑戰。
項目簡介
“973”計劃青年科學家專題“軟件定義的云數據中心網絡基礎理論與關鍵技術”項目主要研究云數據中心環境下網絡設計的科學規律與技術原理,探索軟件定義的云數據中心網絡架構,圍繞“軟件定義的云數據中心網絡架構設計”、“云數據中心網絡資源利用率優化”、“云數據中心網絡多租戶資源管理”和“云數據中心網絡能耗協同控制”4個關鍵科學問題,為新一代云計算和互聯網基礎設施建設提供基礎理論依據和關鍵技術支撐,推動網絡技術、計算技術、數據科學等相關學科交叉融合發展,為我國戰略性新興產業發展提供具有自主知識產權的核心技術。由于融合了云計算、下一代互聯網、大數據等領域的研究范疇,軟件定義的云數據中心網絡研究將促進我國新一代云計算及互聯網基礎設施建設和關鍵技術研發,對我國在國際新一輪信息技術革命浪潮中占據領先地位有非常重要的影響。
在軟件定義的可定制網絡框架下,如何設計新型路由和傳輸協議,以提高云數據中心網絡的資源利用率并進而提升云計算的性能,是本項目需要解決的重要問題。軟件定義的可定制網絡架構,為網絡資源、計算資源和存儲資源的聯合優化提供了新的發展機會。分布式網絡系統的整體性能往往取決于不同子系統的資源耦合程度。由于軟件定義的可定制網絡架構將網絡控制功能從網絡轉發設備中分離出來,可以通過網絡控制器與計算系統控制器、存儲系統控制器之間的信息交互,更好地感知應用需求和數據存儲狀況,并且對不同類型的資源進行協同控制,進一步提升資源利用率和云服務質量。因此,如何通過軟件定義網絡技術對網絡、計算和存儲資源進行聯合優化,也是本項目面臨的關鍵挑戰。
在軟件定義的可定制網絡中,可以通過網絡控制器維護全局網絡拓撲信息、云租戶的身份和位置信息、租戶的資源占用信息等,為實現云數據中心網絡的虛擬化管理提供靈活的控制平臺。但多租戶參與資源競爭的網絡環境下,如何處理不同租戶可能配置相同的IP地址或MAC地址的問題、如何保證每個租戶的流量不泄露到其他網絡、如何實現虛擬數據中心網絡中高效率的虛擬機遷移、如何保障每個租戶在共享網絡中得到公平的帶寬分配,這些都是本項目需要重點解決的問題。
由于硬件節能技術發展緩慢且受物理工藝極限的限制,而云數據中心網絡流量呈現較大的隨時間波動的特點,因此可以通過軟件方式對云數據中心網絡進行能耗感知的流量聚合,從而使更多的節點處于空閑狀態并休眠,以達到降低能耗的目的。在軟件定義的可定制網絡框架下,網絡控制器可以通過帶外(out-of-band)方式獲取云數據中心網絡的溫度和能耗信息、網絡流量信息等,并以軟件控制的方式進行流量整形 (traffic shaping)和聚合、網絡的節能流量工程、節點休眠和喚醒狀態轉換等自動能耗控制。本項目將重點研究在軟件定義的可定制網絡中,如何實時高效地感知網絡能耗信息、如何在不影響網絡性能和可靠性的前提下實現節能流量工程以及如何優化使用清潔新能源進一步降低云數據中心的碳排量等重要問題。
針對云數據中心網絡所面臨的重大挑戰,本項目確立了4個研究課題,分別是軟件定義的云數據中心網絡架構、云數據中心網絡資源利用率優化、云數據中心網絡多租戶資源管理和云數據中心網絡能耗協同控制。這4個課題的邏輯關系如圖1所示。

圖1 邏輯關系
學術團隊
“973”計劃青年科學家專題“軟件定義的云數據中心網絡基礎理論與關鍵技術”項目由清華大學和華中科技大學共同承擔。主要參與項目人員有:李丹(清華大學副教授、項目首席科學家)、劉方明(華中科技大學副教授)、郭得科(華中科技大學副教授)、何源(清華大學副研究員)和黃小猛(清華大學副教授)。
下面分別對這4個研究課題進行介紹。
復雜多樣的云計算應用,要求云數據中心網絡提供靈活可配置的網絡功能。現有的數據轉發設備采用專用硬件芯片,可編程性很差;而且控制協議與數據轉發設備綁定,不具有開放性和靈活性。這些因素導致傳統的云數據中心網絡架構只能提供種類有限且提前預設的網絡功能,難以按需定制并快速配置靈活的網絡功能。為此,本項目研究軟件定義的云數據中心網絡架構,使得數據中心在部署之后,其網絡功能和系統規模仍可按需定制和擴展。主要研究內容如下。
(1)軟件定義的云數據中心網絡基礎架構模型
研究以可軟件編程網絡節點和可擴展網絡控制器為核心的新型軟件定義網絡基礎架構,在數據層面實現高速靈活的數據流定制處理功能,在控制層面實現計算、存儲、網絡資源的協同控制,滿足云計算應用的特定網絡控制需求。
(2)可軟件編程的網絡節點體系
研究通用計算單元輔助的可軟件編程網絡節點體系架構,實現網絡節點功能的自由定制和重配置,并在服務器端通過轉發芯片引入數據轉發功能。
(3)可擴展的軟件定義網絡控制器
研究在大規模數據中心通過軟件控制平臺實現網絡功能靈活定制所面臨的擴展性難題,通過分布式網絡控制器以及網絡節點和網絡控制器的協同工作,提高網絡控制器的擴展能力。
(4)云數據中心網絡拓撲橫向擴展方法
基于軟件可編程網絡節點及具有數據轉發功能的服務器節點,研究數據中心網絡拓撲的橫向擴展方法,實現服務器和網絡節點的漸進高效互聯。
4.1.1 軟件定義云數據中心網絡的設計原理與基礎架構
作為云計算的基礎設施,數據中心往往由獨立機構統一建設和運營。為了提高各類云服務的性能和收益,云計算提供商可根據應用需求定制網絡架構和協議,并對用戶自定義的網絡功能進行靈活的實現。作為當前最具代表性的軟件定義網絡協議,OpenFlow協議將網絡控制層面與數據轉發層面分離,通過一個集中式網絡控制器完成新數據流的轉發控制,而交換機僅依照網絡控制器的指令對數據流實施具體的轉發操作。OpenFlow協議在一定程度上能夠滿足對云數據中心網絡數據流進行轉發控制的需求。但OpenFlow協議僅能在網絡節點的硬件層面支持數據流簡單處理邏輯的重配置,難以支持很多應用在數據流傳輸過程中需要進行自定義深度處理(如數據流緩存、數據流網內處理等)的功能。
通過分析云數據中心網絡的應用需求和網絡環境特征,本項目擬研究軟件定義云數據中心網絡的設計原理,并提出支持可軟件編程網絡節點和可擴展控制器的軟件定義云數據中心網絡基礎架構,作為新一代云數據中心網絡管理和網絡創新的平臺。基本思路是設計可軟件編程的網絡節點,不僅滿足對數據流轉發控制邏輯的重配置,而且能通過引入通用計算單元在數據面實現用戶對數據流的定制分析處理。同時,設計可擴展性強的軟件定義網絡控制器,能夠和云數據中心計算系統控制器及存儲系統控制器協同工作。網絡控制器不僅需要對數據流從網絡資源管理和利用的角度進行轉發控制(例如路徑優化、負載均衡、安全機制),還需要具備對網絡、計算和存儲資源進行協同控制的能力,實現來自應用層的特定網絡控制需求。最后,針對云數據中心網絡節點的大規模擴展需求,研究如何基于軟件定義網絡基礎架構實現云數據中心網絡的大規模橫向擴展。
4.1.2 可軟件編程的云數據中心網絡節點
現代云數據中心為降低設備成本,往往采用商用低端服務器和交換機。但當前的數據中心交換機普遍采用單個交換集成電路,難以支持可定制的云數據中心網絡需求。首先,其轉發表容量太小導致難以對數據中心海量數據流進行細粒度的轉發控制,其稀缺的片上緩存也無法應對TCP incast等突發流量。其次,越來越多的云計算應用迫切要求對數據流在傳輸過程中進行靈活驚喜的處理(如數據流緩存、數據流網內處理等),但現有數據中心交換機僅能在硬件層面支持數據流簡單處理邏輯的重配置,無法響應用戶對數據流的自定義處理需求。
本項目研究通用計算單元輔助的可軟件編程網絡節點體系,使得網絡和計算資源更加緊密地聯系起來,并實現有效的網絡控制。其基本思想是基于已有的高速的PCI-E交換系統,采用計算能力強大的通用CPU和DRAM內存來輔助傳統的網絡節點,從而使CPU參與控制面和數據面的流量深度處理。該網絡節點體系能以軟件方式提供更大的轉發表容量,提供充足的數據流緩存空間以應對突發流量,并可借助CPU及DRAM內存對數據流在傳輸過程中實現用戶自定義的數據處理功能。
此外,考慮到網絡設備和計算設備呈現出融合發展的趨勢,本項目還研究如何將商用的交換ASIC部件集成到服務器的NIC板卡,并通過PCI-E交換系統實現交換部件和計算機CPU的高速互聯。這種設計為傳統服務器節點帶來了額外的網絡功能,使其可參與數據中心的互聯和數據轉發,擴展了云數據中心網絡互聯拓撲的設計空間。
4.1.3 可擴展的軟件定義網絡控制器
網絡控制器隨數據中心規模增長的擴展性問題,是制約軟件定義云數據中心網絡的主要性能瓶頸之一。由于單個網絡控制器有限的處理能力以及稀缺的可用安全控制信道難以對數量龐大且不斷增長的數據流實現按需轉發控制,本項目擬研究以協作方式管理網絡的可擴展控制器。
首先,由網絡節點根據掌握的局部網絡狀態協助網絡控制器完成大部分數據流的轉發控制,而網絡控制器僅對云計算應用特別關注的數據流制定轉發控制策略。這種協作機制可降低網絡控制器的負載,進而大幅提升單個網絡控制器的可擴展能力。依據云數據中心典型應用的數據流傳輸規律,網絡節點根據數據流的應用層語義將其發給網絡控制器,并由網絡控制器結合應用層對流量傳輸的控制需求(例如流量的協同傳輸和聚合等)制定相匹配的轉發控制策略。
其次,采用分而治之的思想研究分布式網絡控制器的協作機制,實現邏輯上集中而物理上分布的網絡控制器。結合云數據中心的互聯拓撲結構,研究多個網絡控制器在大規模數據中心的協同部署方法,并根據網絡流量的動態變化情況,探索網絡流量在多個網絡控制器之間的分配方法,使網絡控制器均衡地分擔流量轉發控制任務。
4.1.4 云數據中心網絡拓撲的橫向擴展方法
隨著用戶對計算和存儲服務需求的日益增長,云數據中心需要通過特定結構的網絡拓撲來互聯更多的網絡節點和服務器,以實現大規模橫向擴展。基于可軟件編程網絡節點和可擴展控制器的軟件定義網絡架構,為云數據中心網絡拓撲的橫向擴展提供了新的設計空間。
首先,具有數據轉發功能的服務器節點可直接參與網絡互連和路由,增強了以服務器為核心的云數據中心網絡橫向擴展架構。這類服務器都具有多個網絡接口,并在擴大網絡規模時用于服務器之間的互聯,以層次迭代方式實現網絡拓撲的橫向擴展。但由于在云數據中心規模擴展過程中,不同時期采購的服務器具有異構的硬件資源配置,不同服務器的軟硬件處理功能大不相同。本項目擬基于軟件定義網絡架構,研究如何靈活配置異構服務器的網絡轉發控制功能,充分利用服務器的硬件資源,提高網絡性能。
其次,基于可軟件編程的高密度網絡節點,可構造扁平化互聯結構來連接大量的網絡節點,形成以網絡節點為核心的數據中心網絡橫向擴展拓撲。需要研究在云數據中心的規模和網絡節點端口數給定時,每個網絡節點的端口分配使用策略,即預留多少端口用于網絡節點之間的級聯,而其他端口用于服務器的接入。由于云數據中心網絡中網絡節點和鏈路的故障率非常高,可以通過軟件定義網絡架構,實時感知網絡故障,并及時更新配置網絡節點的轉發控制功能,保障云數據中心網絡正常工作及網絡資源的充分利用。
為了提高云計算的性能和服務質量,需要在給定硬件資源條件下,通過軟件技術優化云數據中心網絡的資源利用率。在軟件定義的可定制網絡架構下,本項目研究云數據中心網絡的創新路由協議和傳輸協議,提高密集鏈路資源和高速帶寬資源的使用效率;通過對網絡、計算和存儲資源的聯合優化,進一步提升云計算性能。主要研究內容如下。
(1)云數據中心網絡多路徑路由協議
研究適用于鏈路資源高度冗余的云數據中心網絡的多路徑路由協議,由軟件控制器計算優化的路由路徑,充分利用云數據中心網絡的密集鏈路資源,提高云數據中心網絡鏈路的利用率。
(2)基于編碼的云數據中心網絡傳輸協議
研究基于編碼的網絡傳輸協議,避免TCP incast等問題導致的“吞吐率坍塌”現象,通過新型編碼方式確保數據傳輸的可靠性并提高帶寬資源利用率。
(3)網絡資源與計算資源的聯合優化
針對廣泛使用的分布式計算框架,研究大規模數據流的高效聚合方法,大幅降低分布式計算任務中間結果的傳輸量,提升網絡吞吐率和云計算任務的處理效率。
(4)網絡資源與存儲資源的聯合優化
研究基于云數據中心服務器泛在緩存的新型存儲系統,以軟件定義網絡架構下的新型內容路由方式,動態靈活地實現數據共享,減少數據訪問的平均網絡路徑長度并避免數據熱點,從而提高網絡吞吐率。
4.2.1 云數據中心網絡多路徑路由協議
云數據中心網絡的鏈路資源密集,任意兩個服務器或網絡節點之間可能存在幾十條甚至上百條不同的等價路徑,因此傳統的鏈路狀態路由協議(如OSPF)在云數據中心網絡中對鏈路資源的利用率極低。此外,由于云數據中心網絡規模大、鏈路時延低,傳統路由協議的收斂速度也無法滿足云數據中心網絡高速數據業務的需求。
本項目擬在軟件定義網絡架構下,研究云數據中心網絡多路徑路由協議。其基本思想是充分利用云數據中心網絡中鏈路密集、路徑冗余度高的特征,采用多條路徑同時傳輸一個數據流。以顯式路徑標識的方式配置路由表并進行路由轉發。網絡控制器實時感知網絡拓撲信息,根據所有鏈路可能的組合計算路由路徑,為每一條路徑顯式分配標識,并存儲在相應的網絡節點轉發表中。最大的挑戰在于云數據中心網絡鏈路資源密度高導致可能的路徑數量非常龐大,因此對網絡節點的存儲能力提出了很高的挑戰。但由于大量路徑具有冗余性,可以對基于顯式路徑標識的路由條目進行有效壓縮,還可以進一步利用布隆濾波器(bloom filter)等技術增強壓縮效果。
在基于顯式路徑標識的云數據中心網絡路由協議下,服務器發出的分組直接攜帶路徑標識信息,網絡節點根據路徑標識進行路由轉發,而無需檢查分組的目的地址,因此可以方便地進行多路徑路由。在可軟件編程的網絡節點上,可以對分組轉發字段及其轉發規則進行靈活的配置,因此很容易部署基于顯式路徑標識的路由協議。采用基于顯式路徑標識的多路徑路由方式,還有利于對網絡故障進行診斷和恢復,提高網絡的可管理性和可控性。
4.2.2 基于編碼的云數據中心網絡傳輸協議
由于云數據中心網絡的端到端帶寬非常高 (1 Gbit/s甚至10 Gbit/s以上)、而端到端時延非常低(微秒級別),已有研究表明,傳統的數據傳輸協議TCP在云數據中心網絡中的TCP incast問題會產生“吞吐率坍塌”現象,導致帶寬資源利用率降到10%以下。因此需要設計適用于云數據中心網絡的新型端到端傳輸協議,以提高云數據中心網絡帶寬資源利用率。
本項目擬研究基于編碼的云數據中心網絡傳輸協議。通過適度的數據冗余保證數據可靠傳輸,而不需要對丟失的分組進行重傳,因此可以有效避免“吞吐率坍塌”問題。已有的某些可刪除碼 (erasure code)技術如Reed-Solomon編碼,可以從任意恰好等于源數據大小的編碼數據中恢復出原始數據,而不引入額外帶寬,因此其帶來的數據冗余度非常低,但其挑戰在于較高的編解碼負擔。而數字噴泉編碼(digital fountain code)雖然會引入一些額外帶寬,但其編解碼的代價較小,而且編解碼操作比較簡單,只需要異或操作即可實現,通常可在線性時間內完成。針對軟件定義的網絡架構,本項目擬選擇數字噴泉編碼作為云數據中心中心網絡傳輸協議的編碼技術,適度引入數據冗余來實現高效率的端到端數據傳輸。
端到端傳輸協議必須考慮數據流之間的公平性。本項目擬借鑒TCP-friendly的技術思想來保障傳輸協議的公平性。目前已有的TCP-friendly方案中,按照其實現擁塞控制手段的不同,可以大致分為“基于窗口”和“基于速率”兩大類。前者借鑒TCP的思想,同樣使用一個擁塞窗口實現公平性。后者通過某種反饋機制獲取網絡的擁塞信息,并根據網絡的擁塞狀況實時地調整發送速率。某些方案通過模擬TCP窗口調整發送速率,而另一些方案則通過某種特定的模型調整發送速率。不管是基于窗口的擁塞控制機制,還是模擬TCP基于速率的擁塞控制機制,其實質與TCP一樣,都會造成典型的“鋸齒形”流量,不能有效利用云數據中心高速網絡帶寬。而基于模型的擁塞控制機制卻能得到較為平滑的速率變化,因此更適合云數據中心網絡中連續的大數據傳輸。因此,本項目將重點研究基于模型的端到端擁塞控制機制。
4.2.3 網絡與計算資源的聯合優化
云數據中心根據其支持的云計算應用需求,配置有多種計算框架以處理龐大的數據,如 MapReduce、Dryad、Pregel等。這些計算框架普遍采用流式計算模型,導致相鄰處理階段傳輸大量的中間計算結果,不僅消耗大量的網絡資源而且嚴重制約計算任務的總體完成時間。多對一(incast)通信和多對多(shuffle)通信是這些計算框架下最重要的流量傳輸模式,占據了云數據中心80%左右的流量。
incast通信的多數據流之間的相關性及其在共同接收方的聚合性,可為incast通信提供流量優化空間。聚合操作能大幅降低數據傳輸量,進而降低對稀缺帶寬資源的消耗。針對云數據中心網絡拓撲結構,本項目擬研究任意服務器之間的多徑路由方法,并據此通過網絡控制器實現基于協同傳輸的流量聚合。通過流量協同聚合,參與每個incast通信的看似獨立無關的單播數據流在其傳輸過程中都盡可能早地執行流間聚合操作,而不用等到接收方對全體數據流統一進行數據聚合操作。軟件定義網絡控制器可基于云數據中心網絡拓撲結構和任意的incast通信流量,構造傳輸代價最小的incast通信樹,并據此控制incast通信樹中承擔流量聚合的可軟件編程網絡節點為該incast通信實施流量聚合操作,實現網絡和計算資源的聯合優化。
4.2.4 網絡與存儲資源的聯合優化
云數據中心依賴分布式存儲系統如GFS/HDFS來管理大規模服務器的數據存儲。通常云數據中心包含數以萬計甚至十萬計的服務器,而在典型的分布式存儲系統中,一個文件只有3個副本。大部分情況下,客戶端請求的文件副本都存儲在較遠的服務器上。在橫向擴展的云數據中心網絡架構下,數據中心網絡拓撲都具備明顯的層次化特點。因此可以利用服務器的空閑磁盤空間,對讀取的數據進行緩存,大大增加每個文件的副本數量。這種泛在緩存的存儲系統優化方法,不但可以大大減小每個數據流的平均網絡路徑長度,還可以減少數據熱點,從而增大數據中心的網絡吞吐率,并提高分布式存儲系統的性能。在軟件定義網絡框架下,網絡控制器和存儲控制器可以進行有效的交互,從而實現高效的聯合優化,在不增加鏈路和帶寬資源的前提下,通過軟件實現網絡容量提升。
為了實現基于泛在緩存的分布式存儲系統優化,需要解決兩個問題:一是在服務器端提供緩存服務,二是在網絡節點上實現基于內容的路由轉發協議。本項目的初步思路如下。
在每個服務器上運行一個守護進程提供緩存服務。緩存服務作為中間層運行在應用程序和分布式存儲系統之間,并且對它們透明。每個緩存服務進程既負責為本地應用尋找距離最近的文件副本,也負責響應來自于其他服務器的數據請求。當應用程序向存儲系統發送數據請求后,本地緩存服務會中斷此請求,并嘗試從最近的緩存服務器獲取所需要的數據;如果無法找到這樣的緩存服務器,再從原始服務器獲取數據并返還給應用程序,同時在本地進行緩存。
可軟件編程的網絡節點利用橫向擴展云數據中心網絡拓撲的層次化結構特點,在不確定目的緩存服務器具體位置的情況下,通過自定義的內容控制協議把數據請求轉發到最近的緩存服務器,并更新網絡節點的內容轉發表。考慮到網絡節點的高速轉發表容量有限,不可能容納數據中心所有數據的內容轉發表項,因此還可以結合基于位置的轉發機制。當數據請求的內容不在內容轉發表中時,網絡節點根據請求數據的原始服務器地址進行路由轉發。
為了提供安全的云計算服務,必須對不同租戶的網絡資源進行有效隔離,避免流量泄露。基于軟件定義的可定制網絡,本項目研究“大二層”網絡的資源虛擬化隔離方案和虛擬機的智能遷移;進一步研究多租戶網絡資源的公平共享和合理計價,保障租戶的虛擬網絡性能。主要研究內容如下。
(1)軟件定義的虛擬云數據中心網絡隔離
研究在新型軟件定義網絡框架下,基于分組插入/刪除/改寫等操作來解決不同的云租戶可能使用空間重疊的二層地址的問題,避免不同虛擬網絡之間的流量泄露,并減少對數據中心網絡節點的轉發表容量需求。
(2)優化網絡整體開銷的虛擬機智能遷移策略
研究通過軟件控制器動態感知的數據中心網絡流量狀況,結合云數據中心虛擬網絡計算資源和帶寬資源的總體開銷,實現優化網絡開銷的虛擬機實時遷移。
(3)異構資源請求的多租戶網絡資源分配
研究實際云計算應用中用戶不同的虛擬機角色導致的異構資源請求的分配問題,通過網絡控制器實現通用網絡拓撲中的實時高效虛擬網絡資源分配。
(4)與資源分配解耦的虛擬網絡計價機制
(5)與資源分配方法無關的虛擬網絡公平計價機制
研究該機制,不但最小化租戶付出的費用,而且通過計價機制的激勵策略提高云數據中心資源利用率,進而提升數據中心運營商的總體收益。
4.3.1 軟件定義的云數據中心虛擬網絡隔離
云數據中心虛擬網絡隔離是實現云數據中心安全的重要手段。本項目擬研究軟件定義的虛擬網絡隔離技術,主要解決虛擬數據中心網絡的二層地址空間重疊、廣播報文的泄露以及網絡節點轉發表容量限制等問題。
本項目擬采用以下方案來實現云數據中心虛擬網絡隔離。
(1)源虛擬機所發出的分組中,把以太網頭部的VLAN字段復用為租戶ID,以解決相同物理主機上的不同用戶可能具有相同MAC地址的問題。由于VLAN具有12 bit,而同一物理服務器上所能容納的虛擬機數量遠小于4 096,因此VLAN字段足以對相同服務器上的不同租戶進行區分。出于安全考慮,一般不允許不同租戶之間進行互相通信,因此源虛擬機和目的虛擬機總是使用相同的租戶ID。
(2)通過入口網絡節點的MAC-in-MAC封裝,把用戶虛擬機的原始MAC地址封裝在分組頭內部,不用于二層網絡轉發。只用大二層網絡中的物理網絡節點的MAC地址進行分組轉發。據此,不但可以解決全網范圍內不同用戶的虛擬數據中心網絡可能具有相同MAC地址的問題,還大大減少了對網絡節點轉發表項容量的要求。
(3)把外層以太網頭部的VLAN字段復用為出口網絡節點的連接目的服務器的接口號,使得出口網絡節點在接收分組之后,可以正確地轉發給連接的目的物理主機。
軟件定義網絡控制器主要提供兩個功能。第一,根據內層以太網頭部的信息,映射得到外層以太網頭部的信息。網絡控制器維護全網拓撲以及每個租戶的虛擬機MAC地址和位置。因此很容易根據內層以太網頭部提供的租戶ID和目的MAC地址信息,得到內層以太網頭部需要的出口網絡節點及其轉發接口的信息。第二,根據外層以太網頭部的源MAC地址和目的MAC地址信息,靈活配置分組的轉發路徑,實現負載均衡,提高網絡資源利用率,并可以根據數據中心的安全策略需求,配置分組所需要經過的防火墻、IPS、IDS等安全設備。
擬設計的虛擬數據中心網絡隔離方案不需要修改服務器的網絡協議棧,而只需要對虛擬機進行適當修改。利用可軟件編程網絡節點具有靈活定義分組頭部格式,并根據分組頭部的不同字段進行靈活轉發的技術特點,實現虛擬網絡隔離并把分組成功傳送到目的服務器。對于廣播和多播報文,可以同樣實現虛擬網絡隔離,因為目的服務器會根據租戶ID信息把廣播或多播報文遞交給相應虛擬數據中心網絡的所有虛擬機,而不會泄露給其他租戶的虛擬數據中心網絡。
4.3.2 優化網絡整體開銷的虛擬機智能遷移策略
在云數據中心的大二層網絡中,虛擬機可以根據應用需求在用戶的虛擬數據中心網絡內部進行安全的遷移。當前云數據中心網絡的虛擬機遷移方案主要只考慮物理服務器上的虛擬機槽位使用情況。為了提高用戶的計算性能并減少數據中心運營商的網絡開銷,設計更加靈活智能的虛擬機遷移策略非常必要。
虛擬數據中心網絡的開銷包含計算資源開銷和帶寬開銷兩部分。為了設計優化虛擬數據中心網絡開銷的虛擬機遷移方案,需要網絡控制器能夠感知虛擬機之間的通信流量或帶寬需求。虛擬數據中心網絡的整體開銷優化不簡單等同于帶寬資源的優化,也與數據流的路由選擇有關系。特別對于彈性流,即帶寬是瓶頸資源而非計算速度的數據流來說,不同的路由選擇將會影響數據流的網絡吞吐率,從而進一步影響虛擬數據中心網絡的虛擬機占用時間,即計算資源的開銷。本項目擬首先分析虛擬網絡流量矩陣,建立模型并最小化虛擬網絡的傳輸流量;然后根據軟件定義網絡控制器維護的數據中心網絡拓撲來調整虛擬數據中心網絡的路由選擇,并優化網絡整體開銷。
虛擬數據中心往往運行數據密集型計算任務。為了結合計算應用的特點進行網絡開銷優化,可通過網絡控制器與計算控制器之間的信息交互,實現優化全局網絡開銷虛擬機的靈活智能遷移。該方案不需要改動已有的網絡控制器與計算控制器,而只需要增加額外的管理模塊,通過在協議棧中斷已有控制器的接口即可完成所需功能,因此有利于在云數據中心網絡中進行實際部署。網絡控制器可以根據服務器的負載狀況作出路由調整,計算控制器也可以根據網絡狀況變化來調整虛擬機的遷移方案。
4.3.3 異構資源請求的虛擬數據中心網絡資源分配
當租戶提交任務請求之后,云數據中心運營商需要為其分配虛擬數據中心網絡資源。當前的云數據中心網絡資源分配方式只考慮虛擬機數量和位置,而對網絡帶寬完全采用“盡力而為”的方式進行共享,因此造成租戶的網絡性能難以預期,嚴重影響云計算的服務質量。
本項目擬研究滿足網絡帶寬保障的虛擬數據中心網絡資源分配方法,尤其針對異構資源請求的情況。在實際的云計算任務中,由于租戶的虛擬機往往運行不同功能的應用程序,其資源需求具有異構特征。租戶提出請求后,運營商根據數據中心網絡的剩余資源分布情況來判斷請求是否可以得到滿足。如果可以得到滿足,該請求將被接受,并分配對應的虛擬機和網絡帶寬資源;若不可以得到滿足,運營商將拒絕租戶的請求。對于異構資源請求,虛擬機之間并不對等。因此不僅要關心為某個網絡節點分配的虛擬機數量,還需要具體指定分配哪些虛擬機。如果租戶的請求可以被滿足,還需要按照分配方式在鏈路上預留帶寬。
本項目擬考慮通過“任務時移”與“帶寬壓縮”的方法進行高效的云數據中心網絡資源分配。任務時移是指延遲任務的啟動時刻,其主要目的在于緩和任務需求的高峰。考慮到當前數據中心網絡負載呈現出晝夜變化規律,通過任務時移可以把白天到達的高負載計算任務轉移到夜晚運行。而帶寬壓縮的目的則是平衡虛擬機資源與網絡資源。帶寬壓縮不僅可以更好地利用數據中心網絡鏈路的碎片帶寬,同時也能使虛擬機的分配更加集中化,從而進一步節省帶寬資源。
4.3.4 與資源分配解耦的虛擬網絡計價機制
云數據中心運營商根據租戶使用的資源向其收取費用。當前云數據中心主要根據租戶實際使用虛擬機資源的數量和時間來進行計價,不但不考慮網絡資源,而且租戶付出的開銷取決于云數據中心運營商的資源分配算法,這并不合理。
本項目擬研究與資源分配解耦的虛擬網絡計價機制。租戶提交云計算應用請求之后,運營商即根據用戶所提交任務請求的虛擬網絡資源進行計價。因此,計價只取決于租戶提交的任務的特點,而與其在云數據中心網絡中的實際資源分配方法無關。通過這種計價方式,把收費機制與數據中心運營商的資源分配算法進行解耦。云數據中心運營商可以著力于改進資源分配算法并提高數據中心的資源利用率,從而接受更多的租戶請求;而租戶則在滿足服務需求的前提下,盡可能地提交能夠最小化開銷的虛擬資源請求。
考慮到云數據中心存在多種不同類型的資源,為了鼓勵租戶提交有助于提高數據中心資源利用率的任務請求,運營商還可以對有利于云數據中心資源分配的租戶請求提供計價折扣激勵。根據不同的資源類型組合,運營商期待租戶提交的任務描述形式也會不同。比如,運營商總是希望租戶所提交任務中的虛擬機資源與帶寬資源的比例正好與云數據中心網絡的虛擬機資源與帶寬資源的比例相匹配,因此可以最大化云數據中心資源的利用率。
為了大幅降低云數據中心網絡能耗并建設綠色數據中心,需要從多維度進行數據中心網絡能耗的協同控制。本項目在軟件定義網絡框架的基礎上,研究網絡能耗的實時感知方法,通過網絡控制器進行面向節能目標的流量工程控制,實現云數據中心的多能源優化。主要研究內容如下。
(1)基于傳感網的云數據中心網絡能耗感知
研究基于無線傳感網的云數據中心網絡能耗實時感知方法,并據此測算數據中心節點、局部網絡和全網的能耗狀態,為網絡控制器建立節能策略提供能耗信息依據。
(2)軟件控制的節能流量工程
研究在保障網絡可靠性和實時流量調度前提下,以軟件控制的方式實現節能流量工程,使盡可能多的網絡節點和鏈路進入低功耗狀態。
(3)應用感知的云數據中心網絡節能方法
協調單純以降低網絡傳輸開銷等為目標的應用層流量控制和單純以節能為目標的流量共層方案之間的潛在沖突,在實現應用層的流量傳輸控制策略的基礎上,最大化網絡層面的節能效果。
(4)面向清潔能源的云數據中心多能源優化方法
研究利用包括清潔能源在內的多種供能資源的互補優化方法,為具有動態能源需求的數據中心提供可靠能源,同時最小化云數據中心運營商的長期運維成本。
4.4.1 基于傳感網的云數據中心網絡能耗感知
對云數據中心的服務器和網絡節點進行能耗實時感知和反饋,既可以有效探測云數據中心的高能耗設備從而進行故障排除,還可以將數據中心的溫度(比如調節數據中心的空調)和能耗控制在最合適的范圍,保證云數據中心在不影響服務性能的前提下運行在功耗最低的狀態。云數據中心網絡設備的能耗感知信息可以以“帶外”方式接入云數據中心的網絡控制器,為通過軟件定義方式控制云數據中心網絡能耗提供了重要決策信息。
本項目擬研究基于無線傳感網的云數據中心網絡實時能耗感知方法,感知隨計算任務動態變化而不斷遷移的溫度熱點和高能耗點。首先將傳感網部署的優化算法與隨熱點遷移的自演化機制相結合,提出自演化的傳感網節點部署算法,對云數據中心網絡進行實時能耗感知。然后,針對能耗感知數據傳輸的實時性和可靠性要求,研究如何解決并發傳輸導致的信道沖突問題以及如何應對無線鏈路質量的動態性問題。
將無線傳感網感知的實時能耗信息進行收集之后,網絡控制器對能耗進行分析以提供實時反饋控制,保障云數據中心網絡在低功耗狀態下有效運行。本項目擬重點研究通過異常事件實時檢測方法進行過熱預警,保證各服務器不會因為過載導致數據和硬件損失;研究能耗精確估算方法,在收集感知數據的基礎上相對精確地測量和估計云數據中心網絡全局或局部的能耗,為建立精確的節能策略提供信息支撐。
4.4.2 軟件控制的節能流量工程
在軟件定義的可定制網絡框架下,網絡控制器在收集到的云數據中心網絡節點的溫度、能耗、網絡流量等信息基礎上,以軟件控制的方式實現節能流量工程,使盡可能多的空閑網絡節點和鏈路進入低功耗狀態。
本項目擬采用如下技術路線以實現軟件控制的云數據中心網絡節能流量工程。
(1)網絡控制器在數據中心網絡全局拓撲中抽象出一個覆蓋全部入口網絡節點和部分中轉網絡節點的節能拓撲。節能拓撲上所有節點和鏈路始終處于工作狀態,因此可以保證云數據中心所有服務器能夠通過節能拓撲實現互聯。網絡控制器以自定義控制的方式,將流量聚集到節能拓撲上,使盡可能多的節能拓撲以外的網絡節點和鏈路可以進入低功耗狀態。
(2)網絡控制器為云數據中心網絡每個網絡節點分別計算對應全局拓撲的到達目的主機的最短路徑、對應節能拓撲的到達出口網絡節點的節能路徑。
(3)云數據中心網絡節能拓撲上的每個網絡節點定期搜集節能拓撲鏈路的負載狀況并通過網絡通告網絡控制器,網絡控制器為每個入口網絡節點的新數據流從備選路徑中進行最小化網絡能耗的路徑選擇。
在此研究方案下,關鍵挑戰在于流量調度算法的設計。網絡控制器如何為入口網絡節點處的每條流選擇路徑(從備選路徑中進行選擇),將直接影響節能流量工程的整體節能效果。若網絡中數據流的數目為N,則所有可能的流調度方案總共有2N種。即使在已知全局流量矩陣的情況下,求解最優調度方案的時間復雜度也隨網絡規模呈指數增長。實際上云數據中心網絡的數據流數目多而且變化迅速,如何快速獲取精確的網絡流量矩陣同樣是一個較大的挑戰。為此,本項目擬進一步研究網絡控制器和入口網絡節點協同的節能流量工程機制,通過分布式機制在入口網絡節點處實現空閑鏈路帶寬分配和路徑切換機制。
4.4.3 應用感知的云數據中心網絡節能方法
軟件控制的節能流量工程機制雖然能夠降低云數據中心網絡內部流量傳輸導致的網絡層面的能耗開銷,但是由于網絡控制器不能獲知數據流的應用層控制語義,導致為數據流制定的節能轉發控制策略往往無法兼顧應用層的其他特殊考慮。為此,本項目擬進一步研究應用感知的云數據中心網絡節能機制,以實現在應用層流量傳輸控制的基礎上降低數據中心網絡設備層面的能耗。
為了實現計算和網絡性能優化,往往要求對云數據中心網絡某些應用的數據流進行特定的路由選擇和聚合處理,特別是多對一的incast通信和多對多的shuffle通信。網絡控制器通過與計算控制器的交互,獲取應用層的流量路由選擇策略。在滿足應用層計算性能和特殊流量聚合要求的前提下,網絡控制器再從網絡節能層面設計最小化網絡能耗的流量轉發控制策略,并配置到網絡節點。該機制的主要研究挑戰在于如何實現既滿足應用層語義的流量性能又滿足網絡層節能需求的多目標優化。
4.4.4 面向清潔能源的云數據中心多能源優化方法
為了降低能耗并建設綠色云數據中心,運營商通常會為云數據中心供能系統配備多種類型的能源,包括價格隨時間波動的電網、有限容量的不間斷儲能電源、具有間歇性且由不穩定電力供應的清潔新能源等。多能源供應系統的主要挑戰在于如何以一種優化互補的方式利用多種供能資源,為具有動態需求的云數據中心用戶提供可靠能源,同時最小化云數據中心運營商的長期運維開銷。
云數據中心的負載變化可能不符合任何穩態分布,導致云數據中心的能源需求動態隨機變化。此外,新能源供電量的不可預測性增加了能源總體供應的不穩定性。這使得傳統的優化模型和算法,如動態規劃或者馬爾可夫決策過程,需要大量的關于能耗需求和能量供應的信息或者分布概率,而且其復雜度會隨著系統變量的維數增加而呈指數級增長。因此,為了設計不需要預測系統信息的在線控制方案,本項目擬運用兩階段李雅普諾夫優化技術最優化框架,設計一種實用的并可證明有效的在線云數據中心供能系統控制方案。該方案不需要預先獲得系統負載、電價和新能源可用電量等數據信息,以一種多源供能互補協作的方式應對隨機變化的能耗需求、不穩定的新能源供應和波動的電價。
軟件定義網絡由于自身方便編程配置、易于管理控制等特點,應用于云數據中心可以解決現有云數據中心網絡中存在的體系結構僵化、網絡資源利用率低、多用戶網絡資源分配不均、網絡中心能耗過高等問題,是未來云數據中心網絡發展的主要方向。由于融合了云計算、下一代互聯網、大數據等領域的研究范疇,云數據中心網絡技術發展符合我國科技發展的重大戰略需求,并將成為我國戰略性新興產業的重要發展方向之一。