由于可將網(wǎng)絡(luò)功能/特征仿真到軟件并部署于通用服務(wù)器來實現(xiàn),以NFV(網(wǎng)絡(luò)功能虛擬化)與SDN(軟件定義網(wǎng)絡(luò))為代表的“網(wǎng)絡(luò)虛擬化技術(shù)”成為最近一個非常熱門的行業(yè)話題。但是,半導(dǎo)體性能的未來速率演進將會落后于網(wǎng)絡(luò)容量的增長,隨著網(wǎng)絡(luò)數(shù)據(jù)容量正在進入太比特時代,預(yù)計將難以通過NFV技術(shù)的靈活性來獲得所需的數(shù)據(jù)速率與功率效率。為解決此問題,業(yè)界有機構(gòu)正在研究可用于網(wǎng)絡(luò)虛擬化的硬件/軟件聯(lián)合設(shè)計技術(shù)[1],在技術(shù)理念與具體技術(shù)上都有較大的參考價值,下文對其進行詳細(xì)介紹。
1、引言
隨著商用型服務(wù)器的性能得到逐步提升,全球通信業(yè)界開始大力探索通過部署網(wǎng)絡(luò)虛擬化技術(shù)來大幅降低網(wǎng)絡(luò)建設(shè)成本與運維成本。
SDN(Software-Defined Networking,軟件定義網(wǎng)絡(luò))即是網(wǎng)絡(luò)虛擬化技術(shù)的代表,其可將電信網(wǎng)絡(luò)設(shè)備的控制功能與數(shù)據(jù)傳送功能分離解耦,從而可以集中處理網(wǎng)絡(luò)配置與設(shè)置(可通過相關(guān)軟件進行自動化的流程控制)。
為了能把SDN技術(shù)應(yīng)用到電信運營商的廣域網(wǎng)絡(luò),業(yè)界已經(jīng)發(fā)布了開源的SDN應(yīng)用。該應(yīng)用包括兩大部分:(1)Ryu SDN框架——其為一種SDN控制器,為SDN網(wǎng)絡(luò)的設(shè)置提供便捷的工具與能力庫;(2)Lagopus——其為一種高性能的SDN軟件交換機,具備可廣泛應(yīng)用部署于數(shù)據(jù)中心及廣域網(wǎng)絡(luò)的能力與特性。
2、對硬件加速器(用于網(wǎng)絡(luò)虛擬化)的研發(fā)
隨著網(wǎng)絡(luò)虛擬化技術(shù)的進步,傳統(tǒng)上由專用硬件設(shè)備所提供的網(wǎng)絡(luò)功能,也將有望通過在標(biāo)準(zhǔn)化的通用服務(wù)器中部署虛擬化成軟件的網(wǎng)絡(luò)功能來實現(xiàn)。
可以預(yù)見的是,隨著網(wǎng)絡(luò)虛擬化技術(shù)的實際應(yīng)用越來越普遍,部署有很多網(wǎng)絡(luò)功能的通用服務(wù)器的CPU(中央處理單元,用于進行與網(wǎng)絡(luò)相關(guān)的處理)將會承受很大的負(fù)載。
從而,為了使網(wǎng)絡(luò)虛擬化技術(shù)能滿足更高級網(wǎng)絡(luò)服務(wù)與系統(tǒng)的需求,就需要研發(fā)能減輕通用服務(wù)器CPU負(fù)載的技術(shù),以期提高通用型服務(wù)器處理能力的功率與性能的比值,為更多網(wǎng)絡(luò)功能的正常運行提供穩(wěn)定的環(huán)境。
為了使網(wǎng)絡(luò)虛擬化系統(tǒng)中的軟硬件能協(xié)同工作,NTT設(shè)備創(chuàng)新中心正在研發(fā)硬件/軟件聯(lián)合設(shè)計技術(shù),已設(shè)計出具有如圖1所示理念的HWA(HardWare Accelerator,硬件加速器)——其具有性能、靈活性及可用性三個維度,并涉及SDN軟件交換機、SDN硬件交換機、硬件加速器。總體而言,硬件加速器可在提升性能、提高可靠性的同時,保證高性能SDN軟件交換機(Lagopus)的靈活性。
圖1 硬件加速器的設(shè)計理念
3、硬件加速器的技術(shù)原理與特性
1)技術(shù)原理
在用于網(wǎng)絡(luò)虛擬化的通用型服務(wù)器中,能與硬件加速器HWA協(xié)同工作的SDN軟件交換機的系統(tǒng)配置如圖2所示。其中:(1)虛線的上半部分為數(shù)據(jù)平面,以SDN軟件交換機為核心進行軟件(網(wǎng)絡(luò)功能虛擬化應(yīng)用)處理(采取x86 CPU);(2)虛線的下半部分執(zhí)行硬件處理功能,其主體為內(nèi)置于通用服務(wù)器NIC(網(wǎng)卡)之中的一個可重構(gòu)/重配置的FPGA(現(xiàn)場可編程門陣列)電路——硬件加速器HWA。通常地,硬件研發(fā)比軟件研發(fā)要花費多得多的時間。但是,由于此方案中采取了可對程序中的功能進行重寫的FPGA,就不僅可加速硬件研發(fā),還具備在后續(xù)對網(wǎng)絡(luò)功能進行更新、迅速解決故障的能力。
圖2 SDN軟件交換機的系統(tǒng)配置
(注——API:應(yīng)用編程接口;DPDK:Intel的數(shù)據(jù)平面開發(fā)工具包;NFV:網(wǎng)絡(luò)功能虛擬化)
圖2中所示的SDN軟件交換機通過網(wǎng)卡中的FPGA硬件加速器HWA向相關(guān)的軟件轉(zhuǎn)發(fā)網(wǎng)絡(luò)分組/數(shù)據(jù)包以待處理。除了網(wǎng)卡通常的數(shù)據(jù)包處理功能,硬件加速器也具備相關(guān)的預(yù)處理能力以減輕Lagopus(SDN軟件交換機)轉(zhuǎn)發(fā)組件(即數(shù)據(jù)平面)的負(fù)載壓力。但是,硬件加速器的預(yù)處理功能與SDN軟件交換機的數(shù)據(jù)包處理是相互獨立的,并不直接與之通信。這就使得SDN軟件交換機能保持其靈活性,同時減輕軟件處理負(fù)載,并可進一步地提高SDN軟件交換機的性能。
2)技術(shù)特性
(1)高速的流量調(diào)度
要進行高速的數(shù)據(jù)包/分組處理,需要SDN軟件交換機把相關(guān)工作平均地分配給多核處理器之中的各個處理單元,以對多個指令進行高效的并行處理。但是,目前尚無提前分發(fā)數(shù)據(jù)分組負(fù)載的相關(guān)機制。從而,所有數(shù)據(jù)分組就必須被傳送至某個指定的CPU核,然后再分割給相應(yīng)的軟件進行處理。于是,這樣就容易導(dǎo)致數(shù)據(jù)包堆積在單個的CPU核之中,從而就成為“瓶頸”,甚至在最壞的情況下造成丟包。
為解決上述問題,業(yè)界研發(fā)了高速的流量調(diào)度機制。其工作原理為:如圖3所示,基于硬件加速器所接收到的分組流數(shù)據(jù),將數(shù)據(jù)包分配給FPGA數(shù)據(jù)結(jié)構(gòu)(以隊列的形式)。其后,DMA(Direct Memory Access,直接內(nèi)存存取器)將數(shù)據(jù)分組傳送至主內(nèi)存陣列(多核CPU的每個處理器單元對應(yīng)一個主內(nèi)存)。
圖3 高速流量調(diào)度的實現(xiàn)原理(以六核CPU為例)
以此種方式,所有的處理負(fù)載/任務(wù)就被平均、平滑地分配給多核CPU的每個處理器單元(如圖4所示),同時又不會造成軟件周期的浪費。
圖4 高速流量調(diào)度的效果(以六核CPU為例)
(2)可進行數(shù)據(jù)流量導(dǎo)向
應(yīng)用于網(wǎng)絡(luò)虛擬化的硬件加速器HWA除了可進行高速的流量調(diào)度,還需要研發(fā)一種技術(shù)機制,以使得軟件能自主確定將數(shù)據(jù)流分配至哪些相應(yīng)的DMA序列,為此研發(fā)了流量導(dǎo)向裝置。
如圖5所示,流量導(dǎo)向裝置使得Lagopus(SDN軟件交換機)可通過應(yīng)用編程接口API與硬件加速器HWA通信來確定將數(shù)據(jù)流分配至哪些相應(yīng)的DMA序列。可見,流量導(dǎo)向裝置可用于提高系統(tǒng)性能。
圖5 流量導(dǎo)向裝置
總之,流量導(dǎo)向裝置可計算出數(shù)據(jù)分組應(yīng)如何被分配至多核CPU的某個/某些處理器單元,從而,數(shù)據(jù)流就無需被確定兩次,相應(yīng)的處理也就可被跳過。這就使得Lagopus(SDN軟件交換機)具備足夠多的時間去更為高效地處理小數(shù)據(jù)包。
(3)數(shù)據(jù)包鏡像
在未來,需要實現(xiàn)更快地查找出發(fā)生網(wǎng)絡(luò)故障問題的原因。這是由于,在將來實現(xiàn)了網(wǎng)絡(luò)虛擬化技術(shù)之后,網(wǎng)絡(luò)故障會變得更為復(fù)雜。
為此,業(yè)界也研發(fā)了可應(yīng)用于硬件加速器HWA之中的數(shù)據(jù)包鏡像技術(shù)。其特點為:可在不對軟件造成任何負(fù)載的情況之下,隨時對虛擬網(wǎng)絡(luò)進行監(jiān)測。
如圖6所示,數(shù)據(jù)包鏡像技術(shù)的實現(xiàn)原理為:對輸入FPGA硬件加速器HWA的數(shù)據(jù)分組/包進行復(fù)制,并將其原樣(未經(jīng)修改)轉(zhuǎn)發(fā)給相關(guān)的外部設(shè)備進行分。從而可及時判斷、檢測出網(wǎng)絡(luò)故障問題發(fā)生的“苗頭”,而同時又不會影響到正常的數(shù)據(jù)分組/包處理功能。
圖6 數(shù)據(jù)包鏡像技術(shù)的實現(xiàn)
4、系統(tǒng)試驗與評估結(jié)果
NTT與Xilinx公司合作進行了其裝備有FPGA硬件加速器HWA的SDN軟件交換機系統(tǒng)原型樣機的測試,并驗證了硬件/軟件聯(lián)合設(shè)計所能獲得的系統(tǒng)性能增益。相關(guān)測試采取了最新的FPGA設(shè)備與工具SDNet(Software Defined Specification Environment for Networking,用于組網(wǎng)的軟件定義規(guī)范環(huán)境。其可進行分組數(shù)據(jù)包的處理)。對于分組數(shù)據(jù)包轉(zhuǎn)發(fā)性能的評估結(jié)果如圖7所示,所測得的功率消耗情況如圖8所示。
圖7 測試原型系統(tǒng)的數(shù)據(jù)包轉(zhuǎn)發(fā)性能(其中“吞吐量”的單位是Gbit/s)
圖8 40 Gbit/s線速下的系統(tǒng)功耗
圖7中的數(shù)據(jù)表明:(1)無論是長包(比如1600字節(jié))還是短包(比如50字節(jié)),部署了硬件加速器HWA后,轉(zhuǎn)發(fā)性能均有所增強,包的長度不一,增強的程度也不一;(2)部署了硬件加速器HWA后,多核CPU的處理器單元數(shù)越大,在一定的包長(1000字節(jié)左右)范圍之內(nèi),轉(zhuǎn)發(fā)性能越好,且其性能改善的程度也與具體的包長大小相關(guān);(3)部署了硬件加速器HWA后,當(dāng)包長達(dá)到一定的大小時,系統(tǒng)吞吐量存在一個極限值,且多核CPU的處理器單元數(shù)不同,開始出現(xiàn)吞吐量極限值時的包長大小也不同;(4)部署了硬件加速器HWA后,定性看來,系統(tǒng)對長包的轉(zhuǎn)發(fā)性能要優(yōu)于短包。
此外還發(fā)現(xiàn),當(dāng)采取8核CPU(處理器單元達(dá)到最大數(shù)值)時,系統(tǒng)在處理長度大于384字節(jié)的分組數(shù)據(jù)包時,可獲得高達(dá)40 Gbit/s的線速。而且,當(dāng)數(shù)據(jù)包處理速率達(dá)到40 Gbit/s之時,整個通用型服務(wù)器的功耗為425瓦,但FPGA硬件加速器HWA的功耗于其中的占比還不到5%——僅為19瓦。這就意味著,實際上是可以以很小的功耗代價來獲得理想中的高線速的。
測試中還發(fā)現(xiàn),采取Lagopus(SDN軟件交換機)對硬件加速器HWA的輸入數(shù)據(jù)包進行復(fù)制(通過相應(yīng)的應(yīng)用編程接口API),不會對原型系統(tǒng)之中的首要數(shù)據(jù)包處理產(chǎn)生任何影響。
5、未來研發(fā)工作規(guī)劃
如圖7所示,原型系統(tǒng)對于小于384字節(jié)的短包的轉(zhuǎn)發(fā)性能(吞吐量、線速)較低。為此,業(yè)界對該SDN軟件交換機系統(tǒng)(內(nèi)含硬件加速器HWA)的下一步研發(fā)目標(biāo)是將其線速(吞吐量)提高至40 Gbit/s。
另外,為進一步提高系統(tǒng)的可靠性,業(yè)界將會對數(shù)據(jù)包鏡像技術(shù)的實際使用進行測試,以進行網(wǎng)絡(luò)監(jiān)測并對網(wǎng)絡(luò)功能進行分析,進而提高網(wǎng)絡(luò)虛擬化的運營效率。
此外,業(yè)界還規(guī)劃采取SDN軟件交換機系統(tǒng)(內(nèi)含硬件加速器HWA)原型系統(tǒng)的三大特性來實際部署NFV(網(wǎng)絡(luò)功能虛擬化)應(yīng)用,并研制可用于試用的相關(guān)系統(tǒng)。
以此方式,電信網(wǎng)絡(luò)虛擬化技術(shù)的性能與可靠性將得到進一步的提高,并有望將硬件/軟件聯(lián)合設(shè)計作為網(wǎng)絡(luò)虛擬化的基礎(chǔ)技術(shù),從而助力推動網(wǎng)絡(luò)虛擬化技術(shù)在電信運營商基礎(chǔ)網(wǎng)絡(luò)之中的實際商用部署進程。
參考文獻:
[1] Takahiro Hatano, Koji Yamazaki, Akihiko Miyazaki. Hardware/Software Co-design
Technology for Network Virtualization [EB/OL]. https://www.ntt-review.jp/archive/ntttechnical.php?contents=ntr201601fa7... , 2016-01-30 .
原文鏈接: ?id=9897
評論
查看更多