


DOI:10.19850/j.cnki.2096-4706.2021.08.019
摘? 要:數據中心承擔著現代社會的信息服務,然而當前基于傳統網卡的數據中心面臨著嚴重的性能瓶頸,難以適應高效數據傳輸處理需求。通過結合以服務器為中心的數據中心網絡和多端口智能網卡的優點,提出了基于多端口智能網卡的數據中心網絡MPS-DCN架構設計,并以MPS-Cube為例介紹其構造和路由過程。該類網絡設計能夠充分利用多端口智能網卡的可編程性,實現智能化的網絡協議處理和網絡功能卸載,從而提升網絡吞吐量。
關鍵詞:智能網卡;數據中心網絡;可編程性;網絡協議
中圖分類號:TP308? ? ? 文獻標識碼:A 文章編號:2096-4706(2021)08-0064-04
Research on Data Center Network Design Based on Server Multiport Intelligent Network Interface Controller
FENG Pei
(Xian Kedagaoxin University,Xian? 710109,China)
Abstract:Data center undertakes the information service of modern society. However,the current data centers based on the traditional network interface controller are facing serious performance bottleneck,which is difficult to meet the needs of efficient data transmission and processing. By combining the advantages of server centered data center network and multiport intelligent network interface controller,the architecture design of data center network MPS-DCN based on multiport intelligent network interface controller is proposed,and its structure and routing process are introduced by taking MPS-Cube as an example. This kind of network design can make full use of the programmability of multiport intelligent network interface controller to realize intelligent network protocol processing and network function unloading,so as to improve the network throughput.
Keywords:intelligent network interface controller;data center network;programmability;network protocol
0? 引? 言
隨著現代化信息技術的發展,數據中心(Data Center)已成為當前社會信息基礎設施的核心組成部分,為公司的生產經營和人們的社會生產生活提供高效和彈性的基礎信息服務。數據中心網絡(Data Center Network,DCN)通過高速交換機連接大量服務器為海量用戶提供高效的即時服務,是數據中心實現其服務功能的物理基礎[1-5]。
然而,隨著后摩爾時代到來,傳統的網卡和交換機越來越難以滿足數據中心網絡高效的數據傳輸需求,高性能服務器越來越多地參與到網絡的數據傳輸和處理過程中,這嚴重浪費了服務器CPU的計算能力,進而導致了數據中心的計算和網絡服務性能降低。
隨著智能網卡(Smart Network Interface Card,SNIC)技術的發展,其可編程性受到了學界和業界越來越多的關注[6-7]。智能網卡SNIC通過可編程性實現智能化的網絡協議處理和網絡功能卸載,能夠滿足數據中心網絡高效靈活的數據傳輸需求。通過在數據中心網絡中部署多端口智能網卡不但能夠提高網絡吞吐量,而且可以根據網絡負載和應用層數據流量傾斜調整相應的數據調度策略。基于多端口智能網卡的數據中心網絡(Multi-Port SNIC Data Center Network,MPS-DCN)具有良好的網絡虛擬化功能,能夠為云計算供應商提供更高效的網絡彈性以滿足不同用戶的網絡傳輸服務需求。基于多端口網卡的數據中心網絡通過解耦服務器的網絡功能,從而使得高性能服務器能夠專注于計算密集型的核心功能,進而提高數據中心網絡的服務能力。文中以MPS-Cube為例介紹基于服務器多端口智能網卡的數據中心網絡構造和路由過程。
1? 數據中心網絡發展現狀
自2008年計算機網絡領域的頂級會議SIGCOMM提出FatTree[1]和DCell[2]結構以來,云計算數據中心網絡的設計一直是業界和學界研究的熱點。根據轉發設備的不同,其發展出以交換機為中心的(Switch-Centric)數據中心網絡設計和以服務器為中心的(Server-Centric)數據中心網絡設計兩個并行方向,并且這兩個方向在各自領域內都產生了突破性的進展。
1.1? 以交換機為中心的數據中心網絡
在以交換機為中心的數據中心網絡設計中,交換機承擔網絡數據的路由轉發功能,而服務器則作為數據存儲和計算的功能節點不參與數據轉發任務。
以交換機為中心的數據中心網絡典型網絡結構FatTree和Elastic Tree[5],這兩種網絡結構都是通過基于Clos結構部署的交換機來連接服務器。FatTree的特點是部署大量的交換機,交換機網絡之間形成大量冗余路徑為服務器提供超額網絡帶寬訂購服務;Elastic Tree則從節約能源的角度根據網絡應用需求適時調整FatTree中活動交換機的數量,從而達到網絡節能的目的。FatTree網絡結構如圖1所示,其中圓圈表示服務器,矩形框表示交換機。
以交換機為中心的數據中心網絡逐步發展出軟件定義網絡(Software Define Network,SDN)技術和SDN交換機,SDN技術通過將交換機的控制面與數據面進行邏輯分離,從而允許用戶通過交換機控制器的可編程接口根據數據傳輸需求重新定義網絡傳輸調度功能,從而實現對數據中心網絡流量的實時智能控制。
1.2? 以服務器為中心的數據中心網絡
在以服務器為中心的數據中心網絡中,服務器不僅需要承擔數據的計算和存儲功能,還需要承擔數據的路由轉發功能,這類網絡中的交換機一般只作為服務器之間的網絡連接部件。
以服務器為中心的數據中心網絡典型代表是微軟研究院提出的DCell[2]、BCube[3]和CamCube[4]網絡,前兩類網絡采用了普通迷你型交換機,而CamCube網絡則僅采用多端口服務器進行網絡互聯。在DCell網絡結構中,最底層通過n臺服務器連接一個n端口迷你交換機組成DCell0網絡,而高層的DCell網絡結構則由低層網絡采取完全圖互聯的方式構成。BCube網絡的基本拓撲結構采用了超立方體結構,而CamCube網絡采用了3-DTorus結構。BCube網絡結構如圖2所示,圖中的每個服務器均裝備有2個端口的網卡。
以服務器為中心的數據中心網絡設計逐步發展出智能網卡SNIC和網絡功能卸載技術。通過利用智能網卡的可編程性實現靈活的網絡協議卸載功能,不但能夠解耦服務器CPU的網絡處理負荷,而且能夠根據應用層需求優化網絡調度策略,是解決當前數據中心網絡瓶頸問題的關鍵技術。
2? 智能網卡研究發展現狀
傳統服務器的網卡通常采用固件寫入的方式支持固定類型的網絡,這類網絡通常是標準的以太網或者Infiniband網絡。傳統網卡能夠支持的網絡協議在出廠時已寫入網卡固件,一般在出廠后不可以進行更改。在網絡路由過程中,傳統網卡根據已寫入的網絡協議棧以固定模式執行數據的復制轉發功能,其過程需要CPU中斷當前操作進行參與,這嚴重降低了CPU數據處理性能。
智能網卡SNIC的出現解耦了服務器CPU處理網絡數據轉發任務的功能,從而將CPU從頻繁的網絡任務處理中解放出來,有效地提升了網絡數據處理效率。Mellanox公司給智能網卡SNIC定義是“能夠加載CPU通用功能的網絡接口卡”,而Netronome公司從功能角度將智能網卡SNIC定義為“能夠實現網絡數據平面的各類功能,并能夠根據應用需要靈活地調整數據平面,能夠無縫兼容當前傳統網卡鏈接生態”[7]。
從當前通用智能網卡SNIC配備的核心處理器來看,常見的智能網卡架構設計可分為兩種類型,基于可編程門陣列(Field Programmable Gate Array,FPGA)的智能網卡和基于多核處理器(Multi-core Processors,MP)的智能網卡。FPGA智能網卡由微軟亞洲研究院的Catapult提出,是為可重構數據中心網絡設計的,能夠大幅提高規模性網絡的數據吞吐量,其在微軟數據中心中得到了部署;MP智能網卡則使用片上多核系統(Multi-core System on Chip,SoC)來實現網卡的可編程性,其多核性可兼容通用處理器和網絡處理器,具有低造價和高兼容性的特點。
3? 基于多端口智能網卡的數據中心網絡設計
在本節中,首先闡述基于服務器多端口智能網卡的數據中心網絡MPS-DCN設計動機,然后給出MPS-DCN的設計方案,最后對MPS-DCN的其他性能特點進行分析。
3.1? 設計動機
基于服務器多端口智能網卡的數據中心網絡MPS-DCN的設計動機來源于以服務器為中心的數據中心網絡設計和智能網卡在網絡功能卸載方面的優異性能。
在當前以服務器為中心的數據中心網絡中,服務器承擔數據的路由轉發功能,但其數據轉發需要CPU中斷當前任務進行參與,而采用智能網卡進行數據轉發則可以將CPU參與的網絡功能卸載到智能網卡上,由智能網卡根據應用需求執行數據路由轉發處理任務。采用智能網卡進行數據轉發不但能夠解耦服務器CPU的網絡負荷,而且能夠提升網絡轉發效率降低網絡傳輸延遲。因此,通過將智能網卡和以服務器為中心的數據中心網絡相結合進行新型數據中心網絡設計具有廣闊的設計空間和優化網絡性能的現實意義。
3.2? 設計方案
下面分別從數據中心網絡的架構設計和路由設計兩個方面描述基于多端口智能網卡的數據中心網絡MPS-DCN的方案。
3.2.1? 架構設計
基于服務器多端口智能網卡的數據中心網絡MPS-DCN設計中,直接采用多端口智能網卡替換基于多端口服務器的數據中心網絡中的傳統網卡,即可構成基于服務器多端口智能網卡的數據中心網絡拓撲結構。
以超立方體數據中心網絡CamCube[4]結構為例,原網絡中采用6端口的傳統網卡,而在MPS-DCN設計中直接使用多端口智能網絡接口卡SNIC將傳統網卡NIC形成新型數據中心網絡體系結構MPS-Cube網絡,其網絡結構如圖3所示。圖中省略了下兩層服務器和控制器的邏輯聯系;服務器的編號表示其邏輯位置,該網絡特點是物理位置和邏輯位置一致。相對于CamCube網絡結構,MPS-Cube采用多端口智能網卡能夠在邏輯上配置軟件定義網絡控制器(SDN Controller),使用SDN控制器可以根據當前網絡的運行狀態進行實時高效的數據調度。
在基于多端口智能網卡的數據中心網絡設計中,多端口服務器的CPU不再需要承擔網絡相關功能,數據的路由轉發、網絡狀態探測和數據封裝加速等任務均由多端口智能網卡承擔。由于多端口智能網卡具有遠程直接存儲器存取(Remote Direct Memory Access,RDMA)功能,因此可以直接訪問服務器存儲區中的數據,而不需要服務器CPU中斷當前任務進行干預。
3.2.2? 路由設計
由于多端口智能網卡能夠兼容標準以太網和Infiniband網絡,因此基于多端口智能網卡的數據中心網絡可以采用原有標準的TCP/IP協議體系完成數據路由過程。基于服務器多端口智能網卡的數據中心網絡MPS-DCN可以直接部署傳統的開放式最短路徑優先(Open Shortest Path First,OSPF)和等價多路徑路由(Equal-Cost Multipath Routing,ECMP)等協議,并可兼容基于IPv6的各類組播和廣播等數據傳輸模式。上述傳統網絡協議主要基于靜態路由過程,難以根據當前網絡數據流量傾斜狀態實時調整網絡傳輸調度策略。
在MPS-Cube網絡結構中,服務器的邏輯位置與其物理位置一致,因此服務器之間可以采用基于位置的路由策略。使用src代表數據源服務器,dst代表目的服務器,則可采用逐位變化的方式得出src到dst的路由路徑。例如src=000,dst=222,則src到dst之間的路徑可表示為path1=(000,002,022,222),path2=(000,002,202,222),path3=(000,020,220,222),path4=(000,020,022,222),path5=(000,200,220,222),path6=(000,200,202,222)。部署多端口智能網卡SNIC的數據中心網絡兼容該靜態路由策略,并能夠根據網絡當前的實時負載進行路由調度,以充分發揮多端口智能網卡的優勢,滿足用戶定制化的路由調度需求。
基于多端口智能網卡的MPS-Cube網絡能夠支持網絡的軟件定義屬性,從而支持網絡數據轉發過程中控制平面和數據平面的解耦分離,控制器根據網絡狀態實時動態優化網絡傳輸調度機制以提高網絡吞吐量。MPS-Cube網絡可以在服務器和鏈路負荷較大時,根據全局網絡狀態和待傳輸數據量動態規劃數據傳輸路徑。以圖3的網絡結構為例,src=000代表數據源服務器,dst=222代表目的服務器。當前網絡中服務器200和鏈路(000,002)負荷較大時,源服務器則通過path3=(000,020,220,222),path4=(000,020,022,222)進行數據傳輸。
當網絡中鏈路和服務器負荷均較大時,控制器可以通過對待傳輸數據依據可用鏈路容量進行分組多路徑傳輸,以充分利用網絡資源,提升網絡吞吐量。由于多端口智能網卡具有可編程特性,因此能夠支持數據中心網絡的可重構性,從而使得基于服務器多端口智能網卡的數據中心網絡MPS-DCN能夠應對呈指數級增長的數據中心東西向網絡流量和因多樣化網絡應用導致的流量傾斜問題。
3.3? 其他特點
基于服務器多端口智能網卡的數據中心網絡MPS-DCN設計在實現傳統網卡功能基礎上,還能夠實現以下智能網卡特有的功能:(1)智能化網絡協議處理:智能網卡支持遠程直接數據存取RDMA協議和各類型的網絡數據傳輸的協議。通過RDMA協議能夠實現智能網卡到存儲器的數據直接存取,從而降低服務器CPU的中斷頻率,提高網絡輸入輸出吞吐量。各類型網絡傳輸協議能夠為基于服務器多端口智能網卡的數據中心網絡提供更低的數據傳輸延遲,更大的網絡帶寬適應性。(2)智能化網絡功能卸載:智能網卡能夠卸載SDN協議,并能夠實現網絡功能虛擬化(Network Function Virtualization,NFV),從而實現基于軟件的細粒度網絡資源調度和網絡切片功能。通過SDN協議和NFV協議,基于服務器多端口智能網卡的數據中心網絡能夠支持網絡資源池細粒度的彈性分配,因而能夠從更大程度上支持數據中心網絡功能的按需分配。
4? 結? 論
通過對數據中心網絡的發展和智能網卡的功能分析,結合以服務器為中心的數據中心網絡拓撲結構和多端口智能網卡的優點,提出了基于服務器多端口智能網卡的數據中心網絡MPS-DCN設計方案。文章討論了MPS-DCN的網絡拓撲結構構造和數據路由轉發方案,并分析了其與傳統網絡協議的兼容性。結論顯示,基于服務器多端口智能網卡的數據中心網絡MPS-DCN設計方案具有以服務器為中心的數據中心網絡和多端口智能網卡的雙重優點。MPS-DCN在傳統網絡架構和協議的基礎上,能夠充分利用多端口智能網卡的可編程性實現智能化的網絡協議處理和網絡功能卸載,從而降低服務器的網絡負載,能夠有效提升網絡吞吐量。
上述優點使基于服務器多端口智能網卡的數據中心網絡MPS-DCN設計具有優化網絡性能的現實意義。然而,由于智能網卡的設計尚未形成統一規范化的標準,因此基于服務器多端口智能網卡的數據中心網絡MPS-DCN設計還需要進行標準化的探索和嘗試才能推向市場應用。
參考文獻:
[1] AL-FARES M,LOUKISSAS A,VAHDAT A. A scalable,commodity data center network architecture [C]//SIGCOMM '08:Proceedings of the ACM SIGCOMM 2008 conference on data communication.New York:Association for Computing Machinery:2008:63-74.
[2] GUO C,WU H,TAN K,et al. DCell:a scalable and fault-tolerant network structure for data centers [C]//SIGCOMM '08:Proceedings of the ACM SIGCOMM 2008 conference on Data communication.New York:Association for Computing Machinery:2008:75–86.
[3] GUO C,LU G,LI D,et al. BCube:a high performance,server-centric network architecture for modular data centers [C]//SIGCOMM '09:Proceedings of the ACM SIGCOMM 2009 conference on Data communication. New York:Association for Computing Machinery:2009:63–74.
[4] ABU-LIBDEH H,COSTA P,ROWSTRON A,et al. Symbiotic routing in future data centers [C]//Proceedings of the ACM SIGCOMM 2010 conference. New York:Association for Computing Machinery:2010:51-62.
[5] HELLER B,SEETHARAMAN S,MAHADEVAN P,et al. ElasticTree:Saving energy in data center networks [C]//NSDI'10:Proceedings of the 7th USENIX conference on Networked systems design and implementation.San Jose:USENIX Association,2010:17.
[6] 張登科,王興偉,何強,等.可重構數據中心網絡研究綜述 [J].計算機科學,2021,48(3):246-258.
[7] 馬瀟瀟,楊帆,王展,等.智能網卡綜述 [J].計算機研究與發展,2021:1-20.
作者簡介:馮佩(1985—),女,漢族,陜西西安人,工程師,碩士,研究方向:計算機網絡、并行計算、數據庫應用、移動終端軟件等。
收稿日期:2021-03-08
基金項目:陜西省教育廳專項科學研究計劃(20JK0779)