• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    網(wǎng)絡(luò)功能虛擬化場景下的并行加速

    2018-07-23 07:19:24畢軍孫晨于恒
    電信科學(xué) 2018年7期
    關(guān)鍵詞:時延損耗分組

    畢軍,孫晨,于恒

    ?

    網(wǎng)絡(luò)功能虛擬化場景下的并行加速

    畢軍,孫晨,于恒

    (清華大學(xué),北京 100084)

    在網(wǎng)絡(luò)功能虛擬化場景下,每個網(wǎng)絡(luò)功能都以軟件的形式來實現(xiàn)。但傳統(tǒng)的串行網(wǎng)絡(luò)功能組鏈方式將帶來極大的性能損耗。而如今針對網(wǎng)絡(luò)功能進(jìn)行加速的工作,主要集中在優(yōu)化該串行鏈的每個組成成分上。提出了一個高性能的系統(tǒng)框架,通過讓網(wǎng)絡(luò)功能并行地對數(shù)據(jù)分組進(jìn)行處理,提高網(wǎng)絡(luò)功能虛擬化場景下服務(wù)鏈的整體性能。該系統(tǒng)由3個部分組成。首先,該系統(tǒng)為管理員提供了一個策略描述語言來直觀地描述串行或并行的組鏈意圖。然后,該系統(tǒng)的編排器智能地鑒別網(wǎng)絡(luò)功能之間的依賴性,并基于所提供的策略,生成高性能的“服務(wù)圖”。最后,該系統(tǒng)的底層實現(xiàn)通過執(zhí)行輕量級的數(shù)據(jù)分組復(fù)制、分布式的并行分組轉(zhuǎn)發(fā)和負(fù)載均衡后的數(shù)據(jù)分組合并來支持網(wǎng)絡(luò)功能的并行處理?;贒PDK技術(shù),在Linux容器中實現(xiàn)了該系統(tǒng)的原型機(jī)。通過實驗驗證可知,該系統(tǒng)能極大地減少真實世界中服務(wù)鏈的處理時延。

    網(wǎng)絡(luò)功能虛擬化;并行;服務(wù)鏈

    1 引言

    為解決傳統(tǒng)的專用middlebox[1]所帶來的一系列問題,網(wǎng)絡(luò)功能虛擬化(network function virtualization,NFV)基于商用服務(wù)器硬件,利用虛擬化技術(shù),實現(xiàn)各種各樣的網(wǎng)絡(luò)功能(network function,NF)。在運營商網(wǎng)絡(luò)[2]、數(shù)據(jù)中心[3-4]、移動網(wǎng)[5]和企業(yè)網(wǎng)[6]中,網(wǎng)絡(luò)管理員通常需要數(shù)據(jù)流以特定的順序穿過多個NF(例如依次通過防火墻、入侵檢測系統(tǒng)和代理服務(wù)器)[7-9],而以上需求通常被定義為服務(wù)組鏈需求。同時,軟件定義網(wǎng)絡(luò)(software defined networking,SDN)也常被用來在各個特定的NF之間進(jìn)行導(dǎo)流,以執(zhí)行該組鏈策略[3, 9-14]。所以NFV和SDN技術(shù)能共同提升在串行服務(wù)組鏈場景下的靈活性與動態(tài)性。

    NFV在帶來如此多好處的同時,也伴隨著一些問題出現(xiàn)[15]?;谲浖崿F(xiàn)的NF尤其容易帶來較明顯的性能損失。并且,服務(wù)鏈所帶來的時延將隨著組鏈長度的增加而線性增加。而對某些時延敏感型應(yīng)用來說,這種情況將是不可接受的[16-17]。

    對于在NFV場景下基于軟件實現(xiàn)的NF所帶來的性能缺陷問題,國際上已有多項研究工作來對其進(jìn)行改善。通過圖1所示的服務(wù)鏈來展示各自的優(yōu)化點。

    ?? 單個NF的加速:ClickNP[17]提出了將部分本應(yīng)由軟件實現(xiàn)的邏輯功能通過可編程硬件(例如FPGA)實現(xiàn)的方式加速單個NF的處理速度。而NetBricks[18]則遺棄了傳統(tǒng)的基于虛擬機(jī)或容器技術(shù)的NF實現(xiàn)方式,通過將同一服務(wù)鏈中的所有NF運行在單個處理核上的方式來提高性能。

    ?? 數(shù)據(jù)分組傳遞的加速:Intel DPDK[19]、ClickOS[20]和NetVM[21-22]通過優(yōu)化數(shù)據(jù)分組從網(wǎng)卡端口到虛擬機(jī)和虛擬機(jī)之間的傳遞過程來提高性能。

    ?? NF模塊化:OpenBox[7]對NF進(jìn)行了模塊分解(在參考文獻(xiàn)[6, 10, 23]中也有提到),然后通過在串行服務(wù)組鏈時,共享NF之間相同的組建模塊,提高服務(wù)鏈的整體性能。

    而以上研究都是在水平范圍內(nèi)對NF的性能問題進(jìn)行改善。例如,對服務(wù)鏈中的每個NF水平地進(jìn)行了加速,但仍然保持了所有NF之間串行的組鏈方式。

    圖1 傳統(tǒng)的串行服務(wù)組鏈方式[4]

    但是,通過對服務(wù)鏈中NF的細(xì)致觀察發(fā)現(xiàn),一些NF之間并不存在任何依賴關(guān)系,可以并行地對數(shù)據(jù)分組進(jìn)行處理。在如圖1所示的服務(wù)鏈中,monitor(監(jiān)測器)僅僅維護(hù)數(shù)據(jù)分組的統(tǒng)計數(shù)據(jù)而不需要對數(shù)據(jù)分組做任何修改。所以,如圖2所示的服務(wù)框架,可以同時將數(shù)據(jù)流送入monitor和firewall(防火墻)中,然后保留防火墻中的數(shù)據(jù)流,該方式將獲得和串行服務(wù)組鏈情況下相同的處理結(jié)果。通過這種方式,該服務(wù)鏈的相對長度將減少為3,從而在理論上減少25%時延。

    圖2 支持NF并行的系統(tǒng)框架

    因此,不同于以上所提及的所有NFV加速思想,本文抓住了在垂直范圍內(nèi)對NFV性能進(jìn)行提升的機(jī)會?;谝陨系挠^察,提出了一種高性能的系統(tǒng)框架,創(chuàng)新性地引入NF并行的思想以減少NFV場景下時延。如圖2所示,該系統(tǒng)框架由三大邏輯部分組成,包括策略描述語言、系統(tǒng)編排器和基礎(chǔ)設(shè)施層。

    2 動機(jī)與挑戰(zhàn)

    首先討論了在NFV場景下引入NF并行思想的動機(jī),然后介紹了在設(shè)計過程中所面臨的挑戰(zhàn)。

    2.1 動機(jī)

    NF并行將極大地降低時延:為了獲得在引入并行思想后更直觀的優(yōu)化效果,收集了在企業(yè)網(wǎng)中常見的NF,其所進(jìn)行的操作和所占的比例見表1[1,6],其中,%列代表其在企業(yè)網(wǎng)中所占的百分比,R代表讀操作,W代表寫操作,T代表執(zhí)行操作?;谶@些統(tǒng)計數(shù)據(jù),計算出53.8%的NF之間都能對數(shù)據(jù)分組并行進(jìn)行處理,這將給NF并行帶來極大的優(yōu)化空間。

    NF并行能兼容其他加速技術(shù):首先,對于單個NF性能的加速技術(shù)[17-18],NF并行思想能對每個加速后的NF進(jìn)行并行從而獲得更高的性能。然后,能利用快速數(shù)據(jù)分組傳遞技術(shù)[19, 21-22]在并行情況下加速數(shù)據(jù)分組的傳遞過程。最后,無論是一個整體的NF,還是模塊化的NF,都能從并行中受益。

    2.2 設(shè)計挑戰(zhàn)

    基于以上動機(jī),提出了一個創(chuàng)新性的系統(tǒng)框架,將NF并行的思想引入NFV場景以提高其性能??偨Y(jié)了在該系統(tǒng)設(shè)計過程中的4個關(guān)鍵挑戰(zhàn),具體如下。

    表1 常用NF及其對數(shù)據(jù)分組的操作 [1, 6, 24]

    (1)服務(wù)圖策略描述語言的設(shè)計

    為了支持NF的并行,需要一種新的更直觀的方式來描述NF串行和并行的組鏈意圖,以此來獲得更優(yōu)化的并行服務(wù)圖。本文提出了一種擁有更豐富語義的策略描述語言來解決該問題。

    (2)構(gòu)建并行服務(wù)圖的系統(tǒng)編排器設(shè)計

    支持并行對編排器分析NF之間的依賴性和自動將策略描述語言編譯為高性能服務(wù)圖的能力提出了挑戰(zhàn)。但是,人工對所有NF對之間的依賴關(guān)系進(jìn)行分析,不僅耗費時間,而且缺乏可擴(kuò)展性。為了解決該問題,提出了NF依賴性分析原則,通過在編排器中運行特定的算法,自動檢測NF之間的依賴性。

    (3)減少資源損耗的系統(tǒng)編排器設(shè)計

    引入NF并行的思想,可能需要對每個數(shù)據(jù)分組進(jìn)行一次甚至多次的復(fù)制。因此,系統(tǒng)編排器在構(gòu)建高性能服務(wù)圖時,還面臨著最小化資源損耗的挑戰(zhàn)。一種解決方法是采用consolidation的思想[6, 21],將服務(wù)圖中所有的NF放在同一臺硬件服務(wù)器上運行,以便只在內(nèi)存中存儲復(fù)制的數(shù)據(jù)分組。為了獲得更好的優(yōu)化效果,該系統(tǒng)編排器還需智能地進(jìn)行分析,以爭取在無需進(jìn)行數(shù)據(jù)分組復(fù)制的情況下實現(xiàn)NF之間的并行。

    (4)支持NF并行的基礎(chǔ)設(shè)施層設(shè)計

    首先,該基礎(chǔ)設(shè)施層需要引入一個輕量級的數(shù)據(jù)分組復(fù)制機(jī)制來最小化復(fù)制時所帶來的性能損耗。然后,該基礎(chǔ)設(shè)施層還需要一個合并模塊來對來自多個NF處理后的多個數(shù)據(jù)分組進(jìn)行合并。最后,目前對NF之間的數(shù)據(jù)分組進(jìn)行轉(zhuǎn)發(fā)的方案是基于一個集中的虛擬交換機(jī)[19-21]。但是,在該集中式交換機(jī)中的排隊時延將降低性能。

    3 策略描述語言定義

    對于傳統(tǒng)的串行服務(wù)組鏈方式,網(wǎng)絡(luò)管理員只需定義一種語言,為串行服務(wù)鏈中的每個NF分配具體的位置即可,見表2中的第1行。但是,本系統(tǒng)希望構(gòu)建支持并行的高性能服務(wù)圖,所以需要一種更直觀的方式來描述串行和并行的NF組鏈意圖。因此,本系統(tǒng)定義了3種策略描述規(guī)則,網(wǎng)絡(luò)管理員可以通過將幾種描述規(guī)則組合起來表達(dá)自己的組鏈意圖。對示例的串行組鏈和策略語言組鏈的不同表達(dá)方式見表2,其中,F(xiàn)W代表防火墻,LB代表load balance(負(fù)載均衡),VPN代表virtual private network(虛擬專用網(wǎng)絡(luò))。

    表2 對示例的串行組鏈和策略語言組鏈的不同表達(dá)方式

    order(NF1,before,NF2):這條規(guī)則描述了兩個NF之間需要的執(zhí)行順序。如圖1所示的服務(wù)鏈,網(wǎng)絡(luò)管理員可以通過指定order(VPN,before,monitor)讓數(shù)據(jù)流首先通過VPN,再通過monitor。然后,系統(tǒng)編排器會在NF之間的order規(guī)則中尋求并行執(zhí)行的機(jī)會來提高性能。

    priority(NF1 > NF2):在該系統(tǒng)中,網(wǎng)絡(luò)管理員需要能描述兩個NF之間并行執(zhí)行意圖的規(guī)則。但是,這兩個NF之間的動作可能會產(chǎn)生沖突。例如,firewall和IPS會在是否丟棄某個數(shù)據(jù)分組的意見上產(chǎn)生分歧。因此,網(wǎng)絡(luò)管理員可以通過指定priority(IPS > firewall)規(guī)則來指示系統(tǒng),當(dāng)兩個NF并行時,如果發(fā)生沖突,則采用IPS的處理結(jié)果。

    position(NF,first/last):圖1所示的數(shù)據(jù)中心服務(wù)鏈[4]需要所有的數(shù)據(jù)分組首先被VPN處理。這提出了將某個NF放于服務(wù)圖中特定位置的需求。但是,由于不能預(yù)先知道經(jīng)過優(yōu)化的服務(wù)圖的最終結(jié)構(gòu),只能為某個NF在服務(wù)圖中指定最前或最后的位置。設(shè)計了position(NF1,first/last)規(guī)則來描述這種需求。例如,可通過position(VPN,first)規(guī)則來保證所有的數(shù)據(jù)分組首先穿過VPN。

    4 編排器設(shè)計

    本系統(tǒng)編排器以策略描述規(guī)則作為輸入,并自動分析NF之間的依賴關(guān)系,以盡可能并行的方式將這些規(guī)則編譯為高性能的服務(wù)圖。

    (1)NF并行可能性的分析

    對于策略描述語言中以priority規(guī)則定義的兩個NF,可直接視為可并行的兩個NF。對于以position規(guī)則定義的兩個NF,可直接以串行的方式將其放置于服務(wù)圖的頭部或尾部。但是,對于以order規(guī)則定義的兩個NF,需要進(jìn)一步分析其并行的可能性。為了分析這NF之間是否可并行,提出了結(jié)果一致性原則:當(dāng)兩個NF并行時對相同數(shù)據(jù)分組的處理結(jié)果和每個NF各自的內(nèi)部狀態(tài)與串行服務(wù)組鏈時的處理結(jié)果和內(nèi)部狀態(tài)都相同時,本文認(rèn)為這兩個NF是能并行執(zhí)行的。例如,假設(shè)NF1對分組頭進(jìn)行讀操作,而NF2接著對相同的分組頭域進(jìn)行修改。為了保證NF1讀到的是分組頭的原始信息,而不是經(jīng)過NF2修改后的信息,可以對數(shù)據(jù)分組進(jìn)行復(fù)制,然后將這兩份數(shù)據(jù)分組并行地發(fā)送到這兩個NF中。若NF1首先對分組頭進(jìn)行寫操作,而NF2再接著對分組頭進(jìn)行讀操作,該管理員希望傳遞給NF2的數(shù)據(jù)是經(jīng)過NF1修改后的結(jié)果。則此時,這兩個NF應(yīng)該以串行的方式來組鏈。

    (2)減少額外資源損耗

    在priority規(guī)則或可并行的order規(guī)則下,如果兩個NF之間能通過復(fù)制數(shù)據(jù)分組的方式來并行執(zhí)行,則會招致額外的資源損耗。為了解決這個問題,該系統(tǒng)引入了許多優(yōu)化技巧來減少數(shù)據(jù)分組復(fù)制時的額外資源損耗。本文根據(jù)結(jié)果一致性原則,總結(jié)出了不需要數(shù)據(jù)分組復(fù)制就能支持并行的情況。例如,假設(shè)NF1和NF2都對數(shù)據(jù)分組進(jìn)行讀操作,因為讀操作并不對數(shù)據(jù)分組進(jìn)行任何修改,所以這兩個NF能同時對數(shù)據(jù)分組進(jìn)行讀操作。為了進(jìn)一步減少數(shù)據(jù)分組復(fù)制所帶來的額外資源損耗,提出了以下資源優(yōu)化的技巧。

    ?? 內(nèi)存重利用:對于讀—寫和寫—寫操作的情況,需要分析這兩個操作是否在同一個操作域中執(zhí)行來判斷是否對其進(jìn)行數(shù)據(jù)分組復(fù)制。如果這兩個NF讀或?qū)懺摂?shù)據(jù)分組中的不同域,則它們能同時對該數(shù)據(jù)分組安全地進(jìn)行操作。

    ?? 只復(fù)制數(shù)據(jù)分組頭部:表1中,觀察到只有7%的NF需要對數(shù)據(jù)分組的有效載荷進(jìn)行修改。并且,在數(shù)據(jù)中心中數(shù)據(jù)分組的平均長度為724 byte[25]。據(jù)此可知,分組頭僅占整個分組長度的8.8%。因此,對于一些NF并行的情況,本文提出了只復(fù)制數(shù)據(jù)分組頭部的技巧。

    (3)NF并行可能性分析算法

    基于以上提出的NF并行可能性分析和資源優(yōu)化技巧,本文提出了NF并行可能性分析算法來對以order規(guī)則定義的兩個NF進(jìn)行分析。該系統(tǒng)編排器以order規(guī)則定義的兩個NF作為輸入。這兩個NF可能出現(xiàn)不需復(fù)制即可并行、需復(fù)制才能并行和不可并行3種結(jié)果。首先,該算法從AT表中獲取這兩個NF要執(zhí)行的所有操作。然后該算法窮盡地對這兩個NF中的所有操作對進(jìn)行分析以確定其是否有并行的可能性。對于讀-—寫和寫—寫的情況,本文需要進(jìn)一步確認(rèn)這兩個操作是否針對同一域。如果這兩個NF在復(fù)制數(shù)據(jù)分組的情況下可以并行,還需對沖突的動作進(jìn)行記錄。最后,該算法將產(chǎn)生這兩個NF是否能并行的結(jié)果以及是否存在沖突的操作。

    (4)服務(wù)圖構(gòu)建

    該系統(tǒng)編譯器首先將策略描述規(guī)則轉(zhuǎn)換為預(yù)先定義的數(shù)據(jù)結(jié)構(gòu),然后將這些數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)化為獨立的子圖,最后將這些子圖合并,產(chǎn)生最后的服務(wù)圖。

    (5)將策略轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)

    本文設(shè)計了兩種類型的數(shù)據(jù)結(jié)構(gòu)來存儲策略,如圖3所示。對于position規(guī)則,通過圖中左邊所示的數(shù)據(jù)結(jié)構(gòu)來保存該NF的類型和其在服務(wù)圖中的位置。對于order規(guī)則,本文通過算法1來確定其是否能并行處理和可能的沖突操作。order和priority規(guī)則最后都被轉(zhuǎn)換成了如圖3右邊所示的數(shù)據(jù)結(jié)構(gòu)。

    圖3 并行服務(wù)圖構(gòu)建過程

    (6)將數(shù)據(jù)結(jié)構(gòu)編譯為子圖

    首先將不能并行的NF以串行的方式進(jìn)行組鏈(如圖3中的NF2、NF3和NF4),然后將具有同一NF的數(shù)據(jù)結(jié)構(gòu)組合成子圖。該系統(tǒng)擁有3種類型的子圖結(jié)構(gòu),包括單個NF(例如NF1、NF8)、樹形結(jié)構(gòu)(例如NF2、NF3和NF4)和并行結(jié)構(gòu)(例如NF5、NF6和NF7)。

    (7)將子圖合并成服務(wù)圖

    將子圖進(jìn)行合并,以產(chǎn)生最后的服務(wù)圖。首先,以position規(guī)則定義的NF被放置到服務(wù)圖的頭部或尾部(NF1)。然后,將每一個生成的子圖(包括單個的NF)視為一個NF,窮盡地對每一個子圖對進(jìn)行分析,以確定其之間是否存在依賴性。最后,將所有的獨立子圖并行放置(如圖3所示)?;趯F的依賴性分析,還生成了數(shù)據(jù)分組轉(zhuǎn)發(fā)表和合并表。

    5 基礎(chǔ)設(shè)施層的設(shè)計

    圖4展示了該基礎(chǔ)設(shè)施層的設(shè)計全貌。正如前面所提到的,該系統(tǒng)為了避免占用額外的帶寬資源,采用了consolidation的設(shè)計思想。為了能在NF之間進(jìn)行數(shù)據(jù)分組傳遞時獲得高性能,采用了零數(shù)據(jù)分組復(fù)制的導(dǎo)流方法[20-21]。

    圖4 基礎(chǔ)設(shè)施層設(shè)計架構(gòu)

    圖4中的加粗實線代表該系統(tǒng)中的數(shù)據(jù)分組處理流程。當(dāng)數(shù)據(jù)分組到達(dá)服務(wù)器時,通過一個分類器將數(shù)據(jù)分組描述符發(fā)送到相應(yīng)的服務(wù)圖上。對于數(shù)據(jù)分組的傳遞,本文設(shè)計了一個分布式的NF運行環(huán)境,高效地在各個NF之間并行地傳遞數(shù)據(jù)分組。最后,同一數(shù)據(jù)分組的多個版本被送入合并模塊中,以產(chǎn)生最后的輸出,并且該模塊能被編排器動態(tài)地進(jìn)行配置。

    數(shù)據(jù)分組分類器:該分類器模塊從網(wǎng)卡處取得到達(dá)的數(shù)據(jù)分組,并找出與之相應(yīng)的服務(wù)圖信息,包括合并模塊中需要多少份復(fù)制的數(shù)據(jù)分組、如何對這些復(fù)制的數(shù)據(jù)分組進(jìn)行合并以及該服務(wù)圖的第一跳是哪個NF等信息。

    NF之間的數(shù)據(jù)分組傳遞:在NF對數(shù)據(jù)分組進(jìn)行處理后,該系統(tǒng)需將該數(shù)據(jù)分組傳遞到服務(wù)圖中相應(yīng)的下一個NF中,并在需要時對其進(jìn)行復(fù)制。如前所述,用集中的虛擬交換機(jī)進(jìn)行數(shù)據(jù)分組轉(zhuǎn)發(fā)可能會導(dǎo)致性能下降。為了解決該問題,該系統(tǒng)將數(shù)據(jù)分組的轉(zhuǎn)發(fā)任務(wù)進(jìn)行分解,并利用每個NF來獨立并行地將數(shù)據(jù)分組轉(zhuǎn)發(fā)至下一個NF中。圖4中,對數(shù)據(jù)分組處理完畢后,由該NF的運行環(huán)境將該數(shù)據(jù)分組的描述符復(fù)制到下一個NF的接收隊列中,以實現(xiàn)數(shù)據(jù)分組的傳遞。

    數(shù)據(jù)分組合并模塊:在所有的NF都對數(shù)據(jù)分組處理完畢后,該數(shù)據(jù)分組的多個版本被送入合并模塊中來產(chǎn)生最后的輸出。為處理每個數(shù)據(jù)分組的所有版本,該合并模塊需承受巨大的負(fù)載,并有可能因此成為整個系統(tǒng)的性能瓶頸。為了解決這個挑戰(zhàn),本文提出了在同一臺服務(wù)器中部署多個合并模塊的方法,并設(shè)計了合并代理以在多個合并模塊中進(jìn)行負(fù)載均衡。

    6 系統(tǒng)實現(xiàn)與實驗評估

    本文基于16.11版本的DPDK實現(xiàn)了該系統(tǒng)原型和NF操作收集工具。基于兩個配備有兩塊Intel(R) Xeon(R) E5-2690 v2 CPU(3.00 GHz, 10個物理核)、256 GB RAM和兩塊10 Gbit/s網(wǎng)卡的服務(wù)器組成的試驗床對其性能進(jìn)行評估。該服務(wù)器為運行版本號為4.4.0-31的Linux內(nèi)核,并利用Docker容器技術(shù)[25]來運行NF。

    對于測試所用的流量,通過在另一臺服務(wù)器上運行基于DPDK的數(shù)據(jù)分組發(fā)送器來生成數(shù)據(jù)分組,并通過網(wǎng)線與測試服務(wù)器直連。該分組發(fā)送器通過發(fā)送并接收數(shù)據(jù)分組來測試時延和沒有分組丟失情況下的最大吞吐率。為了評估該系統(tǒng),參考以往研究,實現(xiàn)了L3 forwarder(轉(zhuǎn)發(fā)器)、load balancer(負(fù)載均衡器)、firewall(防火墻)、IDS、VPN、monitor(監(jiān)視器)等NF。

    6.1 性能提升

    串行服務(wù)鏈的性能:在OpenNetVM和本系統(tǒng)中以相同的方式實現(xiàn)了一個L3 forwarder,并將多個相同的L3 forwarder組成一條串行的服務(wù)鏈。使鏈的長度從1到5發(fā)生改變。相比OpenNetVM,本系統(tǒng)會帶來較小的時延損耗,但在任意數(shù)據(jù)分組大小時,都能達(dá)到線速的轉(zhuǎn)發(fā)性能。

    NF復(fù)雜度的影響:對在本系統(tǒng)中實現(xiàn)的6個NF的性能進(jìn)行測量,將并行度控制為2。本文還比較了在64 byte小分組的情況下,需要進(jìn)行數(shù)據(jù)分組復(fù)制和不需要進(jìn)行數(shù)據(jù)分組復(fù)制時的優(yōu)化程度??梢园l(fā)現(xiàn),隨著NF復(fù)雜度的增加,NF并行化所帶來的時延優(yōu)化程度也增加。

    NF并行度的影響:為了獲得并行度與優(yōu)化效果的關(guān)系,將并行的firewall數(shù)量從2一直增加到5,分析復(fù)制或不復(fù)制數(shù)據(jù)分組時的性能??梢杂^察到隨著NF并行度的增加,當(dāng)不需要復(fù)制數(shù)據(jù)分組時,時延減少比例從33%升至52%;而當(dāng)需要復(fù)制數(shù)據(jù)分組時,時延減少比例也能達(dá)到32%。因此能得出結(jié)論,當(dāng)NF并行度增加時,時延也減少得更多,而吞吐率卻不怎么受影響。

    6.2 額外損耗

    額外的資源損耗:為了評估該系統(tǒng)在復(fù)制過程中所帶來的資源損耗,本文計算了額外資源占用率與TCP數(shù)據(jù)分組大?。?4 ~ 1 500 byte)和NF并行度的函數(shù)關(guān)系。對于以太網(wǎng)中任何長度的TCP數(shù)據(jù)分組,其復(fù)制僅需額外占用64 byte的內(nèi)存。由資源損耗(ro)、數(shù)據(jù)分組長()和并行度()構(gòu)造了一個等式:ro = 64 × (–1 ) /。本文根據(jù)數(shù)據(jù)中心的分組長度分布可計算出,該系統(tǒng)的額外資源損耗為 ro = 0.088 × (–1 )。當(dāng)并行度為2時,額外的資源占用率為8.8%,但卻能獲得30%的時延減少。

    復(fù)制與合并時的性能損耗:對于數(shù)據(jù)分組復(fù)制的實現(xiàn),本文利用由DPDK提供的經(jīng)過優(yōu)化后的快速內(nèi)存復(fù)制接口來減少復(fù)制時的性能損耗。數(shù)據(jù)分組復(fù)制與合并僅帶來了平均9 μs的時延損耗和極小的吞吐?lián)p耗。但相比串行的組鏈方式,仍能獲得20%的時延減少。

    7 結(jié)束語

    本文提出了一個高性能的框架,通過創(chuàng)新性地在NFV場景下引入NF并行的思想來提高NFV的性能。該系統(tǒng)通過定義一種新的策略描述語言,讓網(wǎng)絡(luò)管理員更直觀地描述其NF之間串行或并行的服務(wù)組鏈意圖。然后該系統(tǒng)編排器將這些策略描述規(guī)則以較小的資源損耗為代價編譯為可并行的高性能服務(wù)圖。最后,該系統(tǒng)的基礎(chǔ)設(shè)施層執(zhí)行數(shù)據(jù)分組復(fù)制,導(dǎo)流和合并的操作來支持NF之間的并行處理。本文基于Linux的容器技術(shù)實現(xiàn)了該系統(tǒng)的原型機(jī),并驗證了其性能的優(yōu)化效果和所帶來的額外資源損耗。

    [1] SHERRY J, HASAN S, SCOTT C, et al. Making middleboxes someone else’s problem: network processing as a cloud service[J]. ACM SIGCOMM Computer Communication Review, 2012, 42(4): 13–24.

    [2] QUINN P, NADEAU T. Service function chaining problem statement: draft-ietf-sfc-problem-statement-10 [S]. 2014.

    [3] JOSEPH D A, TAVAKOLI A, STOICA I. A policy-aware switching layer for data centers[J]. ACM SIGCOMM Computer Communication Review, 2008, 38(4): 51-62

    [4] IETF SFC WG. Service function chaining use cases in data centers[S]. 2015.

    [5] HAEFFNER W, NAPPER J, STIEMERLING M, et al. Service function chaining use cases in mobile networks: draft-ietf-sfc- use-case-mobility-01[S]. 2014.

    [6] SEKAR V, EGI N, RATNASAMY S, et al. Design and implementation of a consolidated middlebox architecture[C]//The 9th USENIX Conference on Networked Systems Design and Implementation(NSDI'12), April 25-27, 2012, San Jose, CA, USA. New York: ACM Press, 2012: 24.

    [7] BREMLER-BARR A, HARCHOL Y, HAY D. OpenBox: a software-defined framework for developing, deploying, and managing network functions[C]//The Workshop on Hot Topics in Middleboxes and Network Function Virtualization, August 22-26, 2016, Florianópolis, Brazil. New York: ACM Press, 2016: 511-524.

    [8] HALPERN J, PIGNATARO C. Service function chaining (SFC) architecture: draft-ietf-sfc-architecture-07 [S]. 2015.

    [9] QAZI Z A, TU C C, CHIANG L, et al. SIMPLE-fying middlebox policy enforcement using SDN[J]. ACM SIGCOMM Computer Communication Review, 2013, 43(4):27-38.

    [10] ANWER B, BENSON T, FEAMSTER N, et al. A slick control plane for network middleboxes[C]// ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking, August 16, 2013, Hongkong, China. New York: ACM Press, 2013: 147-148.

    [11] FAYAZBAKHSH S K, CHIANG L, SEKAR V, et al. Enforcing network-wide policies in the presence of dynamic middlebox actions using flowtags[C]//Usenix Conference on Networked Systems Design and Implementation, USENIX Association (NSDI’14), April 2-4, 2014, Seattle, WA, USA. New York: ACM Press, 2014: 533-546.

    [12] GEMBER-JACOBSON A, VISWANATHAN R, PRAKASH C, et al. OpenNF: Enabling innovation in network function control[C]//The 2014 ACM Conference on SIGCOMM, August 17-22, 2014, Chicago, Illinois, USA. New York: ACM Press, 2014: 163-174.

    [13] 王歆平, 王茜, 劉恩慧, 等. 基于SDN的按需智能路由系統(tǒng)研究與驗證[J]. 電信科學(xué), 2014, 30(4): 8-14.

    WANG X P, WANG Q, LIU E H, et al. Research and verification on SDN-based on-demand smart routing system[J]. Telecommunications Science, 2014, 30(4): 8-14.

    [14] ETSI NFV ISG. Network functions virtualisation: an introduction, benefits, enablers, challenges and call for action [R]. 2012.

    [15] GANDHI R, LIU H H, HU Y C, et al. Duet: cloud scale load balancing with hardware and software[C]//The 2014 ACM Conference on SIGCOMM, August 17-22, 2014, Chicago, Illinois, USA. New York: ACM Press, 2014: 27-38.

    [16] LI B, TAN K, LUO L L, et al. ClickNP: highly flexible and high-performance network processing with reconfigurable hardware[C]//The 2016 ACM Conference on SIGCOMM, August 22-26, 2016, Florianópolis, Brazil. New York: ACM Press, 2016: 1-14.

    [17] PANDA A, HAN S, JANG K, et al. NetBricks: taking the V out of NFV[C]//The 12th USENIX Conference on Operating Systems Design and Implementation (OSDI’16), November 2-4, 2016, Savannah, GA, USA. New York: ACM Press, 2016: 203-216.

    [18] Intel. Data plane development kit[R]. 2018.

    [19] MARTINS J, AHMED M, RAICIU C, et al. ClickOS and the art of network function virtualization[C]// USENIX Conference on Networked Systems Design and Implementation, April 2-4, 2014, Seattle, WA, USA. New York: ACM Press, 2014:459-473.

    [20] HWANG J, RAMAKRISHNAN K, WOOD T. NetVM: high performance and flexible networking using virtualization on commodity platforms[J]. IEEE Transactions on Network and Service Management, 2015, 12(1): 34-47.

    [21] ZHANG W, LIU G, ZHANG W, et al. OpenNetVM: a platform for high performance network service chains[C]//The Workshop on Hot Topics in Middleboxes and Network Function Virtualization, August 22-26, 2016, Florianópolis, Brazil. New York: ACM Press, 2016: 26-31.

    [22] PALKAR S, LAN C, HAN S, et al. E2: a framework for NFV applications[C]// Symposium on Operating Systems Principles, October 4-7, 2015, Monterey, California, USA. New York: ACM Press, 2015: 121-136.

    [23] BREMLER-BARR A, HARCHOL Y, HAY D, et al. Deep packet inspection as a service[C]// ACM International on Conference on Emerging Networking Experiments and Technologies, December 2-5, 2014, Sydney, Australia. New York: ACM Press, 2014: 271-282.

    [24] BENSON T, AKELLA A, MALTZ D A. Network traffic characteristics of data centers in the wild[C]// 2010 Internet Measurement Conference, November 1-3, 2010, Melbourne, Australia. New York: ACM Press, 2010: 267-280.

    [25] MERKEL D. Docker: lightweight linux containers for consistent development and deployment[J]. Linux Journal, 2014(239): 2.

    NFP: enabling network function parallelism in NFV

    BI Jun, SUN Chen, YU Heng

    Tsinghua University, Beijing 100084, China

    Software-based sequential service chains in network function virtualization (NFV) could introduce significant performance overhead. Current acceleration efforts for NFV mainly target on optimizing each component of the sequential service chain. However, based on the statistics from real world enterprise networks, it was observed that 53.8% network function (NF) pairs could work in parallel. In particular, 41.5% NF pairs could be parallelized without causing extra resource overhead. NFP was presented, a high performance framework, that innovatively enabled network function parallelism to improve NFV performance. NFP consisted of three logical components. Firstly, NFP provided a policy specification scheme for operators to intuitively describe sequential or parallel NF chaining intents. Secondly, NFP orchestrator intelligently identified NF dependency and automatically compiled the policies into high performance service graphs. Thirdly, NFP infrastructure performed light-weight packet copying, distributed parallel packet delivery, and load-balanced merging of packet copies to support NF parallelism. An NFP prototype based on DPDK in Linux containers was implemented. The evaluation results show that NFP achieves significant latency reduction for real world service chains.

    NFV, network function parallelism, service chain

    TP393

    A

    10.11959/j.issn.1000?0801.2018216

    2018?06?21;

    2018?07?06

    畢軍(1972?),男,博士,清華大學(xué)網(wǎng)絡(luò)科學(xué)與網(wǎng)絡(luò)空間研究院副院長、計算機(jī)科學(xué)與技術(shù)學(xué)科和網(wǎng)絡(luò)空間安全學(xué)科博士生導(dǎo)師,長江學(xué)者特聘教授,北京信息科學(xué)與技術(shù)國家研究中心未來網(wǎng)絡(luò)理論與應(yīng)用研究部主任,主要研究方向為互聯(lián)網(wǎng)體系結(jié)構(gòu)、SDN/NFV、IPv6安全體系結(jié)構(gòu)等。

    孫晨(1992?),男,清華大學(xué)計算機(jī)系博士生,主要研究方向為SDN/NFV、網(wǎng)絡(luò)測量。

    于恒(1995?),男,清華大學(xué)計算機(jī)系博士生,主要研究方向為SDN/NFV。

    猜你喜歡
    時延損耗分組
    分組搭配
    基于GCC-nearest時延估計的室內(nèi)聲源定位
    電子制作(2019年23期)2019-02-23 13:21:12
    基于改進(jìn)二次相關(guān)算法的TDOA時延估計
    怎么分組
    分組
    FRFT在水聲信道時延頻移聯(lián)合估計中的應(yīng)用
    自我損耗理論視角下的編輯審讀
    新聞傳播(2016年11期)2016-07-10 12:04:01
    基于分段CEEMD降噪的時延估計研究
    變壓器附加損耗對負(fù)載損耗的影響
    非隔離型單相光伏并網(wǎng)逆變器的功率損耗研究
    凤城市| 乐东| 泗洪县| 汪清县| 天祝| 吐鲁番市| 苍梧县| 连山| 绥棱县| 永仁县| 通渭县| 岫岩| 新疆| 墨脱县| 富蕴县| 突泉县| 盐池县| 大厂| 湖南省| 天等县| 伊春市| 渝中区| 永丰县| 库伦旗| 西峡县| 图片| 安福县| 奉新县| 太仆寺旗| 商洛市| 黎城县| 大荔县| 金湖县| 日喀则市| 北票市| 赣州市| 静海县| 广南县| 维西| 山西省| 奉化市|