《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動態(tài) > 面向文件存儲的虛擬網(wǎng)絡(luò)映射算法

面向文件存儲的虛擬網(wǎng)絡(luò)映射算法

2018-10-25
作者:陳晨,鄭烇,王志臻,田洪亮


0 引言

隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,為了解決當(dāng)前互聯(lián)網(wǎng)“僵化”問題,研究者提出了網(wǎng)絡(luò)虛擬化技術(shù),它可以為用戶提供多樣化服務(wù)[1-2],也是構(gòu)建新一代網(wǎng)絡(luò)體系架構(gòu)的重要支撐[3]。虛擬網(wǎng)絡(luò)映射是實現(xiàn)網(wǎng)絡(luò)虛擬化的關(guān)鍵環(huán)節(jié),其目的是在滿足虛擬網(wǎng)絡(luò)請求(Virtual Network Request, VN請求)的前提下,將虛擬網(wǎng)絡(luò)以最小化成本映射到物理網(wǎng)絡(luò)上,實現(xiàn)網(wǎng)絡(luò)資源的高效利用[4]。

虛擬網(wǎng)絡(luò)映射問題包括節(jié)點映射和鏈路映射兩個問題,一般在節(jié)點映射階段采用啟發(fā)式算法,然后在確定源和目的節(jié)點的基礎(chǔ)上,將鏈路映射轉(zhuǎn)化為最小費用流問題,采用最短路徑算法完成映射。根據(jù)兩個問題是否獨立進(jìn)行,可將虛擬網(wǎng)絡(luò)映射分為同階段映射和兩階段映射[5]。同階段映射中,在映射虛擬節(jié)點的同時考慮鏈路映射,如D-ViNE算法[6]和vnmFlib算法[7]。兩階段映射中,節(jié)點映射和鏈路映射獨立進(jìn)行,先映射節(jié)點后映射鏈路,如NA-PVNM算法[8]。

在已有的研究中,VN請求大都是對節(jié)點計算資源和鏈路帶寬資源的需求。本文研究的是將含有文件需求的VN請求映射到有存儲的物理網(wǎng)絡(luò)上,VN請求不僅包括以上的需求,還包括對節(jié)點存儲資源的需求。因為物理節(jié)點上可能存在請求文件的存儲,所以當(dāng)請求命中時,該節(jié)點流向下游的流量減少。該情況可以轉(zhuǎn)化為節(jié)點的損耗問題,即廣義最小費用流問題[9]。本文提出了一種基于節(jié)點連通性廣義網(wǎng)絡(luò)單純形法的虛擬網(wǎng)絡(luò)映射算法——S-VNM算法,在節(jié)點映射階段綜合考慮節(jié)點位置和鏈路映射的映射成本兩個因素,從而減小搜索空間,降低映射成本。通過實驗仿真驗證了該算法的有效性和良好性能。

1  相關(guān)技術(shù)

1.1  虛擬網(wǎng)絡(luò)映射問題描述

1.1.1  虛擬網(wǎng)絡(luò)映射模型

在虛擬網(wǎng)絡(luò)映射模型中[10],物理網(wǎng)絡(luò)由一個無向圖 GS=(NS, ES, CS, BS) 表示,其中 NS代表物理節(jié)點,ES代表物理鏈路,CS代表物理節(jié)點的資源,BS代表物理鏈路的資源。本文研究的是在有存儲的物理網(wǎng)絡(luò)上進(jìn)行虛擬網(wǎng)絡(luò)映射,因此,CS代表的節(jié)點資源包括節(jié)點計算資源和存儲資源。VN請求也可以表示為GV=(NV, EV, CV, BV) ,各字符代表的意義與物理網(wǎng)絡(luò)類似。虛擬網(wǎng)絡(luò)映射過程用映射函數(shù) M (GV, GS)來表示:

M (GV, GS) :

(NV, EV, CV, BV) →(NS, ES, CS, BS)(1)

1.1.2  約束條件

虛擬節(jié)點映射時要滿足物理節(jié)點不可分拆、計算資源及存儲資源的約束,表示如下:

微信截圖_20181026093758.png

其中,式(2)表示每個虛擬節(jié)點只能映射到單個且互不相同的物理節(jié)點上;式(3)和式(4)分別表示物理節(jié)點可用的計算資源和存儲資源不少于虛擬節(jié)點的所需。

定義虛擬鏈路lV=(i, j) 映射到物理鏈路上的路徑集合為 PM(lV) 。定義路徑 p∈PM(lV) 上為虛擬鏈路分配的帶寬為 B(lV, p)。虛擬鏈路映射時約束如下:

image.png

式(5)表示鏈路映射過程中物理鏈路 lS上有足夠的帶寬資源 BS(lS)。

1.1.3  性能指標(biāo)

虛擬網(wǎng)絡(luò)映射問題是節(jié)點和鏈路資源約束下的優(yōu)化問題,主要的性能指標(biāo)有映射成本、映射時間[11]及VN請求的接受率等。本文以映射成本和映射時間作為評價算法的性能指標(biāo)。

虛擬網(wǎng)絡(luò)的映射成本包括節(jié)點映射成本和鏈路映射成本??傆成涑杀?C(GV) 表示如下:

image.png

其中,image.png 代表節(jié)點映射的計算成本,image.png 代表節(jié)點映射的存儲成本,CE(lV) 代表鏈路映射成本。

1.2  廣義最小費用流問題描述

在一些實際的網(wǎng)絡(luò)流問題中,有些節(jié)點和弧并不滿足流量平衡條件,使得經(jīng)典的網(wǎng)絡(luò)模型無法對其描述,現(xiàn)有研究將其稱為廣義費用流問題[9]。

1.2.1  廣義最小費用流問題

令 G=(N, A) 為一個有向網(wǎng)絡(luò),其中N為節(jié)點的集合,A為弧的集合。對于任意的弧 (i, j)∈A,令 xij表示從節(jié)點i出發(fā)沿著弧 (i, j) 行進(jìn)的流量,uij為 xij的上界,即:

0 ≤ xij≤ uij,(i, j)∈A                 (7)

令 0<μij<1 為弧 (i, j) 上的損耗因子,并假設(shè)當(dāng)沿著弧 (i, j) 從節(jié)點i發(fā)送一個單位流量時,有 μij 個單位流量到達(dá)節(jié)點j。對于節(jié)點 i∈N,定義 E(i)和 L(i) 分別為“進(jìn)入”和“離開”該節(jié)點的弧的集合,即:

E(i)={( j, i)∈A : j∈N} 且

L(i)={(i, j)∈A : j∈N}                              (8)

1.2.2  各節(jié)點約束條件

對于源節(jié)點S-節(jié)點,令 NS表示所有S-節(jié)點的集合。對每一個 i∈NS,有 E(i)=∮,且有一個輸入流 xi使得:

image.png

對于轉(zhuǎn)運節(jié)點O-節(jié)點,滿足:

image.png

對于分配節(jié)點D-節(jié)點,輸出弧上的流量與進(jìn)入弧上的流量成比例,滿足:

image.png

對于目的節(jié)點T-節(jié)點,對每一個 i∈NT,有 L(i)= ∮,且有一個輸出流 xi使得:

image.png

2  本文算法

本節(jié)詳細(xì)介紹了S-VNM算法,該算法實現(xiàn)了將含有文件需求的VN請求映射到有存儲的物理網(wǎng)絡(luò)上。其分為三個階段:(1) 虛擬節(jié)點排序;(2) 虛擬節(jié)點映射;(3) 虛擬鏈路映射。

2.1 虛擬節(jié)點排序

一個具體的VN請求包含多個虛擬節(jié)點,由于物理網(wǎng)絡(luò)資源有限,對資源需求越大的節(jié)點越難映射成功,因此優(yōu)先映射該類節(jié)點。同時,為了保證映射的相關(guān)性,在進(jìn)行下一個虛擬節(jié)點映射時,優(yōu)先選擇與已映射的虛擬節(jié)點集合有關(guān)聯(lián)的節(jié)點。

定義虛擬節(jié)點的需求 CR(nV) 如下:

image.png

其中,CC(nV) 代表虛擬節(jié)點 nV 的計算資源需求,CS(nV) 代表 nV 的存儲資源需求,L(nV)代表所有與 nV相關(guān)聯(lián)的鏈路集合,B(l) 代表與 nV相關(guān)聯(lián)的鏈路所需的帶寬資源。

2.2 虛擬節(jié)點映射

本文提出的虛擬節(jié)點映射算法是基于物理節(jié)點連通性和映射總成本實現(xiàn)的。

定義與虛擬節(jié)點 nV相關(guān)聯(lián)的已映射虛擬節(jié)點在物理網(wǎng)絡(luò)中的映射節(jié)點集合為M。定義物理節(jié)點 ns與集合M的連通性為 Nrank(ns):

image.png

其中,CC(ns) 代表物理節(jié)點 ns的可用計算資源,CS(ns) 代表 ns的可用存儲資源,Cavailable(nt, ns) 代表物理節(jié)點 nt 與 ns 之間的可行流,D(nt, ns) 代表兩節(jié)點之間的距離。

按照節(jié)點連通性將物理節(jié)點由大到小排序后,選擇排序靠前的節(jié)點作為待選節(jié)點。然后,對待選節(jié)點進(jìn)行節(jié)點映射和鏈路映射,根據(jù)每一次映射結(jié)果,統(tǒng)計節(jié)點的映射成本和所有相關(guān)鏈路的映射成本作為效用函數(shù) Ctotal(ns),以此來評價物理節(jié)點 ns,最終選擇效用函數(shù)最小的節(jié)點作為映射節(jié)點。效用函數(shù)Ctotal(ns) 表示如下:

image.png

其中,image.png 代表節(jié)點映射的計算成本,image.png 代表節(jié)點映射的存儲成本,CE(nt, ns) 代表映射到物理節(jié)點 ns的最小鏈路映射成本。

2.3  虛擬鏈路映射

在虛擬節(jié)點映射時,節(jié)點映射成本易求出,但如何求最小鏈路映射成本的問題可轉(zhuǎn)化為最小費用流問題。

本文的VN請求含有文件需求,因此在映射的過程中,應(yīng)考慮該情況:如果當(dāng)下的映射節(jié)點與已映射節(jié)點之間的路徑上存在含有該文件的節(jié)點,當(dāng)請求命中時,有該文件的節(jié)點類似于分配節(jié)點D-節(jié)點,需留下該文件的流而將其他需求的流送出。由此可見,求解鏈路映射成本問題可轉(zhuǎn)化為廣義最小費用流問題。

虛擬鏈路映射成本問題的模型可以表示為:

image.png

其中,x是在給定網(wǎng)絡(luò)G=(N, A) 的弧集上的可行流,F(xiàn)是所有滿足式(7)~(12)的可行流的集合,Cij是從節(jié)點i出發(fā)的單位流量沿弧 (i, j) 到達(dá)節(jié)點j所產(chǎn)生的費用。

賦予每一個節(jié)點 i∈N一個勢 π(i),定義弧(i, j)∈A 的檢驗數(shù) image.png 為:

image.png

定義迭代終止的最優(yōu)性條件,設(shè) (F, L) 為基本可行結(jié)構(gòu),其中,F(xiàn)表示可行解x的基本可行圖,L表示取值下界的弧的集合。如果對于某個給定的勢向量 π,弧上的檢驗數(shù)image.png滿足下列條件:

image.png

則 (F, L) 為最優(yōu)結(jié)構(gòu)。

本文提出的虛擬鏈路映射算法的核心思想是:

(1) 生成初始基本可行結(jié)構(gòu) (F, L)。

(2) 根據(jù)公式(18)計算節(jié)點的勢 π 和弧的檢驗數(shù)image.png

(3) 檢驗式(19)和式(20)所示的最優(yōu)條件。如果所有的最優(yōu)性條件全都滿足,則算法停止;否則,選擇一條不滿足最優(yōu)性條件的弧 (k, l) 作為進(jìn)基弧。

(4) 在進(jìn)基弧 (k, l) 上增加適當(dāng)?shù)牧髁?,計算基本可行圖上各弧上流量的調(diào)整量,更新基本可行解x和基本可行結(jié)構(gòu) (F, L),轉(zhuǎn)步驟(2)。

由此,可求出基本可行解x,進(jìn)而計算出虛擬鏈路映射的最小成本,再計算出待選節(jié)點的效用函數(shù) Ctotal(ns),選擇該值最小的節(jié)點作為映射節(jié)點,最終完成虛擬網(wǎng)絡(luò)映射。

算法  S-NVM

輸入:VN請求(NV, EV),物理網(wǎng)絡(luò)(NS, ES);

輸出:虛擬映射M(GV, GS)。

1. M= ∮,Di=,i=0,step=0,N// 初始化

// Di 代表待選物理節(jié)點的集合

2. for all nV∈NV //虛擬節(jié)點排序

3. count the CR(nV) of nV

4. end for

5.arrange nV in descending according to CR(nV)

6.for all niV∈NV

7.if (M= )// 第一個虛擬節(jié)點映射

8.select niV∈NV which has the biggest CR(nV)

9.select niS∈NS which has the biggest C(niS)

10. map niV to niS

11. end if

12. else// 虛擬節(jié)點和虛擬鏈路映射

13. select niV∈NV which has the biggest CR(nV)

// 選擇與上一個映射的虛擬節(jié)點有關(guān)聯(lián)的節(jié)點

14. order niS∈NS by Nrank(niS)

15. for all niS∈NS and step < N

// 選擇按照連通性大小排序后的前N個節(jié)點

16. count the Ctotal(niS)

17. step++

18. niS→Di

19. end for

20. select niS∈Di which has minimum Ctotal(niS)

21. niS→M

22. map niV to niS

23.end else

24.i++

25.end for

3  實驗與結(jié)果分析

實驗通過MATLAB進(jìn)行仿真評估。采用GT-ITM拓?fù)洚a(chǎn)生器隨機生成物理網(wǎng)絡(luò)和虛擬網(wǎng)絡(luò)請求。本文將D-ViNE算法和vnmFlib simple算法作為對照,從映射成本和算法運行時間兩方面進(jìn)行比較。

物理網(wǎng)絡(luò)包含60個節(jié)點,150條鏈路。物理節(jié)點的可用計算和存儲容量服從[50,150]均勻分布,單位成本服從[1,5]均勻分布。物理鏈路可用帶寬容量服從[1,100]均勻分布,單位成本服從[1,10]分布。虛擬網(wǎng)絡(luò)節(jié)點個數(shù)服從[3,15]均勻分布,任意兩個虛擬節(jié)點之間以0.5的概率連接,虛擬節(jié)點和虛擬鏈路需求服從[10,50]均勻分布。 μij=0.7。

基于以上仿真環(huán)境,運行三種映射算法,結(jié)果如圖1和圖2所示。

實驗結(jié)果表明,S-VNM算法整體上比其他兩種算法有優(yōu)勢。在映射成本方面,S-VNM算法性能最好,因為在搜索解空間過程中每次都取映射成本最小的節(jié)點作為映射結(jié)果。在運行時間方面,S-VNM算法優(yōu)于D-ViNE算法,這是因為S-VNM算法在映射時選擇連通性較大的節(jié)點進(jìn)行映射,減小搜索空間,從而降低運行時間。但S-VNM在運行時間方面劣于vnmFlib simple算法,這是因為vnmFlib simple算法直接使用區(qū)間內(nèi)的最大跳數(shù)作為路徑條數(shù)約束,雖沒有減小搜索空間,但算法復(fù)雜度低,所以運行時間短。

4  結(jié)論

本文提出一種啟發(fā)式搜索和基于廣義網(wǎng)絡(luò)單純形法的虛擬網(wǎng)絡(luò)映射算法——S-VNM算法,其實現(xiàn)了將含有文件需求的VN請求映射到有存儲的物理網(wǎng)絡(luò)上。S-VNM算法在節(jié)點映射階段把物理節(jié)點之間的連通性作為篩選標(biāo)準(zhǔn),虛擬節(jié)點的映射成本作為效用函數(shù),與傳統(tǒng)算法相比減小了搜索空間,降低了映射成本。在鏈路映射階段采用廣義網(wǎng)絡(luò)單純形法,與最短路徑算法相比降低了映射的時間復(fù)雜度。實驗結(jié)果表明,在綜合考慮映射成本和算法運行時間的情況下,本文提出的算法性能最優(yōu)。

參考文獻(xiàn)

[1] 桂燕興, 沈蘇彬, 毛燕琴. 基于SDN的虛擬網(wǎng)絡(luò)映射技術(shù)的研究與實現(xiàn)[J]. 微型機與應(yīng)用, 2015,34(13): 69-72.

[2] CHOWDHURY N M M K, BOUTABAR. A survey of network virtualization[J]. Computer Networks, 2010, 54(5):862-876.

[3] WANG A, IYER M, DUTTA R, et al. Network virtualization: technologies, perspectives, and frontiers[J]. Journal of Lightwave Technology, 2013, 31(4):523-537.

[4] 程祥, 張忠寶, 蘇森, 等. 虛擬網(wǎng)絡(luò)映射問題研究綜述[J]. 通信學(xué)報, 2011, 32(10):143-151.

[5] 蔡志平, 劉強, 呂品,等. 虛擬網(wǎng)絡(luò)映射模型及其優(yōu)化算法[J]. 軟件學(xué)報, 2012, 23(4):864-877.

[6] CHOWDHURY N M M K, RAHMAN M R, BOUTABA R. Virtual network embedding with coordinated node and link mapping[J]. Proceedings-IEEE INFOCOM, 2009, 20(1):783-791.

[7] LISCHKA J, KARL H. A virtual network mapping algorithm based on subgraph isomorphism detection[C]. ACM Workshop on Virtualized Infrastructure Systems and Architectures. ACM, 2009:81-88.

[8] 趙志遠(yuǎn), 孟相如, 蘇玉澤, 等. 基于節(jié)點鄰近感知與路徑綜合評估的虛擬網(wǎng)絡(luò)映射算法[J]. 電子與信息學(xué)報, 2017, 39(8):1979-1985.

[9] 魯海燕. 最小費用網(wǎng)絡(luò)流的若干新問題研究[D]. 杭州:浙江大學(xué), 2007.

[10] Yu Minlan, YI Y, REXFORD J, et al. Rethinking virtual network embedding: substrate support for path splitting and migration[J]. ACM Sigcomm Computer Communication Review, 2008, 38(2):17-29.

[11] Di Hao, Yu Hongfang, ANAND V, et al. Efficient online virtual network mapping using resource evaluation[J]. Journal of Network & Systems Management, 2012, 20(4):468-488.

(收稿日期:2018-03-30)

 

作者簡介:

陳晨(1994-),女,碩士,主要研究方向:未來網(wǎng)絡(luò)、虛擬網(wǎng)絡(luò)映射。

鄭烇(1970-),通信作者,男,博士,副教授,主要研究方向:未來網(wǎng)絡(luò)、命名數(shù)據(jù)網(wǎng)絡(luò)緩存和虛擬網(wǎng)絡(luò)映射。E-mail: qzheng@ustc.edu.cn。

王志臻(1993-),男,碩士,主要研究方向:未來網(wǎng)絡(luò)、虛擬網(wǎng)絡(luò)映射。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。