SDN網路虛擬化中有效協調的對映演算法
來自論文An efficient and coordinated mapping algorithm in virtualized SDN networks
1.Introduction
這篇文章關注於虛擬SDN網路中的對映技術。不同於先前的工作,這篇文章是第一個考慮了控制器放置和VN對映作為結合的vSDN對映問題,並用公式表達它為多目標整形線性規劃問題(integer linear programming ILP)來優化控制器到交換機時延和對映的花費。設計了一個新奇的線上vSDN對映演算法‘CO-vSDNE’來解決它。這個演算法由兩步組成(1)節點對映,解決控制器放置及節點對映;(2)連線對映。
這篇論文主要貢獻:
1.第一次嘗試線上vSDN對映問題
2.制定了這個問題為多目標ILP並設計啟發式演算法稱作CO-vSDNE來最小化控制器到交換機時延和對映花費
3.進行了廣泛時延來評估這個演算法,從時延,花費和收入,生產力等方面。
2.Related work
VN對映由兩個部分組成。虛擬節點對映,對映到底層節點並滿足虛擬節點的資源需求;虛擬連線對映,對映到無迴路底層路徑並滿足虛擬連線資源需求。
先前工作大部分對於傳統網路。也存在一些針對SDN網路。但既沒有考慮控制器放置問題,也沒考慮在節點對映時流表項資源分配問題。(Heller採用交換機和控制器間平均和最大時延作為效能度量,並評估上百種已存在網路拓撲,通過廣泛模擬來找到SDN網路中控制器最佳位置)。
在這個研究中將控制器放置問題和VN對映結合,來對映線上vSDN請求到物理SDN網路中。特別地,引進了控制器放置、虛擬節點對映、和連線對映間的協調。
3.System model
先介紹SDN虛擬化結構,再提供網路模型
3.1 SDN virtualization architecture
FlowVisor結構介紹
3.2Network model
將底層物理SDN基礎設施作為SN,並通過帶權無向網路圖Gs=(Ns,Ls)來模型化它,Ns指的是底層物理節點集合,|Ns|表示總數,Ls表示連線集合。
這篇研究中將CPU能力和可利用TCAM作為節點屬性,將可利用頻寬和時延作為連線屬性。交換機CPU用來處理資訊交流,TCAM用來處理流表。Ps表示無迴路底層路徑在SN中。
一個vSDN請求指定一個租戶的需求,包括VN的拓撲,虛擬節點資源,虛擬連線資源等。類似地模型化一個vSDN請求的VN,Gv=(Nv,Lv)
標註nc為一個vSDN的控制器,虛擬控制連線為集合Lc。對於每個虛擬控制連線lcv∈Lc,我們還考慮到它需要一定量的頻寬在lcv對映的底層路徑中,來避免流量擁塞。
4.Multi-objective optimization for joint VN embedding and the controller placement problem
解釋各個變數和限制,用來進行效能評估(可跳過)
4.1.1虛擬節點對映
CPU(ns)、TCAM(ns):底層節點ns的能力;
CPU(nv)、TCAM(nv):虛擬節點ns的需求量;
:表示是否虛擬節點ni對映到底層節點nj
同一個VN中,每個虛擬節點對映到不同物理及節點:
3中保證每個節點都對映;4保證不同
4.1.2虛擬連線對映
Bw(lij):物理連線可以用頻寬,lij∈Ls
Bw(luv):所需虛擬頻寬
fijuv表示哪條虛擬路徑luv經過物理lij
因此有:
連線限制:保證底層連線可連為一條路徑來維護一條虛擬路徑:
(當j固定的時候,就會出現前面1後面0)
4.1.3目標
考慮幾個目標:長期平均回報、長期平均花費、長期回報花費比(R/C)來作為VN的對映目標。
一個VN對映在t時刻的收益為:(需要的資源綜合)
花費:(分配給VN的資源總和)
因此長期平均收入為:
長期平均花費:
長期R/C比率:
R/C指SN資源利用率
4.2控制器位置
:控制器nc是否放在底層節點nj上
:是否虛擬控制連線lcv穿過底層連線lij
D(lij)表示時延
D:控制器到交換機平均時延,對於一個vSDN請求:
5.Heuristic algorithm design
5.1.1Controller node mapping
controller location selection factor(控制器位置選擇因素 CLSF)
將控制器節點附在底層節點上考慮CLSF。
底層節點ni的CLSF定義為:
bw(ni,nj)是沿著從ni到nj最短路徑上可利用的頻寬,表示這條路徑上最小頻寬;
delay(ni,ji)指從ni到ji的流量時延,由ni到nj最短路徑總時延得出。
(時延越低應該越好,所以放在分母,分子表示資源,越大越好)
由於虛擬節點對映還沒進行,我們需要將控制器放在底層節點,使其到別的各節點的平均時延最低,這樣才能使平均控制器到交換機時延最小。
CLSF考慮了從一個節點到其他所有節點的平均時延,同時還考慮了節點可利用資源以及連線頻寬,這使虛擬節點對映和連線對映更加容易。
5.1.2Virtual node mapping
這階段目標:找到底層節點來維持每個虛擬節點,同時最小化到控制器的時延,並滿足CPU、TCAM需求。
需預先考慮連線對映。
首先將虛擬節點更具資源需求的降序排序,一個虛擬節點的需求資源定義為:
L(nv):直接連線到節點nv的相鄰連線;
節點nv的H越大,表示其需求資源越多,因此越難對映。
構造一個虛擬節點對映樹(virtual node mapping tree VNMT),能有效減少虛擬連線所對映底層路徑的跳數。
VNMT是一顆對映樹根據H和VN的拓撲構建。
具體如下:對於給定的VN。先選最大的H值得節點作為根節點。然後與根節點由虛擬連線直接相連的虛擬節點作為其孩子節點根據H值降序從左到右連線。其他虛擬節點相似的遞迴構造。
在勾走好VNMT之後,CO-vSDNE採用廣度優先來對映。對於VNMT根節點,CO-vSDNE用最大H來對映到底層節點,H代表底層節點可利用資源。對於其它虛擬節點CO-vSDNE用最大NR來對映,NR是一個在虛擬節點對映階段選擇底層節點的度量(在公式31中)。當對映nv時,先建立候選底層節點集Ω(nv),由沒在相同vSDN中被對映的底層節點,並且可利用資源滿足nv需要的節點組成。如:
然後將節點nv對映到候選底層節點ns根據最大NR值:
H(ns)代表底層節點ns的可利用資源,由公式29得出。
MN(nc)表示控制器nc所在的底層節點,
delay(MN(nc), ns)表示從MN(nc)到ns的控制資訊時延,
f(nv)表示在VNMT樹種nv的父節點,
MN(f(nv))表示f(nv)所對映的底層節點
hops(MN(f(nv)), ns)表示在SN中從f(nv)到ns的最短路徑跳數
(這公式意思是可利用的資源越多,到前一個節點和到控制器時延越小,就優先選擇)
選擇的原因:
(1)底層節點由高H,表示底層節點資源豐富,選擇高的H有助於平和底層節點的壓力
(2)低的delay(MN(nc), ns)可減少控制器到交換機時延
(3)如果hops(MN(f(nv)), ns)太大,nv和f(nv)間虛擬連線花費就會太大,根據公式8,這就會導致SN的低資源利用率。
因此根據VNMT和NR虛擬連線節點對映演算法可以保持對映的底層節點連線互相靠近,這有利於接下來的虛擬連線對映
5.2LInk mapping
與先前工作相似,CO-vSDNE採用k最短路徑演算法來對映。虛擬連線所對映的不同底層路徑可能使用相同的底層連線,導致有限頻寬資源的競爭,這就使根據大的頻寬需求來對映變得很困難。
因此大的頻寬需求的連線應優先對映。具體說來,為了對映虛擬控制連線lcv∈LC,連線對映演算法搜尋k最短路徑通過增加k,如果找到一個路徑集合有相同的跳數並滿足頻寬需求就停止搜尋。
然後將lcv對映到這集合中最小時延的底層路徑。虛擬連線對映也是如此。
5.3 CO-vSDNE algorithm
現實場景,多個vSDN請求可能同時到達。因此設計演算法每個固定時間間隔執行一次。這時間間隔取決於即將到來的vSDN請求的允許等待時間和對映處理時間。
根據收益降序排序vSDN請求
對於所有未對映vSDN請求迴圈操作
(1)選收益最大
(2)節點對映
(3)連線對映
成功修改狀態,失敗標記失敗繼續迴圈