亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        NFV中單節(jié)點(diǎn)啟發(fā)式資源分配方法

        2020-06-09 07:21:08暢海峰楊雅婷
        關(guān)鍵詞:物理功能

        暢海峰,嵩 天,楊雅婷

        北京理工大學(xué) 計(jì)算機(jī)學(xué)院,北京100081

        1 引言

        網(wǎng)絡(luò)功能虛擬化[1](Network Functions Virtualization,NFV)的目標(biāo)在于:使用基于x86 的通用標(biāo)準(zhǔn)服務(wù)器代替?zhèn)鹘y(tǒng)網(wǎng)絡(luò)中的專(zhuān)用電信網(wǎng)元設(shè)備,通過(guò)虛擬化技術(shù)實(shí)現(xiàn)軟硬件解耦,使網(wǎng)絡(luò)功能不再依賴(lài)于專(zhuān)用硬件。

        然而,與傳統(tǒng)專(zhuān)用電信設(shè)備相比,將網(wǎng)絡(luò)功能(Network Functions,NFs)以軟件形式部署在虛擬環(huán)境中會(huì)導(dǎo)致網(wǎng)絡(luò)功能報(bào)文處理能力下降。虛擬化技術(shù)的固有性能損失會(huì)直接影響NFs性能。此外,基于通用設(shè)備的軟件NFs 與專(zhuān)用電信設(shè)備之間的報(bào)文處理能力仍存在較大差距。DPDK[2](Intel Data Plane Development Kit)是Intel 提供的數(shù)據(jù)平面開(kāi)發(fā)工具集,專(zhuān)注于網(wǎng)絡(luò)數(shù)據(jù)包的高性能處理,已在很多場(chǎng)景中被用來(lái)加速虛擬網(wǎng)絡(luò)功能。

        NFV使用通用標(biāo)準(zhǔn)服務(wù)器作為統(tǒng)一計(jì)算平臺(tái),在有限物理資源條件下,如何在合理分配資源的前提下部署虛擬網(wǎng)絡(luò)功能(Virtual Network Function,VNF),以滿(mǎn)足用戶(hù)各種業(yè)務(wù)需求,是網(wǎng)絡(luò)功能發(fā)展過(guò)程中重要的挑戰(zhàn)之一?,F(xiàn)有網(wǎng)絡(luò)功能虛擬化資源分配的相關(guān)研究多數(shù)是從編排層面提出部署方案,決定VNFs 的物理部署位置。本文則考慮實(shí)際部署環(huán)節(jié),針對(duì)單物理節(jié)點(diǎn)部署多VNFs場(chǎng)景,采用DPDK加速虛擬網(wǎng)絡(luò)功能,并研究網(wǎng)絡(luò)功能虛擬化中的單節(jié)點(diǎn)資源分配問(wèn)題(NFV Single Node Resource Allocation,NFV-SNRA)。

        2 網(wǎng)絡(luò)功能虛擬化發(fā)展現(xiàn)狀

        NFV將網(wǎng)絡(luò)功能從專(zhuān)用網(wǎng)元設(shè)備中抽象出來(lái),以軟件形式實(shí)現(xiàn),并部署在通用標(biāo)準(zhǔn)服務(wù)器上,從而實(shí)現(xiàn)網(wǎng)絡(luò)功能的靈活部署。NFV架構(gòu)[3]由三部分構(gòu)成:網(wǎng)絡(luò)服務(wù)、網(wǎng)絡(luò)功能虛擬化基礎(chǔ)設(shè)施(Network Functions Virtualization Infrastructure,NFVI)以及網(wǎng)絡(luò)功能虛擬化管理和協(xié)調(diào)控制器。

        運(yùn)營(yíng)商通過(guò)軟件方式定制網(wǎng)絡(luò)功能,通過(guò)組織一系列VNFs 實(shí)現(xiàn)特定的網(wǎng)絡(luò)服務(wù),從而更靈活快速地部署新服務(wù)。NFV 架構(gòu)使用通用標(biāo)準(zhǔn)服務(wù)器作為統(tǒng)一計(jì)算平臺(tái),運(yùn)營(yíng)商能夠更靈活高效地利用虛擬化基礎(chǔ)設(shè)施物理資源[4]。

        2.1 網(wǎng)絡(luò)功能虛擬化面臨的挑戰(zhàn)

        目前NFV已被學(xué)術(shù)界廣泛接受,具有美好的前景,但NFV技術(shù)整體上仍處于起步階段,在性能、資源分配等方均面臨挑戰(zhàn)。

        2.1.1 性能

        VNFs通常運(yùn)行在虛擬環(huán)境中,相較宿主設(shè)備,虛擬設(shè)備(例如,虛擬磁盤(pán)、虛擬網(wǎng)卡)的訪問(wèn)性能明顯下降。Passthrough 技術(shù)可以支持虛擬機(jī)直接訪問(wèn)外圍設(shè)備,提高虛擬機(jī)對(duì)外圍設(shè)備的訪問(wèn)性能。但該技術(shù)下,設(shè)備以獨(dú)占方式分配給某個(gè)客戶(hù)域,無(wú)法在多客戶(hù)域之間共享。SR-IOV[5](Single Root I/O Virtualization)規(guī)范定義了一個(gè)標(biāo)準(zhǔn)化的硬件虛擬化機(jī)制,原生地支持多客戶(hù)機(jī)共享物理設(shè)備,使設(shè)備資源得到充分利用。

        網(wǎng)絡(luò)I/O 能力是VNF 性能的核心關(guān)鍵。傳統(tǒng)模式中,Linux 內(nèi)核態(tài)網(wǎng)卡驅(qū)動(dòng)基于異步中斷模式處理網(wǎng)絡(luò)讀寫(xiě)事件。DPDK 則采用用戶(hù)態(tài)網(wǎng)卡驅(qū)動(dòng)基于輪詢(xún)(PMD)或者輪詢(xún)中斷混雜模式處理網(wǎng)絡(luò)讀寫(xiě)事件。相較中斷方式,輪詢(xún)方式避免了上下文切換造成的性能損失。另一方面,用戶(hù)態(tài)PMD 驅(qū)動(dòng)將網(wǎng)卡設(shè)備直接映射到用戶(hù)空間,通過(guò)旁路Linux內(nèi)核網(wǎng)絡(luò)協(xié)議棧,減少內(nèi)存拷貝次數(shù),進(jìn)而提升報(bào)文轉(zhuǎn)發(fā)能力。

        Passthrough 技術(shù)、SR-IOV 技術(shù)以及DPDK 從多個(gè)不同方面縮小了基于通用設(shè)備的VNF與專(zhuān)用電信設(shè)備之間的性能差距。

        2.1.2 資源分配

        網(wǎng)絡(luò)功能虛擬化資源分配問(wèn)題[6-9](Network Functions Virtualization Resource Allocation,NFV-RA)一直是NFV發(fā)展過(guò)程中的研究熱點(diǎn)之一。相關(guān)研究以QoS、利潤(rùn)最高、容錯(cuò)、負(fù)載平衡、節(jié)省能源等為目標(biāo),同時(shí)考慮性能、能耗、安全等多方面因素,解決構(gòu)建虛擬網(wǎng)絡(luò)功能鏈[10-12]、部署虛擬網(wǎng)絡(luò)功能[13-15]、調(diào)度虛擬網(wǎng)絡(luò)功能[16]等方面的資源分配問(wèn)題。

        其中,部署虛擬網(wǎng)絡(luò)功能階段解決如何將VNFs 映射到NFVI 中的物理節(jié)點(diǎn),虛擬網(wǎng)絡(luò)功能部署問(wèn)題已被證明是NP 難問(wèn)題。在網(wǎng)絡(luò)規(guī)模較小時(shí),使用線性規(guī)劃能夠得到最優(yōu)解。但網(wǎng)絡(luò)規(guī)模越大,線性規(guī)劃模型越復(fù)雜,無(wú)法在可接受時(shí)間內(nèi)得到全局最優(yōu)解。使用啟發(fā)式算法或元啟發(fā)式算法能夠在線性時(shí)間內(nèi)得到近似最優(yōu)解。

        2.2 相關(guān)工作

        為解決網(wǎng)絡(luò)功能部署和編排問(wèn)題,Chi 等[17]提出一種基于3-tire 樹(shù)形結(jié)構(gòu)的VNF 部署和流量調(diào)度算法。Cohen等[18]對(duì)VNF部署問(wèn)題進(jìn)行線性約束建模,提出一種近似最優(yōu)的部署算法;Sang 等[19]將VNF 部署問(wèn)題規(guī)約為集合覆蓋問(wèn)題,基于貪心算法提出一種可驗(yàn)證的高效部署方案。段通等[20]考慮硬件加速資源,提出一套VNF硬件加速資源編排機(jī)制。然而,上述研究都是從編排和部署方案層面分析NFV 資源分配問(wèn)題,卻鮮有涉及VNF 具體部署環(huán)節(jié),即對(duì)于部署到同一個(gè)物理節(jié)點(diǎn)上的所有VNFs,如何更高效地共享該節(jié)點(diǎn)的物理資源。畢軍等[21]考慮VNF并行加速,根據(jù)網(wǎng)絡(luò)功能之間的依賴(lài)性,提出一個(gè)高性能編排框架,但仍屬于編排設(shè)計(jì)層面,未解決具體的節(jié)點(diǎn)資源分配問(wèn)題。

        本文考慮實(shí)際部署環(huán)節(jié),針對(duì)單物理節(jié)點(diǎn)部署多VNFs場(chǎng)景,使用DPDK加速虛擬網(wǎng)絡(luò)功能,研究虛擬網(wǎng)絡(luò)功能的資源分配問(wèn)題,使用最少的物理資源滿(mǎn)足所有VNFs性能需求。

        3 DPDK性能測(cè)試與分析

        通過(guò)實(shí)驗(yàn)深入分析DPDK 對(duì)虛擬網(wǎng)絡(luò)功能的加速效果,測(cè)試內(nèi)核協(xié)議棧方式和DPDK方式的網(wǎng)絡(luò)包轉(zhuǎn)發(fā)性能及CPU資源消耗情況。

        基于2 臺(tái)配備有兩塊Intel?Xeon?E3-1220 v3 @3.10 GHz CPU,32 GB 內(nèi)存和一塊雙端口Intel?82599 10 Gbit網(wǎng)卡的服務(wù)器組成實(shí)驗(yàn)平臺(tái),進(jìn)行性能測(cè)試。虛擬機(jī)以Passthrough 方式獲得網(wǎng)卡的訪問(wèn)權(quán)限。內(nèi)核協(xié)議棧發(fā)包程序采用Linux 內(nèi)核發(fā)包模塊pktgen,內(nèi)核協(xié)議棧收包程序基于libpcap實(shí)現(xiàn);DPDK收發(fā)包程序基于DPDK-16.11.3實(shí)現(xiàn)。

        圖1(a)為普通虛擬網(wǎng)絡(luò)功能配置結(jié)構(gòu),圖1(b)為經(jīng)過(guò)Passthrough、DPDK加速后的虛擬網(wǎng)絡(luò)功能配置結(jié)構(gòu)。普通配置結(jié)構(gòu)中,物理網(wǎng)卡和虛擬網(wǎng)卡均由Linux內(nèi)核驅(qū)動(dòng)控制;后者以Passthrough方式將網(wǎng)卡直接分配給虛擬機(jī),并通過(guò)DPDK用戶(hù)態(tài)驅(qū)動(dòng)將網(wǎng)卡直接映射到用戶(hù)空間。

        3.1 轉(zhuǎn)發(fā)性能測(cè)試

        網(wǎng)絡(luò)包發(fā)送測(cè)試結(jié)果如圖2所示。

        圖1 (a) 普通配置

        圖1 (b) 經(jīng)Passthrough和DPDK加速的配置

        圖2 不同包長(zhǎng)的網(wǎng)絡(luò)包發(fā)送性能

        對(duì)比虛擬機(jī)中DPDK 和pktgen 的網(wǎng)絡(luò)包速發(fā)送速率。不同包長(zhǎng)情況下,pktgen 發(fā)送速率均處于較低水平;而DPDK發(fā)送速率在不同包長(zhǎng)情況下變化顯著。包長(zhǎng)越小,pktgen與DPDK的性能差距越明顯。發(fā)送64 B小包時(shí),DPDK 網(wǎng)絡(luò)包發(fā)送速率為pktgen 的7.7 倍。發(fā)送1 500 B 大包時(shí),DPDK 發(fā)送速率提升約2.5%。實(shí)驗(yàn)結(jié)果表明,在虛擬機(jī)中,包長(zhǎng)越小,DPDK對(duì)網(wǎng)絡(luò)包發(fā)送性能提升越大,當(dāng)包長(zhǎng)達(dá)到最大時(shí),二者性能間幾乎不存在差距。

        對(duì)比物理機(jī)中DPDK 的網(wǎng)絡(luò)包發(fā)送速率與10 Gb鏈路的理論帶寬值。物理機(jī)中DPDK 的發(fā)送速率接近10 Gb鏈路的理論帶寬。最差情況是發(fā)送64 B小包,此時(shí)DPDK的發(fā)送速率為10 Gb鏈路理論帶寬的97.2%。實(shí)驗(yàn)結(jié)果表明,物理機(jī)中DPDK 的發(fā)送速度幾乎達(dá)到10 Gb鏈路的理論帶寬。

        圖3 顯示libpcap 與DPDK 在不同環(huán)境、不同包長(zhǎng)情況下的網(wǎng)絡(luò)包接收速率。與圖2 中規(guī)律相似,相較libpcap,DPDK 處理小包的優(yōu)勢(shì)明顯。在虛擬機(jī)中,DPDK接收64 B小包速率是libpcap的18倍。

        圖3 不同包長(zhǎng)的網(wǎng)絡(luò)包接收性能

        上述實(shí)驗(yàn)結(jié)果表明,DPDK能夠顯著提升虛擬網(wǎng)絡(luò)功能的網(wǎng)絡(luò)包轉(zhuǎn)發(fā)性能。

        3.2 CPU資源消耗測(cè)試

        測(cè)試pktgen和DPDK的CPU資源消耗情況,對(duì)比在虛擬環(huán)境中不同包長(zhǎng)、不同發(fā)送速率情況下,兩種方式的CPU占用率。

        如圖4所示,pktgen的CPU占用率隨發(fā)送速率增加而升高,當(dāng)發(fā)送速率超過(guò)9.95 kp/s 時(shí),其CPU 占用率為100%;DPDK的CPU占用率始終為100%。

        圖4 pktgen和DPDK的CPU占用率

        綜上,DPDK 能夠更好地處理高負(fù)載網(wǎng)絡(luò),但在處理低負(fù)載網(wǎng)絡(luò)時(shí),CPU 有效利用率低。基于以上發(fā)現(xiàn),針對(duì)不同網(wǎng)絡(luò)負(fù)載大小,采用不同方式(Linux 內(nèi)核或DPDK)實(shí)現(xiàn)的VNF 實(shí)例。負(fù)載較低時(shí),采用傳統(tǒng)基于Linux內(nèi)核實(shí)現(xiàn)的實(shí)例,使用較低CPU資源即可滿(mǎn)足網(wǎng)絡(luò)負(fù)載;負(fù)載較高時(shí),傳統(tǒng)方式VNF實(shí)例的CPU占用率升高,并發(fā)生頻繁丟包,此時(shí)切換采用基于DPDK 實(shí)現(xiàn)的VNF實(shí)例。

        4 啟發(fā)式資源分配方法

        針對(duì)單物理節(jié)點(diǎn)部署多VNFs場(chǎng)景,如圖5所示,在考慮利用DPDK加速虛擬網(wǎng)絡(luò)功能的基礎(chǔ)上,提出一種基于貪心算法的啟發(fā)式資源分配方法,保證虛擬網(wǎng)絡(luò)功能性能的同時(shí),降低CPU資源消耗。

        圖5 單節(jié)點(diǎn)部署多個(gè)VNFs

        針對(duì)網(wǎng)絡(luò)流量負(fù)載的潮汐現(xiàn)象,提出一種基于網(wǎng)絡(luò)負(fù)載的VNF 實(shí)例自動(dòng)切換方案,根據(jù)實(shí)時(shí)網(wǎng)絡(luò)負(fù)載自動(dòng)切換VNF實(shí)例,滿(mǎn)足網(wǎng)絡(luò)負(fù)載需求的同時(shí),降低CPU計(jì)算資源消耗。

        4.1 基于貪心算法的虛擬資源分配方法

        DPDK 能顯著提升VNF 的轉(zhuǎn)發(fā)性能,其CPU 親和性特點(diǎn)要求特定任務(wù)只在特定CPU 核上運(yùn)行。然而,普通部署方法中,虛擬CPU 核與物理CPU 核之間的對(duì)應(yīng)關(guān)系具有不確定性,這導(dǎo)致DPDK特定任務(wù)實(shí)際綁定的物理CPU 核不固定,違背了DPDK 的CPU 親和性原則,從而造成性能損失。

        基于上述發(fā)現(xiàn),提出一種基于貪心算法的啟發(fā)式資源分配算法,確定虛擬CPU與物理CPU的對(duì)應(yīng)關(guān)系,并在保證虛擬網(wǎng)絡(luò)功能性能需求的同時(shí),將CPU 資源占用降低到最小。

        4.1.1 問(wèn)題描述

        NFV-SNRA問(wèn)題相關(guān)定義如下:

        (1)F={f1,f2,…,fm} ,F(xiàn) 表示部署在一個(gè)物理節(jié)點(diǎn)上的所有虛擬網(wǎng)絡(luò)功能集合。|F|=m ,表示該物理節(jié)點(diǎn)共部署m 個(gè)虛擬網(wǎng)絡(luò)功能。

        (2)R={r1,r2,…,rn},R 表示物理節(jié)點(diǎn)各CPU 核的計(jì)算資源量,可用CPU核數(shù)為n 個(gè)。

        (5)Xij表示是否將虛擬網(wǎng)絡(luò)功能fj部署在CPU核i 上,1表示是,0表示否。

        (6)L={l1,l2,…,ln},L 表示一個(gè)可行解,li表示CPU核i 上部署的虛擬網(wǎng)絡(luò)功能集合。

        (7)E(i)表示CPU 核i 上是否部署了虛擬網(wǎng)絡(luò)功能。若CPU 核i 沒(méi)有被分配給任何虛擬網(wǎng)絡(luò)功能,則E(i)為0;否則為1,表示CPU 核i 上至少部署了一個(gè)虛擬網(wǎng)絡(luò)功能。

        NFV-SNRA 所解決的問(wèn)題是,在滿(mǎn)足所有VNF 需求的前提下占用最少CPU資源,形式化描述如下:

        目標(biāo):

        滿(mǎn)足:

        其中,公式(3)表示,部署在CPU核i 上所有虛擬網(wǎng)絡(luò)功能的CPU 需求量之和不超過(guò)該CPU 核的CPU 資源量。公式(4)表示,所有虛擬網(wǎng)絡(luò)功能都應(yīng)得到資源分配,即滿(mǎn)足所有虛擬網(wǎng)絡(luò)功能的CPU資源需求。目標(biāo)是使用最少CPU核。

        4.1.2 困難性分析

        集合覆蓋問(wèn)題是一個(gè)經(jīng)典N(xiāo)P 難問(wèn)題,通過(guò)將集合覆蓋問(wèn)題規(guī)約到NFV-SNRA 問(wèn)題,證明NFV-SNRA 問(wèn)題是NP難類(lèi)型。

        集合覆蓋問(wèn)題中,集合U={e1,e2,…,em}共有m 個(gè)元素,Φ={u1,u2,…,un}是集合U 的n 個(gè)子集,Φ 中所有子集的并集等于集合U 。其目標(biāo)是使用最少子集ui,使其并集等于U 。

        以下證明NFV-SNRA是NP難問(wèn)題。

        證明 給定一個(gè)集合覆蓋問(wèn)題實(shí)例(U,Φ),構(gòu)造一個(gè)NFV-SNRA問(wèn)題實(shí)例(F,S,C)。對(duì)集合U 中的每個(gè)元素ej,構(gòu)造一個(gè)虛擬網(wǎng)絡(luò)功能fj。對(duì)Φ 中的每個(gè)子集ui,構(gòu)造一個(gè)VNF集合li,表示在CPU核i 上部署集合li中的所有VNFs。集合S 表示CPU 核負(fù)載情況,si表示CPU 核i 當(dāng)前可用資源量。NFV-SNRA 問(wèn)題的目標(biāo)是,使用最少CPU 核滿(mǎn)足所有VNFs 需求,即使用最少集合li覆蓋所有fj。這與集合覆蓋問(wèn)題使用最少子集ui覆蓋U 中所有元素ej的目標(biāo)一致。由此證明,NFV-SNRA是NP難問(wèn)題。

        4.1.3 基于貪心算法的啟發(fā)式資源分配算法

        對(duì)于集合覆蓋問(wèn)題,貪心算法能夠在多項(xiàng)式時(shí)間內(nèi)得到近似最優(yōu)解,本節(jié)提出一種基于貪心算法的啟發(fā)式資源分配算法。

        假設(shè),某物理節(jié)點(diǎn)需部署m 個(gè)虛擬網(wǎng)絡(luò)功能,用集合F 表示。物理節(jié)點(diǎn)當(dāng)前CPU 負(fù)載為S0。各虛擬網(wǎng)絡(luò)功能的最大CPU 占用率為C0。集合L 表示CPU 資源分配方案,初始值為空。集合U 表示未被分配的虛擬網(wǎng)絡(luò)功能集合,初始值為F。

        基于貪心算法,每次選擇包含未分配VNFs 最多的集合,直到所有VNFs都得到資源分配。

        算法1 VNF-SNRA啟發(fā)式資源分配算法

        輸入:虛擬網(wǎng)絡(luò)功能集F、虛擬網(wǎng)絡(luò)功能最大CPU 占用率C0、物理節(jié)點(diǎn)CPU核負(fù)載情況S0。

        輸出:VNF資源分配方案L。

        1. 令集合Φ 為集合F 的所有子集集合。

        2. 對(duì)于Φ 中的元素uk,若所有CPU核si都無(wú)法滿(mǎn)足uk中所有VNFs的CPU需求之和,則將uk從Φ 中移除。

        3.令U 為未分配的VNFs 集合。初始化U=F。令li∈L,i=1,2,…,n 為空集。

        4. while U ≠? do

        5. 選擇元素個(gè)數(shù)最多的子集u*,依據(jù)S0判斷是否存在CPU 核能夠滿(mǎn)足u*中所有VNFs 的需求,若存在一個(gè)或多個(gè)滿(mǎn)足需求的CPU核,選擇數(shù)值最小的核i*。

        6. 令li*=u*,更新

        7. 更新集合Φ,刪除Φ中所有包含子集u*中元素的子集。

        8.更新集合U ,移除子集u*所包含的所有元素。

        9.end while

        4.2 基于網(wǎng)絡(luò)負(fù)載的VNF實(shí)例自動(dòng)切換方案

        由3.2節(jié)實(shí)驗(yàn)結(jié)果可知,網(wǎng)絡(luò)負(fù)載較低時(shí),傳統(tǒng)方式在保證VNF性能的同時(shí),消耗CPU資源更少,但隨著網(wǎng)絡(luò)負(fù)載升高,傳統(tǒng)方式將消耗更多CPU資源,同時(shí)會(huì)產(chǎn)生可靠性問(wèn)題,例如頻繁丟包;而DPDK 能更加可靠地處理高負(fù)載網(wǎng)絡(luò),但在網(wǎng)絡(luò)負(fù)載較低時(shí),CPU 有效利用率低。

        綜上所述,考慮到網(wǎng)絡(luò)功能流量負(fù)載的潮汐現(xiàn)象,提出一種基于網(wǎng)絡(luò)負(fù)載的VNF實(shí)例自動(dòng)切換方案。網(wǎng)絡(luò)負(fù)載較低時(shí),采用基于Linux 內(nèi)核方式的VNF 實(shí)例,以較少CPU資源處理低負(fù)載網(wǎng)絡(luò)。當(dāng)網(wǎng)絡(luò)負(fù)載超過(guò)一定閾值時(shí),使用DPDK方式的VNF實(shí)例,高速處理網(wǎng)絡(luò)包?;诰W(wǎng)絡(luò)負(fù)載的VNF實(shí)例自動(dòng)切換方案相關(guān)定義如下:(1)Ht={},表示t 時(shí)刻虛擬網(wǎng)絡(luò)功能fj的網(wǎng)絡(luò)負(fù)載。

        (2)H*={} ,表示虛擬網(wǎng)絡(luò)功能fj的實(shí)例切換閾值。

        切換VNF 實(shí)例后,該VNF 對(duì)應(yīng)的CPU 資源需求量隨之改變。更新集合C 后,根據(jù)算法1 對(duì)該節(jié)點(diǎn)的VNFs重新進(jìn)行資源分配。

        5 實(shí)驗(yàn)與評(píng)估

        對(duì)單物理節(jié)點(diǎn)部署多VNFs 進(jìn)行模擬實(shí)驗(yàn),評(píng)估資源分配算法和自動(dòng)切換方案的效果?;趦膳_(tái)配備有兩塊Intel?Xeon?E3-1220 v3@3.10 GHz CPU,32 GB內(nèi)存,一塊雙端口Intel?82599 10 Gbit網(wǎng)卡和一塊四端口Intel?I350 1 Gbit網(wǎng)卡的服務(wù)器組成實(shí)驗(yàn)平臺(tái),進(jìn)行模擬實(shí)驗(yàn)。服務(wù)器運(yùn)行環(huán)境為CentOS7,使用KVM 虛擬化技術(shù)運(yùn)行VNF。

        5.1 資源分配算法評(píng)估

        在單節(jié)點(diǎn)啟發(fā)式資源分配算法實(shí)驗(yàn)中,以一個(gè)物理節(jié)點(diǎn)部署6個(gè)VNF為例,每個(gè)VNF實(shí)例分別部署在獨(dú)立的虛擬機(jī)中。每個(gè)虛擬機(jī)分配4個(gè)CPU核,以Passthrough方式訪問(wèn)網(wǎng)卡端口,其中VNF1和VNF2對(duì)應(yīng)萬(wàn)兆網(wǎng)口,VNF3~VNF6 對(duì)應(yīng)千兆網(wǎng)口。以網(wǎng)絡(luò)包發(fā)送速率作為VNF性能測(cè)量指標(biāo)。

        實(shí)驗(yàn)采用普通部署方法和算法1兩種方式進(jìn)行VNFs部署。對(duì)兩種不同的部署方法,分別進(jìn)行10次實(shí)驗(yàn),每次實(shí)驗(yàn)持續(xù)10 min,記錄VNFs實(shí)例的網(wǎng)絡(luò)包發(fā)送速率,取10次實(shí)驗(yàn)數(shù)據(jù)的平均值。

        實(shí)驗(yàn)結(jié)果如圖6 所示,使用啟發(fā)式資源分配算法,VNF1的性能提高了30%,VNF2、VNF3和VNF4的性能提高了10%。普通部署方法中,由宿主操作系統(tǒng)決定虛擬CPU與物理CPU的綁定關(guān)系,但這種綁定并不固定,在綁定關(guān)系發(fā)生變化時(shí),會(huì)產(chǎn)生上下文切換、cache 失效,從而造成性能損失。VNF5 和VNF6 的性能略有下降,但都不超過(guò)3%。需要說(shuō)明的一點(diǎn)是,凡是完成部署的VNFs 實(shí)例,分配給VNFs 實(shí)例的CPU 資源總能滿(mǎn)足其當(dāng)前所需。

        圖6 兩種部署方案的VNF網(wǎng)絡(luò)包發(fā)送性能

        5.2 VNF實(shí)例自動(dòng)切換方案評(píng)估

        在VNF 實(shí)例自動(dòng)切換方案實(shí)驗(yàn)中,發(fā)送端使用基于DPDK-16.11.3 實(shí)現(xiàn)的發(fā)包工具,模擬潮汐規(guī)律產(chǎn)生網(wǎng)絡(luò)流量,發(fā)送流量從100~600 kp/s潮汐變化,如圖7所示。接收端使用基于libpcap 和DPDK 實(shí)現(xiàn)的收包工具模擬VNF 實(shí)例,記錄虛擬網(wǎng)絡(luò)功能實(shí)例的網(wǎng)絡(luò)包接收速率、丟包率以及CPU占用率。

        圖7 發(fā)送端發(fā)送潮汐流量

        分別進(jìn)行以下三組實(shí)驗(yàn):

        (1)VNF實(shí)例全部采用libpcap方式實(shí)現(xiàn);

        (2)VNF實(shí)例全部采用DPDK方式實(shí)現(xiàn);

        (3)VNF實(shí)例根據(jù)流量負(fù)載自動(dòng)切換。

        如表1 所示,數(shù)據(jù)包長(zhǎng)為1 500 B 時(shí),libpcap的最大接收速率為287 656 p/s,僅為10 Gb 鏈路理論帶寬的35.0%;當(dāng)數(shù)據(jù)包長(zhǎng)為64 B 時(shí),libpcap 的最大接收速率756 550 p/s 僅為10 Gb 鏈路理論帶寬的5.1%。本實(shí)驗(yàn)以300 kp/s 作為切換閾值,確保VNF 實(shí)例能夠處理300 kp/s 以上的高速網(wǎng)絡(luò)。切換閾值可以根據(jù)具體場(chǎng)景、具體目標(biāo)進(jìn)行設(shè)置。

        表1 libpcap網(wǎng)絡(luò)包接收性能

        圖8 顯示接收端使用libpcap 方式VNF 實(shí)例的收包情況,負(fù)載為500~600 kp/s區(qū)間時(shí),平均丟包率為16.9%;負(fù)載為100~200 kp/s區(qū)間時(shí),平均丟包率為1.7%。

        圖8 接收端使用libpcap實(shí)現(xiàn)的VNF實(shí)例

        圖9 顯示接收端使用DPDK 方式VNF 實(shí)例的收包情況,在實(shí)驗(yàn)期間均未發(fā)生網(wǎng)絡(luò)包丟失。

        圖9 接收端使用DPDK實(shí)現(xiàn)的VNF實(shí)例

        圖10 顯示接收端基于網(wǎng)絡(luò)負(fù)載自動(dòng)切換VNF實(shí)例的收包情況。實(shí)驗(yàn)中,切換閾值設(shè)為300 kp/s。網(wǎng)絡(luò)負(fù)載在100~200 kp/s區(qū)間時(shí),采用libpcap方式實(shí)現(xiàn)的VNF實(shí)例;負(fù)載在500~600 kp/s 區(qū)間時(shí),采用DPDK 方式實(shí)現(xiàn)的VNF 實(shí)例。實(shí)驗(yàn)結(jié)果顯示,在高負(fù)載區(qū)間內(nèi)未發(fā)生網(wǎng)絡(luò)包丟失。

        圖10 接收端自動(dòng)切換VNF實(shí)例

        圖11 為三種方式的CPU資源消耗情況。libpcap方式下,CPU 占用率隨網(wǎng)絡(luò)負(fù)載線性變化。DPDK 方式下,CPU 占用率始終為100%。自動(dòng)切換方式下,使用libpcap方式VNF 實(shí)例時(shí),CPU 占用率較低,使用DPDK方式VNF實(shí)例時(shí),CPU占用率為100%。

        圖11 三種方式的CPU占用率

        基于上述實(shí)驗(yàn)結(jié)果,得出以下結(jié)論:

        (1)網(wǎng)絡(luò)負(fù)載較高時(shí),libpcap方式的VNF實(shí)例會(huì)消耗更多CPU資源,且伴隨頻繁丟包現(xiàn)象。

        (2)DPDK 方式實(shí)現(xiàn)的VNF 實(shí)例CPU 占用率始終為100%,在網(wǎng)絡(luò)負(fù)載較低時(shí)浪費(fèi)CPU資源。

        (3)自動(dòng)切換方案在網(wǎng)絡(luò)負(fù)載較低時(shí)采用libpcap方式的VNF 實(shí)例,以較低CPU 資源消耗處理低負(fù)載網(wǎng)絡(luò);網(wǎng)絡(luò)負(fù)載較高時(shí),采用DPDK 方式的VNF 實(shí)例,以較高CPU資源消耗高效處理高網(wǎng)絡(luò)負(fù)載,相較libpcap,性能提升了20%。

        綜上所述,本文所提基于網(wǎng)絡(luò)負(fù)載的VNF 實(shí)例自動(dòng)切換方案能夠在保證VNF 報(bào)文處理性能的同時(shí),降低CPU資源消耗。

        6 結(jié)語(yǔ)

        首先分析了NFV技術(shù)在性能和資源分配方面遇到的挑戰(zhàn)。然后,通過(guò)實(shí)驗(yàn)測(cè)試了DPDK 對(duì)VNF 的加速效果及對(duì)CPU 資源的利用情況。實(shí)驗(yàn)結(jié)果顯示,在虛擬環(huán)境中使用DPDK,網(wǎng)絡(luò)包接收速率是傳統(tǒng)方法的18倍,網(wǎng)絡(luò)包發(fā)送速率是傳統(tǒng)方法的7.7倍。

        在此基礎(chǔ)上,針對(duì)單物理節(jié)點(diǎn)部署多VNFs場(chǎng)景,提出了一種基于貪心算法的啟發(fā)式資源分配算法。實(shí)驗(yàn)結(jié)果顯示,所提算法能夠顯著提升VNF實(shí)例性能,提升10%~30%。

        考慮到網(wǎng)絡(luò)負(fù)載的潮汐現(xiàn)象,提出了一種基于網(wǎng)絡(luò)負(fù)載的VNF 實(shí)例自動(dòng)切換方案。實(shí)驗(yàn)結(jié)果顯示,該方案能夠在保證VNF 報(bào)文處理性能的同時(shí),降低CPU 資源消耗,在高網(wǎng)絡(luò)負(fù)載情況下,VNF性能較普通方式提高了20%。

        總的來(lái)說(shuō),本文以高效利用物理節(jié)點(diǎn)CPU 計(jì)算資源為優(yōu)化目標(biāo)進(jìn)行方法設(shè)計(jì)。在未來(lái)的工作中,將會(huì)引入存儲(chǔ)資源、帶寬資源等其他資源因素,進(jìn)行更全面的資源分配研究。

        猜你喜歡
        物理功能
        也談詩(shī)的“功能”
        只因是物理
        井岡教育(2022年2期)2022-10-14 03:11:44
        如何打造高效物理復(fù)習(xí)課——以“壓強(qiáng)”復(fù)習(xí)課為例
        處處留心皆物理
        我心中的物理
        關(guān)于非首都功能疏解的幾點(diǎn)思考
        三腳插頭上的物理知識(shí)
        懷孕了,凝血功能怎么變?
        媽媽寶寶(2017年2期)2017-02-21 01:21:24
        “簡(jiǎn)直”和“幾乎”的表達(dá)功能
        我不是教物理的
        中學(xué)生(2015年2期)2015-03-01 03:43:33
        日韩h网站| 亚洲国产精品亚洲一区二区三区| 国产精品成熟老女人| 青青草原精品99久久精品66| 在线视频 亚洲精品| 久久精品国产亚洲一级二级| 开心久久婷婷综合中文字幕| 四川丰满妇女毛片四川话| 国产看黄网站又黄又爽又色| 91在线区啪国自产网页| 日本一区二区视频免费在线观看| 无遮挡1000部拍拍拍免费| 国产99视频精品免视看9| 国产老妇伦国产熟女老妇高清 | 开心五月激情五月天天五月五月天 | 亚洲av免费看一区二区三区| 国产精品亚洲а∨无码播放| 无码精品人妻一区二区三区人妻斩| 久久精品国产亚洲AV无码不| 国产99久久久国产精品免费| 蜜桃视频在线看一区二区三区| 亚洲欧美激情在线一区| 一本大道久久东京热无码av| 亚洲免费一区二区av| 伊人久久精品无码二区麻豆| 少妇精品久久久一区二区三区| 欧美日韩国产乱了伦| 中文字幕亚洲一二三区| 国产午夜伦鲁鲁| 日韩在线免费| 中文字幕精品乱码一区| 婷婷精品国产亚洲av麻豆不片| 青青久在线视频免费观看| 亚洲成a人网站在线看| 国产在线精品观看一区二区三区 | 韩国黄色三级一区二区| 一本色道久久88加勒比—综合| 国产成人精品一区二区视频| 手机在线中文字幕国产| 亚洲中文字幕日韩综合| 国产麻传媒精品国产av|