范宏偉,,
(國家數字交換系統工程技術研究中心,鄭州 450002)
為了滿足未來網絡的發展需求,由運營商主導發起的新型網絡技術——網絡功能虛擬化(Network Function Virtualization,NFV)隨之興起。在NFV架構中,網絡功能由軟件實現,并以虛擬網絡功能(Virtual Network Function,VNF)的形式部署在通用架構的服務器中,從而實現了網絡功能與硬件設備的解耦合,加快網絡功能的部署,促進了網絡功能的創新。然而,基于軟件實現的VNF在數據包處理方面性能較差,和專用設備相比,大概有30%~40%的性能損失[1],是NFV部署和發展的主要瓶頸之一。因此,有必要對VNF的數據包處理進行加速。
目前,針對VNF數據包處理性能較差的問題,主要有軟件加速和硬件加速2類解決方案。其中,軟件方案通過減少虛擬化和I/O開銷[2-4]來加速數據包處理,但單純的軟件方案難以滿足不斷增長的數據包處理需求。硬件加速方案是指將VNF部分處理任務卸載到硬件中來,利用硬件的高性能來提升VNF的數據處理速率。與軟件相比,當同樣的數據包處理任務由硬件來完成時,可以大幅提高NFV系統吞吐率并減少處理時延。在NFV背景下,要求承載VNF的加速硬件具有可編程性,由于現場可編程門陣列(Field Programmable Gate Array,FPGA)可以根據需求改變邏輯功能,成為了業內不少研究所采用的硬件加速平臺。文獻[5]提出了一種基于FPGA的NFV平臺設計,利用FPGA實現完整的網絡功能,在滿足靈活性要求的同時,可獲得比擬專用硬件設備的性能。文獻[6]提出的OpenANFV架構在OpenStack的云環境下,實現特定VNF的加速性能最大化。文獻[7]提出的ClickNP架構使用類C的高級語言模塊化編程FPGA,并和CPU細粒度分工合作,實現高性能和低時延的網絡功能。文獻[8]提出的SLA-NFV架構專注于實現用戶的服務水平協議(Service Level Agreement,SLA),通過FPGA加速平臺增強NFV性能。綜上,現有的基于FPGA的硬件加速方案針對不同的VNF進行加速時,加速器的設計與VNF之間形成了“綁定”關系,與NFV分層解耦的思想相違背,而且FPGA的編程難度相對較高,增加了VNF開發者的負擔,不利于NFV生態系統的構建。
基于以上分析,為實現VNF數據包處理加速,本文提出一種基于FPGA的VNF通用硬件加速器 (General Hardware Accelerator,GHA)架構。通過設計能夠承載多種VNF加速的GHA架構,并采用FPGA動態局部重構的方法在加速板卡上獨立動態地部署加速器,保證整體架構的靈活性和功能之間的獨立性。采用基于改進離散粒子群優化(Discrete Particle Swarm Optimization,DPSO)的分配策略,為數據中心內的VNF分配虛擬加速資源,提升有限加速資源的收益。最后,基于NetFPGA-10G[9]板卡實現GHA加速平臺的原型,并對算法的有效性進行仿真測試。
本文的設計目標是設計一種基于FPGA的VNF通用加速架構GHA,能夠靈活承載不同的VNF,同時保證較高的數據處理性能,并實現對硬件資源的高效使用。因此,GHA應當遵循以下3個設計目標:
1)通用、靈活的加速架構。對于GHA,要能夠靈活地支持網絡中多樣的數據包協議,除了最基本的IPv4協議外,還能處理STT和VxLAN等新型數據包格式,實現對不同VNF數據處理的承載,保證架構的通用性。架構的通用性易于實現不同VNF對加速平臺的調用。
2)支持較高的數據包處理性能。在網絡中,通用性和高性能之間往往存在矛盾,為了實現較強的通用性,難免會降低硬件的處理性能。因此,在設計上需要實現通用性和高性能之間的平衡,保證在引入GHA加速架構后,能夠有效提升VNF的數據處理速率,滿足用戶需求。
3)對硬件資源的高效使用。基于FPGA的GHA架構要充分利用FPGA的動態可重構技術,可獨立配置加速器,為不同生命周期的VNF實現加速,彼此之間互不影響。被加速的VNF生命周期所占用的硬件資源能被重新使用,從而保證對硬件資源利用的高效性。
根據以上設計目標,基于FPGA硬件平臺的GHA整體架構如圖1所示。GHA架構將整個FPGA板卡分為一個靜態邏輯區和多個局部可重構區(Partially Reconfigurable Region,PRR)。其中,靜態邏輯區在運行時不用重新配置,將不同VNF的共享模塊部署在靜態邏輯區,包括GHA架構的基本組件——解析單元,以及負責通信與數據存儲的相關資源。每個PRR內包含相同數量的邏輯單元和存儲單元,彼此間通過總線實現互連,從而構成處理單元,也就是GHA架構的另一個基本組件。GHA架構在單塊FPGA板卡中可以包含多個處理單元,用于不同VNF的數據處理,彼此間相互獨立。不同VNF處理單元內包含的PRR個數由VNF的類型和配置信息條目的數量所決定。當舊的VNF生命周期結束,有新的VNF加速請求到達,相應處理單元內的PRR資源將被釋放,用來構建新VNF的處理單元。解析單元與VNF相應的處理單元共同組成GHA架構中的加速器,負責卸載到硬件部分的數據包處理任務,加速器的配置信息生成和VNF的剩余功能部分則由軟件完成。

圖1 GHA整體架構
VNF數據包處理流水線主要由“解析-匹配-動作”這3個階段組成。GHA基本組件分為解析單元和處理單元2個部分,實現對數據包流水線3個階段的處理。為了支持多種類型的VNF,解析單元采用可編程的解析器結構,根據用戶進行配置,識別不同的包頭格式,對到達GHA架構的數據包進行解析[10-11]。處理單元對解析結果進行匹配、查找后,利用可編程動作處理器[12-13],根據VNF配置需求對數據包進行動作處理。GHA相對固化簡單的流水線架構,能夠充分利用硬件的高性能特點,保證了加速器較高的數據包處理速率。GHA結合FPGA的動態重構和可編程特性,通過對2個組件的功能設計,將“解析-匹配-動作”這一結構[12]應用到VNF加速場景中,能夠承載諸多類型VNF的部分數據包處理任務,實現了一定的通用性,而且對于不同的VNF,僅需配置處理單元內相應的表項,不需要重新設計加速器的內部結構,降低了VNF加速器設計的復雜性。
解析單元整體結構如圖2所示。解析單元包含類型域提取模塊、類型域查找模塊、匹配域提取模塊和匹配域組合模塊4個模塊。當數據包到達后,類型域提取模塊讀取RAM1中存放的初始化類型域偏移信息,將初始狀態類型域信息提取出來,交給類型域查找模塊。類型域查找模塊在TCAM1中存放的類型域表項信息進行查找,根據查找結果提取出存放在RAM2中的相應匹配域和下一狀態類型域的偏移量信息。其中,匹配域偏移量信息送到匹配域提取模塊,該模塊根據偏移量提取相應匹配域,而類型域提取模塊則讀取下一狀態類型域的偏移量信息,進入下一狀態類型域的提取。整個提取過程將重復執行,直到提取出所有的類型域和相應匹配域信息。最后將全部的匹配域信息送入匹配域組合模塊,由該模塊將其組合成包頭域,作為該單元輸出結果,送往處理單元完成剩余的數據包處理環節。

圖2 解析單元整體結構
處理單元整體結構如圖3所示。處理單元包含匹配域選擇模塊、匹配模塊和動作執行器。當數據包的包頭域進入處理單元后,首先由匹配域選擇模塊根據RAM3中存放的VNF需要的匹配域信息,對包頭域內的信息進行篩選,然后將篩選結果送入匹配模塊。匹配模塊包括匹配、查找2個部分。首先該模塊讀取TACM2中存放的VNF配置的匹配信息,根據查找結果讀取SRAM中存放的相應動作字段。動作執行器根據動作字段完成相應報文的添加、刪除和修改等動作。

圖3 處理單元整體結構
作為VNF通用加速架構,GHA需要部署在NFV系統中,根據需求為不同類型的VNF加速。將GHA架構的FPGA板卡作為加速硬件(Acceleration Hardware,AH)資源部署到NFV基礎設施(NFV Infrastructure,NFVI)中,通過PCIe總線接入到通用服務器中。
為了使VNF能夠靈活地調用硬件加速資源,如圖4所示,利用虛擬化技術將AH資源轉化為虛擬加速資源。根據GHA架構在FPGA板卡上的實現方式,將板卡中的PRR作為最小粒度的虛擬加速單元;VNF的加速資源需求同樣以PRR為單位進行量化,衡量加速資源與VNF之間的供求關系。因此,為了提高AH資源利用率,所劃分的PRR內資源數量十分關鍵,要根據具體的FPGA板卡資源總量和不同場景下的VNF需求進行確定。

圖4 GHA在NFV中的部署
將硬件加速資源虛擬化后,為了減少管理開銷,并降低結構的復雜性,可以由虛擬基礎設施管理器(Virtual Infrastructure Manager,VIM)負責加速資源的管理和分配[14]。VIM通過南向接口與Hypervisor交互,實現對虛擬加速資源的管理,動態檢測加速資源的數量和狀態。當加速資源被分配或者釋放時,VIM會記錄資源的上升和下降,并保存到加速資源管理清單中。有新的加速資源加入時,VIM對其資源數量、能力和鏈路連接進行初始化和記錄。此外,VIM要對加速資源進行全方面的維護,負責資源的安裝和拆卸,升級和軟件更新。VIM要對加速資源的運行情況進行檢測,當硬件發生故障時,具有啟動恢復能力。
VNF管理功能塊(VNF Management,VNFM)負責VNF實例的生命周期管理,包括在部署過程中對所需的虛擬資源的支持。為了實現VNF對加速資源的調用,需要對當前VNFM規范進行擴展,將虛擬加速資源包含其中。當有新的VNF加速請求到達,VNFM會與VIM之間進行通信,將VNF的加速資源請求與VIM加速資源管理清單中的可用加速資源相匹配。相比于存儲和計算資源,硬件加速資源的數量有限,不能滿足當前時刻所有VNF的加速請求,要根據VNF加速資源請求的優先級,盡可能滿足優先級高的VNF。此外,為了保證公平性和穩定性,加速資源應當留有一定的裕量,以滿足下一時刻新的VNF加速請求。如果VNF加速資源請求被滿足,根據相應的配置信息對VIM分配的PRR進行處理單元的重構配置。為了實現VNF之間功能的隔離,加速資源一旦被占用,直到VNF生命周期結束后才會被釋放,并重新成為VIM加速資源管理清單中的可用資源。
VNF與GHA之間的映射關系如圖5所示。用戶流量T要按順序依次經過網絡中部署的3個VNF。其中,VNF3由GHA承載,VNF1和VNF2仍基于軟件進行數據處理。在數據傳輸、處理時,VNF1和VNF2依舊映射到計算資源內,由CPU進行數據處理,而VNF3則映射到GHA架構的加速資源內,由FPGA內的加速器負責數據處理。因此,在部署GHA架構到NFV系統后,當有VNF被GHA加速時,原有的數據通路會發生改變,被加速的VNF的數據流會傳輸到GHA,剩余的數據處理仍在基于軟件的VNF中進行。

圖5 VNF映射到GHA的示意圖
基于FPGA的GHA加速資源可以部署到數據中心,加速數據中心內VNF的數據處理,降低處理時延,提高網絡吞吐量。數據中心內會存在大量有加速需求的VNF,但部署的加速資源數量與之相比卻是有限的,如果無差別地滿足VNF的加速需求時,加速資源會馬上被耗盡,無法滿足加速優先級更高的VNF的加速需求。因此,需要一種基于GHA架構的資源優化分配策略,能夠有效分配數據中心內有限的加速資源。
在數據中心中,與GHA加速資源分配相關的主要參數有:基于FPGA板卡的GHA加速資源總量,VNF加速資源開銷及相應的加速優先級。在GHA架構中,用戶可以根據需求設定VNF的加速優先級為1~3共3個級別。VNF的加速優先級為1時,需要優先分配相應的加速資源,滿足該網絡功能的加速需求,數量相對較少;當VNF的加速優先級為3時,需要根據分配后加速資源的剩余情況,決定是否滿足該類VNF的加速需求;而加速優先級為2時,也是VNF的默認優先級,是用戶在一般情況下的選擇,在滿足優先級為1的VNF加速需求后,再將剩余加速資源進行分配,盡可能滿足其需求。
對于相同加速優先級的VNF,尤其是2級加速優先級,在使用GHA架構加速后,對于加速資源開銷不同的VNF,其吞吐量提升幅度一般也會有差別。當加速資源無法滿足全部相同優先級的VNF時,為使得運營商獲得最大的收益,對不同VNF的加速收益e作出如下定義:
其中,tpn為VNF加速前的吞吐量,tpa為VNF加速后的吞吐量,r為VNF的加速資源開銷。顯然,不同類型的VNF通過GHA架構所獲得的加速收益不同,因此,存在一個有限加速資源收益最大化的問題。基于以上分析,可以得出加速資源分配的優化模型。
一個數據中心內某一時刻有m塊FPGA板卡內存在可分配的加速資源,第i塊板卡的空閑資源總量為Ci;有n個新生成的VNF需要加速,第j個VNF的資源開銷為rj,其加速收益為ej,硬件資源的總加速收益為E。
xij∈{0,1},i=1,2,…,m,j=1,2,…,n
(6)
式(2)是模型的優化目標,即在分配有限硬件加速資源的情況中,保證獲得最大的加速收益。式(3)~式(6)為約束條件。其中,式(3)是模型建立的前提,是對資源總量不足的描述。式(4)使得每塊板卡可提供的加速資源不超過其空閑資源上限,這也是對單個VNF的加速資源只能由單塊FPGA板卡提供的限制條件。位于不同板卡內的PRR以跨板卡的方式組成處理單元時,會對加速器的構建帶來額外的開銷和難度,同時增加整個架構管理的復雜性。因此,單個VNF的分配加速資源要限制在單塊板卡內。式(4)保證了VNF的加速資源最多只能被分配一次。式(5)對VNF加速資源分配矩陣的元素進行了約束,保證元素的取值范圍只能是0或1。若xij為1,表示第j個VNF的加速資源由第i塊板卡提供;若xij為0,表示第j個VNF的加速資源不由第i塊板塊提供。
根據上述加速資源資源分配模型,同時考慮到數據中心內所能承載的有加速需求的VNF數量較多,可以將該優化問題歸納為一個大規模多背包問題(Multiple Knapsack Problem,MKP)[15]。MKP是0-1背包問題的一個擴展形式,也是完全NP難問題,其計算復雜度為O(2mn)。因此,精確算法難以在實際應用的可行時間內獲得MKP的最優解,而目前用于求解MKP的啟發式算法僅限于遺傳算法(Genetic Algorithm,GA)[16]、人工魚群算法(Artificial Fish Swarm,AFS)[17-18]和粒子群優化算法(Particle Swarm Optimization,PSO)[19]。其中,GA算法對MKP的個體編碼形式一般為0-1矩陣,式(5)的約束使得該矩陣為稀疏矩陣,降低了算法的求解效率,對于大規模MKP,在實際應用時間很難得到令人滿意的結果;AFS算法對不可行解一般采用罰函數處理,而MKP問題本身約束的程度較高,當問題規模較大時,不可行解在初始化人工魚群及執行行為算子的過程中不斷增加,算法性能隨之劣化[20]。本文采用的DPSO算法對速度和位置更新方式進行了改進,編碼方式從0-1矩陣形式變為整數向量,而且對于不可行解的處理采用了隨機修復策略,避免對無效解的搜索。基于以上改進,DPSO算法在對大規模MKP問題求解時,在有限的時間內,能夠得到滿意解,具有較好的實用性。

算法給出了用DPSO優化分配的求解過程。首先確定粒子種群規模Size、最大迭代次數iter、位置更新公式中的慣性權重w。接著初始化每個粒子的位置編碼和速度編碼。其次對超出約束條件的粒子進行隨機修復,然后評價每個粒子的適應度,并更新個體歷史最優解和全局最優解,計算下一代每個粒子的速度和位置。最后將算法循環q次后,判斷粒子是否達到預設的資源收益或是否達到最大迭代次數,根據輸出結果進行加速資源的分配。
DPSO優化分配算法如下所示:
算法DPSO資源分配算法
輸入{Size,w,(r1,r2,…,rn),(e1,e2,…,en),(C1,C2,…,Cm)}
輸出最佳位置Pg
1.For each particle
2.initialization,generating X(0) and V(0) randomly
3.End
4.t←0
5.Do
6.For each partilce
7.For j=1:n
8.If xj(t)≠0
9.Rxj(t)←Rxj(t)+rj
10.End
11.End
12.If ?Ri(t)>Ci
13.H=rand(n)andj←1
14.Do
15.If xH(j)(t)≠0
16.xH(j)(t)←0 and Ri(t)←Ri(t)-rH(j)
17.End
18.While (Ri(t)>Ci)
19.End
20.For j=1:n
21.If xj(t)≠0
22.E(t)←ej(t)+E(t)
23.End
24.End
25.If E(t)>Pb(t)
26.Pb(t)←E(t)
27.End
28.End
29.For k=1:Size
30.If Ek(t)>Pg(t)
31.Pg(t)←Ek(t)
32.End
33.End
34.For each particle
35.V(t+1)=w?s(V(t))⊕rand()?[Pb(t)ΘX(t)]⊕rand()?[Pg(t)ΘX(t)]
36.X(t+1)=X(t)⊕V(t+1)
37.End
38.t←t+1
39.While(t≥iter or Pgachieved the scheduled gain)
定義如下公式:
a?b=round(ab)
(9)


對基于NetFPGA-10G平臺的GHA架構原型系統進行性能測試,而且對算法的加速收益優化率進行仿真驗證。
為了測試GHA架構的數據處理性能,本文基于NetFPGA-10G平臺實現了GHA原型,進行了數據吞吐量的測試。NetFPGA-10G板卡上的芯片系列為Xilinx Virtex 5(XC5VTX240T),具有4個10 Gb/s物理端口和4個支持直接內存訪問并連接了PCIe總線的虛擬端口。加速平臺的開發軟件環境為Xilinx ISE 14.7,利用Xilinx提出的動態局部可重構設計流程劃分出4個PRR,每個PRR中資源為9246 Slice,75 BRAM。硬件加速平臺通過PCIe總線與部署有VNF的通用服務器(Intel Xeon E5-2420 CPU 1.9 GHz,16 GB DDR3 RAM,Ubuntu14.04)相連,OpenVZ作為虛擬層,由Spirent Tester產生測試數據流,與FPGA的4個物理端口相連接,整個性能測試的搭建平臺如圖6所示。

圖6 數據平面的服務器和FPGA架構
為了驗證GHA加速架構對不同VNF數據處理的性能,分別采用虛擬路由器(vRouter)和防火墻作為VNF實例,而且與純軟件和采用DPDK軟件加速方案的包處理速率進行對比。為了比較實驗結果與純軟件VNF和DPDK軟件加速方案,在NetFPGA-10 Gb/s板卡上分別構建了一個vRouter和一個防火墻,并對不同長度的數據包處理速率進行測試,其中一個vRouter的資源為14 588 Slice,84 BRAM,需要2個PRR構建處理單元;一個防火墻的資源為14 588 Slice,65 BRAM,需要一個PRR構建處理單元。采用軟件方案測試時,將服務器的4個10 Gb/s端口直接與測試儀相連,其中服務器運行vRouter的軟件版本為Click[21],防火墻則為網絡層防火墻[22],負責檢測包的五元組信息。使用DPDK作為軟件加速方案時,VNF服務器分配2個核心用作數據包轉發,并且將內存大頁設置為4 G。Spirent測試儀在每次實驗中模擬生成20 000條流,而且分別設定數據包長度為64 Byte、512 Byte和1 512 Byte。
實驗結果對比如圖7所示。采用純軟件數據平面處理時,受到虛擬化開銷和多層I/O處理限制,2個VNF最多分別能達到677 Mb/s和670 Mb/s。利用DPDK的軟件加速方案,通過旁路內核協議棧和零復制等技術,極大減輕了數據包在服務器中的I/O開銷,但受到VNF本身的軟件處理速率的限制,吞吐量最多達到19 Gb/s和17.2 Gb/s。GHA架構下的vRouter和防火墻的數據包處理完全在FPGA內部完成,沒有經過CPU,吞吐量達到34 Gb/s和33.3 Gb/s。可見,GHA的最大吞吐量為純軟件的50.7倍、DPDK加速方案的1.8倍,通過GHA架構能夠提升VNF的數據處理速率。與其他類型VNF相比,vRouter和防火墻2類網絡功能的全部數據包處理任務由硬件實現,不經過CPU,加速效果顯著;但其他類型VNF的部分數據處理可能在CPU中實現,另一部分卸載到GHA硬件中,加速效果無法比擬實驗中的2類VNF。GHA架構的相對通用性降低了網絡功能加速的復雜性,但也限制了所能承載的數據處理任務,對不同類型的VNF加速效果不同。總地來說,相比純軟件和軟件加速方案,GHA架構以一種相對通用的加速方式,能夠對不同類型的VNF取得較好的加速效果。

圖7 3種類型加速方案的處理性能對比
對于分配算法的仿真,用Matlab R2015a編程,在PC機上(Intel Core CPU i5-3450 3.10 GHz,4 GB RAM)運行。為了對資源分配算法進行性能分析,將上述2類VNF的測試數據作為參考,設置8種不同參數的VNF作為初始數據,如表1所示。

表1 VNF類型和屬性
在仿真實驗中,設定單塊FPGA板卡所能提供的加速資源均為8個PRR。為了盡可能保證資源分配的公平性,給后到達的VNF留有可分配的加速資源,通過限制每次分配的硬件資源總量,實現系統的穩定性,根據每次加速資源的總開銷設定每次的資源分配總量。在此次實驗中,引入分配系數γ,表示可分配加速資源與總開銷之間的比值,分別設定為1/2、3/5和2/3,用于模擬真實環境,顯示不同情況下可分配的加速資源的總量。
為了測試算法對不同VNF數量的優化性能,一共做了5組實驗,每組實驗生成不同數目的服務功能鏈(Service Function Chain,SFC),每條SFC由8類設定的VNF中隨機挑選4個~6個來組成。在每組實驗中,對于同一數目的SFC,測試5次,然后取平均值。另外,設定DPSO算法中種群規模Size為100,最大迭代次數iter為200,慣性權重w為0.65+0.25×cos(t×π/iter),其中,t為迭代次數,w隨著算法迭代的進行而逐漸減小,可降低算法陷入局部最優的頻次。仿真不同分配系數下DPSO算法的加速收益,并與傳統的貪心算法(Greedy Algorithm)和遺傳算法(SGA)[23]的加速收益作對比。貪心算法按照VNF的加速收益大小依次選取剩余資源最大的FPGA板卡進行分配;SGA算法通過在適應性函數中引入容量約束懲罰和物體單一歸屬懲罰,并采用一致交叉的交叉算子[23],設定與DPSO算法相同的迭代次數,求解出資源分配方案。
圖8為3種加速資源分配算法的收益對比。由仿真結果可知,在相同的服務鏈數目下,3種算法的加速收益隨著分配系數的增大而增加。這是由于可分配的加速資源越多,VNF的加速需求得到滿足的可能性也就越大。加速資源分配數量與總開銷的比值γ、VNF個數和算法優化率之間的關系如圖8(d)和圖8(e)所示。綜合5次實驗結果,在限定不同的可分配加速資源總量時,與貪心算法相比,DPSO算法的收益優化效率平均能提升24.5%、13.5%和8.0%;與ASG算法相比,在相同的迭代次數內,DPSO算法得到的分配方案更優,收益優化率平均提升11.1%、7.8%和5.4%。當γ確定時,隨著VNF個數的增長,解空間不斷增大,在設定的搜索次數內,算法所能找到的較優解質量隨之下降,所提升的加速資源收益有限,可以通過增加種群規模和迭代次數擴大搜索范圍,直到找到令人滿意的結果;當VNF個數確定,加速資源分配數量與總開銷的比值γ越小,約束條件下的解空間越小,在相同的迭代次數內,算法能夠搜索到更優的資源分配方案,算法優化率明顯提高。可見,基于DPSO的資源分配優化算法是有效的,在實際情況中,需要根據具體VNF個數和加速資源總量以及所限定的加速資源分配時間,來確定種群規模和迭代次數,以獲得預期的優化率。

圖8 DPSO算法性能仿真結果
本文針對VNF在通用服務器中數據包處理性能受限的問題,提出了基于FPGA的相對通用的硬件加速架構GHA,將“解析-匹配-動作”的處理環節卸載到硬件中,由硬件中的解析單元、處理單元實現數據處理加速。GHA能夠利用FPGA的動態可重構技術,根據VNF需求部署GHA加速器。另外,采用DPSO算法對加速資源分配進行優化,提高了數據中心內有限硬件資源的加速收益。仿真測試證明,本文提出的VNF數據包硬件加速架構,在促進NFV性能提升的同時,降低了VNF加速的實現難度。