畢軍,孫晨,于恒
?
網絡功能虛擬化場景下的并行加速
畢軍,孫晨,于恒
(清華大學,北京 100084)
在網絡功能虛擬化場景下,每個網絡功能都以軟件的形式來實現。但傳統的串行網絡功能組鏈方式將帶來極大的性能損耗。而如今針對網絡功能進行加速的工作,主要集中在優化該串行鏈的每個組成成分上。提出了一個高性能的系統框架,通過讓網絡功能并行地對數據分組進行處理,提高網絡功能虛擬化場景下服務鏈的整體性能。該系統由3個部分組成。首先,該系統為管理員提供了一個策略描述語言來直觀地描述串行或并行的組鏈意圖。然后,該系統的編排器智能地鑒別網絡功能之間的依賴性,并基于所提供的策略,生成高性能的“服務圖”。最后,該系統的底層實現通過執行輕量級的數據分組復制、分布式的并行分組轉發和負載均衡后的數據分組合并來支持網絡功能的并行處理。基于DPDK技術,在Linux容器中實現了該系統的原型機。通過實驗驗證可知,該系統能極大地減少真實世界中服務鏈的處理時延。
網絡功能虛擬化;并行;服務鏈
為解決傳統的專用middlebox[1]所帶來的一系列問題,網絡功能虛擬化(network function virtualization,NFV)基于商用服務器硬件,利用虛擬化技術,實現各種各樣的網絡功能(network function,NF)。在運營商網絡[2]、數據中心[3-4]、移動網[5]和企業網[6]中,網絡管理員通常需要數據流以特定的順序穿過多個NF(例如依次通過防火墻、入侵檢測系統和代理服務器)[7-9],而以上需求通常被定義為服務組鏈需求。同時,軟件定義網絡(software defined networking,SDN)也常被用來在各個特定的NF之間進行導流,以執行該組鏈策略[3, 9-14]。所以NFV和SDN技術能共同提升在串行服務組鏈場景下的靈活性與動態性。
NFV在帶來如此多好處的同時,也伴隨著一些問題出現[15]。基于軟件實現的NF尤其容易帶來較明顯的性能損失。并且,服務鏈所帶來的時延將隨著組鏈長度的增加而線性增加。而對某些時延敏感型應用來說,這種情況將是不可接受的[16-17]。
對于在NFV場景下基于軟件實現的NF所帶來的性能缺陷問題,國際上已有多項研究工作來對其進行改善。通過圖1所示的服務鏈來展示各自的優化點。
?? 單個NF的加速:ClickNP[17]提出了將部分本應由軟件實現的邏輯功能通過可編程硬件(例如FPGA)實現的方式加速單個NF的處理速度。而NetBricks[18]則遺棄了傳統的基于虛擬機或容器技術的NF實現方式,通過將同一服務鏈中的所有NF運行在單個處理核上的方式來提高性能。
?? 數據分組傳遞的加速:Intel DPDK[19]、ClickOS[20]和NetVM[21-22]通過優化數據分組從網卡端口到虛擬機和虛擬機之間的傳遞過程來提高性能。
?? NF模塊化:OpenBox[7]對NF進行了模塊分解(在參考文獻[6, 10, 23]中也有提到),然后通過在串行服務組鏈時,共享NF之間相同的組建模塊,提高服務鏈的整體性能。
而以上研究都是在水平范圍內對NF的性能問題進行改善。例如,對服務鏈中的每個NF水平地進行了加速,但仍然保持了所有NF之間串行的組鏈方式。

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

圖2 支持NF并行的系統框架
因此,不同于以上所提及的所有NFV加速思想,本文抓住了在垂直范圍內對NFV性能進行提升的機會。基于以上的觀察,提出了一種高性能的系統框架,創新性地引入NF并行的思想以減少NFV場景下時延。如圖2所示,該系統框架由三大邏輯部分組成,包括策略描述語言、系統編排器和基礎設施層。
首先討論了在NFV場景下引入NF并行思想的動機,然后介紹了在設計過程中所面臨的挑戰。
NF并行將極大地降低時延:為了獲得在引入并行思想后更直觀的優化效果,收集了在企業網中常見的NF,其所進行的操作和所占的比例見表1[1,6],其中,%列代表其在企業網中所占的百分比,R代表讀操作,W代表寫操作,T代表執行操作。基于這些統計數據,計算出53.8%的NF之間都能對數據分組并行進行處理,這將給NF并行帶來極大的優化空間。
NF并行能兼容其他加速技術:首先,對于單個NF性能的加速技術[17-18],NF并行思想能對每個加速后的NF進行并行從而獲得更高的性能。然后,能利用快速數據分組傳遞技術[19, 21-22]在并行情況下加速數據分組的傳遞過程。最后,無論是一個整體的NF,還是模塊化的NF,都能從并行中受益。
基于以上動機,提出了一個創新性的系統框架,將NF并行的思想引入NFV場景以提高其性能。總結了在該系統設計過程中的4個關鍵挑戰,具體如下。

表1 常用NF及其對數據分組的操作 [1, 6, 24]
(1)服務圖策略描述語言的設計
為了支持NF的并行,需要一種新的更直觀的方式來描述NF串行和并行的組鏈意圖,以此來獲得更優化的并行服務圖。本文提出了一種擁有更豐富語義的策略描述語言來解決該問題。
(2)構建并行服務圖的系統編排器設計
支持并行對編排器分析NF之間的依賴性和自動將策略描述語言編譯為高性能服務圖的能力提出了挑戰。但是,人工對所有NF對之間的依賴關系進行分析,不僅耗費時間,而且缺乏可擴展性。為了解決該問題,提出了NF依賴性分析原則,通過在編排器中運行特定的算法,自動檢測NF之間的依賴性。
(3)減少資源損耗的系統編排器設計
引入NF并行的思想,可能需要對每個數據分組進行一次甚至多次的復制。因此,系統編排器在構建高性能服務圖時,還面臨著最小化資源損耗的挑戰。一種解決方法是采用consolidation的思想[6, 21],將服務圖中所有的NF放在同一臺硬件服務器上運行,以便只在內存中存儲復制的數據分組。為了獲得更好的優化效果,該系統編排器還需智能地進行分析,以爭取在無需進行數據分組復制的情況下實現NF之間的并行。
(4)支持NF并行的基礎設施層設計
首先,該基礎設施層需要引入一個輕量級的數據分組復制機制來最小化復制時所帶來的性能損耗。然后,該基礎設施層還需要一個合并模塊來對來自多個NF處理后的多個數據分組進行合并。最后,目前對NF之間的數據分組進行轉發的方案是基于一個集中的虛擬交換機[19-21]。但是,在該集中式交換機中的排隊時延將降低性能。
對于傳統的串行服務組鏈方式,網絡管理員只需定義一種語言,為串行服務鏈中的每個NF分配具體的位置即可,見表2中的第1行。但是,本系統希望構建支持并行的高性能服務圖,所以需要一種更直觀的方式來描述串行和并行的NF組鏈意圖。因此,本系統定義了3種策略描述規則,網絡管理員可以通過將幾種描述規則組合起來表達自己的組鏈意圖。對示例的串行組鏈和策略語言組鏈的不同表達方式見表2,其中,FW代表防火墻,LB代表load balance(負載均衡),VPN代表virtual private network(虛擬專用網絡)。

表2 對示例的串行組鏈和策略語言組鏈的不同表達方式
order(NF1,before,NF2):這條規則描述了兩個NF之間需要的執行順序。如圖1所示的服務鏈,網絡管理員可以通過指定order(VPN,before,monitor)讓數據流首先通過VPN,再通過monitor。然后,系統編排器會在NF之間的order規則中尋求并行執行的機會來提高性能。
priority(NF1 > NF2):在該系統中,網絡管理員需要能描述兩個NF之間并行執行意圖的規則。但是,這兩個NF之間的動作可能會產生沖突。例如,firewall和IPS會在是否丟棄某個數據分組的意見上產生分歧。因此,網絡管理員可以通過指定priority(IPS > firewall)規則來指示系統,當兩個NF并行時,如果發生沖突,則采用IPS的處理結果。
position(NF,first/last):圖1所示的數據中心服務鏈[4]需要所有的數據分組首先被VPN處理。這提出了將某個NF放于服務圖中特定位置的需求。但是,由于不能預先知道經過優化的服務圖的最終結構,只能為某個NF在服務圖中指定最前或最后的位置。設計了position(NF1,first/last)規則來描述這種需求。例如,可通過position(VPN,first)規則來保證所有的數據分組首先穿過VPN。
本系統編排器以策略描述規則作為輸入,并自動分析NF之間的依賴關系,以盡可能并行的方式將這些規則編譯為高性能的服務圖。
(1)NF并行可能性的分析
對于策略描述語言中以priority規則定義的兩個NF,可直接視為可并行的兩個NF。對于以position規則定義的兩個NF,可直接以串行的方式將其放置于服務圖的頭部或尾部。但是,對于以order規則定義的兩個NF,需要進一步分析其并行的可能性。為了分析這NF之間是否可并行,提出了結果一致性原則:當兩個NF并行時對相同數據分組的處理結果和每個NF各自的內部狀態與串行服務組鏈時的處理結果和內部狀態都相同時,本文認為這兩個NF是能并行執行的。例如,假設NF1對分組頭進行讀操作,而NF2接著對相同的分組頭域進行修改。為了保證NF1讀到的是分組頭的原始信息,而不是經過NF2修改后的信息,可以對數據分組進行復制,然后將這兩份數據分組并行地發送到這兩個NF中。若NF1首先對分組頭進行寫操作,而NF2再接著對分組頭進行讀操作,該管理員希望傳遞給NF2的數據是經過NF1修改后的結果。則此時,這兩個NF應該以串行的方式來組鏈。
(2)減少額外資源損耗
在priority規則或可并行的order規則下,如果兩個NF之間能通過復制數據分組的方式來并行執行,則會招致額外的資源損耗。為了解決這個問題,該系統引入了許多優化技巧來減少數據分組復制時的額外資源損耗。本文根據結果一致性原則,總結出了不需要數據分組復制就能支持并行的情況。例如,假設NF1和NF2都對數據分組進行讀操作,因為讀操作并不對數據分組進行任何修改,所以這兩個NF能同時對數據分組進行讀操作。為了進一步減少數據分組復制所帶來的額外資源損耗,提出了以下資源優化的技巧。
?? 內存重利用:對于讀—寫和寫—寫操作的情況,需要分析這兩個操作是否在同一個操作域中執行來判斷是否對其進行數據分組復制。如果這兩個NF讀或寫該數據分組中的不同域,則它們能同時對該數據分組安全地進行操作。
?? 只復制數據分組頭部:表1中,觀察到只有7%的NF需要對數據分組的有效載荷進行修改。并且,在數據中心中數據分組的平均長度為724 byte[25]。據此可知,分組頭僅占整個分組長度的8.8%。因此,對于一些NF并行的情況,本文提出了只復制數據分組頭部的技巧。
(3)NF并行可能性分析算法
基于以上提出的NF并行可能性分析和資源優化技巧,本文提出了NF并行可能性分析算法來對以order規則定義的兩個NF進行分析。該系統編排器以order規則定義的兩個NF作為輸入。這兩個NF可能出現不需復制即可并行、需復制才能并行和不可并行3種結果。首先,該算法從AT表中獲取這兩個NF要執行的所有操作。然后該算法窮盡地對這兩個NF中的所有操作對進行分析以確定其是否有并行的可能性。對于讀-—寫和寫—寫的情況,本文需要進一步確認這兩個操作是否針對同一域。如果這兩個NF在復制數據分組的情況下可以并行,還需對沖突的動作進行記錄。最后,該算法將產生這兩個NF是否能并行的結果以及是否存在沖突的操作。
(4)服務圖構建
該系統編譯器首先將策略描述規則轉換為預先定義的數據結構,然后將這些數據結構轉化為獨立的子圖,最后將這些子圖合并,產生最后的服務圖。
(5)將策略轉化為數據結構
本文設計了兩種類型的數據結構來存儲策略,如圖3所示。對于position規則,通過圖中左邊所示的數據結構來保存該NF的類型和其在服務圖中的位置。對于order規則,本文通過算法1來確定其是否能并行處理和可能的沖突操作。order和priority規則最后都被轉換成了如圖3右邊所示的數據結構。

圖3 并行服務圖構建過程
(6)將數據結構編譯為子圖
首先將不能并行的NF以串行的方式進行組鏈(如圖3中的NF2、NF3和NF4),然后將具有同一NF的數據結構組合成子圖。該系統擁有3種類型的子圖結構,包括單個NF(例如NF1、NF8)、樹形結構(例如NF2、NF3和NF4)和并行結構(例如NF5、NF6和NF7)。
(7)將子圖合并成服務圖
將子圖進行合并,以產生最后的服務圖。首先,以position規則定義的NF被放置到服務圖的頭部或尾部(NF1)。然后,將每一個生成的子圖(包括單個的NF)視為一個NF,窮盡地對每一個子圖對進行分析,以確定其之間是否存在依賴性。最后,將所有的獨立子圖并行放置(如圖3所示)。基于對NF的依賴性分析,還生成了數據分組轉發表和合并表。
圖4展示了該基礎設施層的設計全貌。正如前面所提到的,該系統為了避免占用額外的帶寬資源,采用了consolidation的設計思想。為了能在NF之間進行數據分組傳遞時獲得高性能,采用了零數據分組復制的導流方法[20-21]。

圖4 基礎設施層設計架構
圖4中的加粗實線代表該系統中的數據分組處理流程。當數據分組到達服務器時,通過一個分類器將數據分組描述符發送到相應的服務圖上。對于數據分組的傳遞,本文設計了一個分布式的NF運行環境,高效地在各個NF之間并行地傳遞數據分組。最后,同一數據分組的多個版本被送入合并模塊中,以產生最后的輸出,并且該模塊能被編排器動態地進行配置。
數據分組分類器:該分類器模塊從網卡處取得到達的數據分組,并找出與之相應的服務圖信息,包括合并模塊中需要多少份復制的數據分組、如何對這些復制的數據分組進行合并以及該服務圖的第一跳是哪個NF等信息。
NF之間的數據分組傳遞:在NF對數據分組進行處理后,該系統需將該數據分組傳遞到服務圖中相應的下一個NF中,并在需要時對其進行復制。如前所述,用集中的虛擬交換機進行數據分組轉發可能會導致性能下降。為了解決該問題,該系統將數據分組的轉發任務進行分解,并利用每個NF來獨立并行地將數據分組轉發至下一個NF中。圖4中,對數據分組處理完畢后,由該NF的運行環境將該數據分組的描述符復制到下一個NF的接收隊列中,以實現數據分組的傳遞。
數據分組合并模塊:在所有的NF都對數據分組處理完畢后,該數據分組的多個版本被送入合并模塊中來產生最后的輸出。為處理每個數據分組的所有版本,該合并模塊需承受巨大的負載,并有可能因此成為整個系統的性能瓶頸。為了解決這個挑戰,本文提出了在同一臺服務器中部署多個合并模塊的方法,并設計了合并代理以在多個合并模塊中進行負載均衡。
本文基于16.11版本的DPDK實現了該系統原型和NF操作收集工具。基于兩個配備有兩塊Intel(R) Xeon(R) E5-2690 v2 CPU(3.00 GHz, 10個物理核)、256 GB RAM和兩塊10 Gbit/s網卡的服務器組成的試驗床對其性能進行評估。該服務器為運行版本號為4.4.0-31的Linux內核,并利用Docker容器技術[25]來運行NF。
對于測試所用的流量,通過在另一臺服務器上運行基于DPDK的數據分組發送器來生成數據分組,并通過網線與測試服務器直連。該分組發送器通過發送并接收數據分組來測試時延和沒有分組丟失情況下的最大吞吐率。為了評估該系統,參考以往研究,實現了L3 forwarder(轉發器)、load balancer(負載均衡器)、firewall(防火墻)、IDS、VPN、monitor(監視器)等NF。
串行服務鏈的性能:在OpenNetVM和本系統中以相同的方式實現了一個L3 forwarder,并將多個相同的L3 forwarder組成一條串行的服務鏈。使鏈的長度從1到5發生改變。相比OpenNetVM,本系統會帶來較小的時延損耗,但在任意數據分組大小時,都能達到線速的轉發性能。
NF復雜度的影響:對在本系統中實現的6個NF的性能進行測量,將并行度控制為2。本文還比較了在64 byte小分組的情況下,需要進行數據分組復制和不需要進行數據分組復制時的優化程度。可以發現,隨著NF復雜度的增加,NF并行化所帶來的時延優化程度也增加。
NF并行度的影響:為了獲得并行度與優化效果的關系,將并行的firewall數量從2一直增加到5,分析復制或不復制數據分組時的性能。可以觀察到隨著NF并行度的增加,當不需要復制數據分組時,時延減少比例從33%升至52%;而當需要復制數據分組時,時延減少比例也能達到32%。因此能得出結論,當NF并行度增加時,時延也減少得更多,而吞吐率卻不怎么受影響。
額外的資源損耗:為了評估該系統在復制過程中所帶來的資源損耗,本文計算了額外資源占用率與TCP數據分組大小(64 ~ 1 500 byte)和NF并行度的函數關系。對于以太網中任何長度的TCP數據分組,其復制僅需額外占用64 byte的內存。由資源損耗(ro)、數據分組長()和并行度()構造了一個等式:ro = 64 × (–1 ) /。本文根據數據中心的分組長度分布可計算出,該系統的額外資源損耗為 ro = 0.088 × (–1 )。當并行度為2時,額外的資源占用率為8.8%,但卻能獲得30%的時延減少。
復制與合并時的性能損耗:對于數據分組復制的實現,本文利用由DPDK提供的經過優化后的快速內存復制接口來減少復制時的性能損耗。數據分組復制與合并僅帶來了平均9 μs的時延損耗和極小的吞吐損耗。但相比串行的組鏈方式,仍能獲得20%的時延減少。
本文提出了一個高性能的框架,通過創新性地在NFV場景下引入NF并行的思想來提高NFV的性能。該系統通過定義一種新的策略描述語言,讓網絡管理員更直觀地描述其NF之間串行或并行的服務組鏈意圖。然后該系統編排器將這些策略描述規則以較小的資源損耗為代價編譯為可并行的高性能服務圖。最后,該系統的基礎設施層執行數據分組復制,導流和合并的操作來支持NF之間的并行處理。本文基于Linux的容器技術實現了該系統的原型機,并驗證了其性能的優化效果和所帶來的額外資源損耗。
[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的按需智能路由系統研究與驗證[J]. 電信科學, 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?),男,博士,清華大學網絡科學與網絡空間研究院副院長、計算機科學與技術學科和網絡空間安全學科博士生導師,長江學者特聘教授,北京信息科學與技術國家研究中心未來網絡理論與應用研究部主任,主要研究方向為互聯網體系結構、SDN/NFV、IPv6安全體系結構等。

孫晨(1992?),男,清華大學計算機系博士生,主要研究方向為SDN/NFV、網絡測量。
于恒(1995?),男,清華大學計算機系博士生,主要研究方向為SDN/NFV。
