范修宏,臧大偉,程 東
(1.中國(guó)科學(xué)院 西安光學(xué)精密機(jī)械研究所,陜西 西安 710119;2.中國(guó)科學(xué)院 計(jì)算技術(shù)研究所,北京 100190)
現(xiàn)在的數(shù)據(jù)中心廣泛使用虛擬化技術(shù),為了高效利用數(shù)據(jù)中心的物理資源,需要將盡可能多的虛擬拓?fù)溆成涞綌?shù)據(jù)中心物理服務(wù)器和網(wǎng)絡(luò)鏈路上運(yùn)行。然而,由于資源量及映射算法的不足,經(jīng)常會(huì)發(fā)生虛擬拓?fù)溆成涫〉膯?wèn)題,據(jù)統(tǒng)計(jì)有99%的不成功映射是由于虛擬鏈路無(wú)法映射引起[1]。當(dāng)前數(shù)據(jù)中心網(wǎng)絡(luò)缺乏彈性,是導(dǎo)致虛擬鏈路無(wú)法有效映射的主要原因,造成了數(shù)據(jù)中心硬件資源的極大浪費(fèi)。光交換技術(shù)具有很強(qiáng)的靈活性和極低的能耗[2],非常適合用來(lái)增強(qiáng)數(shù)據(jù)中心網(wǎng)絡(luò)的彈性。
基于網(wǎng)絡(luò)結(jié)構(gòu)與映射算法協(xié)同設(shè)計(jì)的思路,本文提出了一種基于AWGR器件的光電混合網(wǎng)絡(luò)結(jié)構(gòu)和面向此彈性網(wǎng)絡(luò)的虛擬拓?fù)溆成渌惴āV饕獎(jiǎng)?chuàng)新點(diǎn)在于,利用靈活可變的光域網(wǎng)絡(luò),通過(guò)改變波長(zhǎng)調(diào)整網(wǎng)絡(luò)之間的連接關(guān)系,重新分配鏈路的資源,從而提高數(shù)據(jù)中心的資源利用率和能效。模擬評(píng)測(cè)結(jié)果顯示,該方法可以極大提高數(shù)據(jù)中心的資源利用率和收益。
在光電混合數(shù)據(jù)中心網(wǎng)絡(luò)結(jié)構(gòu)研究方面,當(dāng)前大量的研究試圖結(jié)合高帶寬的光域交換技術(shù)和高靈活性的電域交換技術(shù),如c-Through,Helios,DOS,Proteus[3-5],Petabit Optical Switch[6]等經(jīng)典的光電混合網(wǎng)絡(luò)結(jié)構(gòu)。c-Through是一種基于慢速M(fèi)EMS交換機(jī)的光電混合網(wǎng)絡(luò)結(jié)構(gòu),它在電域樹(shù)形網(wǎng)絡(luò)的基礎(chǔ)上增加一個(gè)光域交換機(jī),每一個(gè)機(jī)柜中的柜頂交換機(jī)同時(shí)連接到電域網(wǎng)絡(luò)和光域網(wǎng)絡(luò),大流量的網(wǎng)絡(luò)流在兩個(gè)機(jī)柜之間的光鏈路上傳輸。在運(yùn)行過(guò)程中,流量監(jiān)控系統(tǒng)根據(jù)任意兩個(gè)機(jī)柜之間的帶寬需求,形成一個(gè)帶寬需求矩陣;為了提高光鏈路的帶寬利用率,光線路的配置轉(zhuǎn)變成一個(gè)最大權(quán)值的完美匹配問(wèn)題,使用Edmonds算法來(lái)求解匹配結(jié)果,并配置MEMS光交換機(jī),重構(gòu)光網(wǎng)絡(luò)的連接關(guān)系,然后使用基于VLAN的路由方法將ToR中的流量分配給電域網(wǎng)絡(luò)和光域網(wǎng)絡(luò)。但是,該結(jié)構(gòu)使用的MEMS交換機(jī),配置延遲達(dá)到秒級(jí),只適合處理持續(xù)時(shí)間達(dá)到數(shù)秒鐘的網(wǎng)絡(luò)流,而不能加速持續(xù)時(shí)間較短的網(wǎng)絡(luò)流。
如何利用光電混合網(wǎng)絡(luò)的靈活性,高效、動(dòng)態(tài)地將用戶需求映射到物理拓?fù)涫橇硗庖粋€(gè)核心問(wèn)題,可以分為在線映射算法和離線映射算法兩種。在線映射算法[7]為隨機(jī)到達(dá)的虛擬網(wǎng)絡(luò)請(qǐng)求給予資源分配,當(dāng)虛擬網(wǎng)絡(luò)拓?fù)溥\(yùn)行結(jié)束后,其自動(dòng)將資源回收。離線映射算法已知虛擬拓?fù)溆成湔?qǐng)求的一些詳細(xì)時(shí)間,對(duì)一段時(shí)間內(nèi)收集到的虛擬拓?fù)湔?qǐng)求進(jìn)行集中的處理,由于虛擬拓?fù)湟话阈枰L(zhǎng)時(shí)間運(yùn)行,本文所提出的方法為離線映射算法。按照虛擬拓?fù)溆成溆?jì)算方式的不同,映射算法分成集中式映射[8]與分布式映射[9]。集中式算法會(huì)在一個(gè)或幾個(gè)中心點(diǎn)上計(jì)算映射方式,由中心點(diǎn)負(fù)責(zé)資源的分配;而分布式算法將計(jì)算任務(wù)分配到若干的節(jié)點(diǎn),由若干的節(jié)點(diǎn)共同來(lái)完成資源分配和拓?fù)溆成?。按照虛擬節(jié)點(diǎn)與鏈路處理的處理順序不同,將映射算法分為一階段映射[10]和二階段映射[11]。一階段算法同時(shí)映射虛擬節(jié)點(diǎn)和虛擬鏈路;而二階段映射算法通常先進(jìn)行節(jié)點(diǎn)的映射、后進(jìn)行鏈路的映射,本文提出的算法是一種二階段的映射算法。當(dāng)前的研究主要在電域網(wǎng)絡(luò)上來(lái)進(jìn)行拓?fù)涞挠成?,例如文獻(xiàn)[12]提出了一種二階段的虛擬拓?fù)溆成浞椒ǎ谔摂M節(jié)點(diǎn)映射階段,采用貪婪算法將資源約束高的虛擬節(jié)點(diǎn)優(yōu)先映射到資源量大的物理節(jié)點(diǎn),同時(shí)使用路徑分割的算法VNE-Splitting,將同一條網(wǎng)絡(luò)流分散到多條路徑上運(yùn)行。這種方法提高了映射的成功率但需要特殊的硬件支持,并會(huì)產(chǎn)生網(wǎng)絡(luò)包亂序的問(wèn)題。文獻(xiàn)[10]提出了一種一階段的虛擬拓?fù)溆成渌惴?,它將?wèn)題歸約為一個(gè)SID(subgraph isomorphism detection)問(wèn)題[13],并提出了一個(gè)啟發(fā)式的算法來(lái)尋找Isomorphism圖,該方法可以取得很好的收益,但是仍然是針對(duì)純電域網(wǎng)絡(luò)。
同時(shí)也有研究試圖在光域中映射虛擬拓?fù)?,例如文獻(xiàn)[14]。但是它們通過(guò)波長(zhǎng)的分配來(lái)動(dòng)態(tài)變化鏈路的帶寬,而不會(huì)通過(guò)橋接光鏈路來(lái)降低網(wǎng)絡(luò)直徑,并不能有效增加數(shù)據(jù)中心的收益。
綜上所述,當(dāng)前的研究中并未將光域橋接網(wǎng)絡(luò)用于虛擬拓?fù)溆成涞难芯恐?,本文具有前瞻性和?chuàng)新性。
在數(shù)據(jù)中心運(yùn)行過(guò)程中,每個(gè)虛擬拓?fù)湔?qǐng)求不僅包含如計(jì)算能力、放置位置等節(jié)點(diǎn)資源約束,還包含帶寬、延遲等鏈路資源約束。所映射到數(shù)據(jù)中心中的虛擬拓?fù)洌梢怨蚕硐嗤牡讓庸?jié)點(diǎn)的計(jì)算資源和鏈路資源,而不能采用獨(dú)占模式。本節(jié)中給出虛擬網(wǎng)絡(luò)映射問(wèn)題的形式化描述,并給出該問(wèn)題一些評(píng)價(jià)指標(biāo)。
假設(shè)每一個(gè)虛擬拓?fù)溆成湔?qǐng)求中只包含一個(gè)虛擬拓?fù)?,因此可以用三元組V(i)(Gv,ta,td) 表示第i個(gè)虛擬網(wǎng)絡(luò)請(qǐng)求,其中Gv表示此請(qǐng)求包含的虛擬拓?fù)?。?dāng)ta時(shí)刻,虛擬拓?fù)湔?qǐng)求到達(dá)時(shí),數(shù)據(jù)中心需要為此虛擬網(wǎng)絡(luò)分配滿足節(jié)點(diǎn)和鏈路資源約束的物理資源,在虛擬網(wǎng)絡(luò)運(yùn)行持續(xù)td時(shí)間后,虛擬網(wǎng)絡(luò)運(yùn)行完成,其占用的相應(yīng)資源被釋放。如果請(qǐng)求到來(lái)時(shí),沒(méi)有足夠的資源分配,則將該請(qǐng)求放在等待隊(duì)列中,或直接拒絕映射。
光電混合網(wǎng)絡(luò)充分利用靈活可變的光域網(wǎng)絡(luò),從物理鏈路層改變數(shù)據(jù)中心網(wǎng)絡(luò)的拓?fù)浼軜?gòu),從而可以實(shí)現(xiàn)網(wǎng)絡(luò)資源的靈活調(diào)度和分配。本文所基于的數(shù)據(jù)中心物理網(wǎng)絡(luò)包括兩部分,分別為固定拓?fù)涞碾娪蚓W(wǎng)絡(luò)和動(dòng)態(tài)可變的光域網(wǎng)絡(luò)。固定拓?fù)涞碾娪蚓W(wǎng)絡(luò)可以采用任意的拓?fù)浣Y(jié)構(gòu)如Fat-tree,Torus,Mesh等,同時(shí)電域網(wǎng)絡(luò)根據(jù)自己的拓?fù)浣Y(jié)構(gòu)均勻的分成若干的區(qū)塊,例如在樹(shù)形拓?fù)浣Y(jié)構(gòu)中,每一個(gè)機(jī)柜就是一個(gè)區(qū)塊,區(qū)塊的數(shù)量與所采用的光交換機(jī)的端口數(shù)相等。在每一個(gè)區(qū)塊中選擇一個(gè)具有最大通信能力的物理位置作為光域網(wǎng)絡(luò)的連接點(diǎn),例如在樹(shù)形拓?fù)渲械倪B接點(diǎn)就是ToR(top of rack)交換機(jī)的上行端口,而在Torus拓?fù)渲校梢允菂^(qū)塊中任意得到一個(gè)點(diǎn),如圖1所示。
圖1 動(dòng)態(tài)光電混合網(wǎng)絡(luò)實(shí)例
在該結(jié)構(gòu)中使用了多種光器件:首先是TWC(tunable wavelength converters)可調(diào)波長(zhǎng)光調(diào)制器,它將輸入的光信號(hào)變換成給定波長(zhǎng)輸出;目前的160 Gbps的波長(zhǎng)轉(zhuǎn)換帶寬[15]的TWC已經(jīng)商用,其重構(gòu)時(shí)間只有十幾個(gè)納秒。其次是AWGR(arrayed-waveguide grating router)光波長(zhǎng)路由器,它根據(jù)光的波長(zhǎng)進(jìn)行路由,允許不同輸入端口的光線路由至同一輸出端口;由端口i輸入的波長(zhǎng)為w的信號(hào)將被路由 [(i+w-2)modN]+1 端口,其中N是端口數(shù);基于這種特性,同一輸出端口可以接收不同波長(zhǎng)的多個(gè)光信號(hào),并復(fù)用在一條光纖上輸出,而不發(fā)生網(wǎng)絡(luò)競(jìng)爭(zhēng),當(dāng)前高維度的512端口的AWGR器件技術(shù)已經(jīng)成熟。最后是用于接收端光電轉(zhuǎn)換的OCA(optical channel adapter)器件,在接收端它會(huì)將光信號(hào)變成電信號(hào);OCA器件有一個(gè)1:N的多路解復(fù)用器,可以將光纖中混合光信號(hào)分離成多束單波長(zhǎng)的光信號(hào),并由后端的接收陣列將這N個(gè)光信號(hào)轉(zhuǎn)換為電信號(hào)。
在光電混合網(wǎng)絡(luò)結(jié)構(gòu)中,采用一個(gè)單層的光網(wǎng)絡(luò)作為電域網(wǎng)絡(luò)的輔助網(wǎng)絡(luò)。如圖1所示,每一個(gè)ToR交換機(jī)分別通過(guò)電域接口和光域接口連接到上層的電域交換機(jī)和光域交換機(jī),光域端口的發(fā)送鏈路通過(guò)TWC光器件連接到OCA器件的輸入端(Tx),接收鏈路連接到OCA器件的接收端(Rx)。
在控制層面,系統(tǒng)有一個(gè)集中的控制器,負(fù)責(zé)帶寬需求測(cè)量、鏈路仲裁控制和鏈路重構(gòu)控制。在運(yùn)行時(shí),控制器收集系統(tǒng)中的拓?fù)溆成湔?qǐng)求信息,同時(shí)控制每個(gè)TWC波長(zhǎng)變換器件和電域交換機(jī)的路由器件,根據(jù)鏈路匹配算法在兩個(gè)機(jī)柜間建立一條持續(xù)的光鏈路。
該光電混合網(wǎng)絡(luò)結(jié)構(gòu)與c-Through、DOS等有相似之處,但是有著本質(zhì)的區(qū)別:與經(jīng)典光電混合網(wǎng)絡(luò)c-Through相比,同樣在機(jī)柜之間建立起一條較持續(xù)的光線路,屬于光線路交換(OCS)的范疇;但由于系統(tǒng)中使用了TWC變換器件納秒級(jí)的波長(zhǎng)變換特性,可以快速切換光線路,使用網(wǎng)絡(luò)能夠按照網(wǎng)絡(luò)流量特征實(shí)時(shí)、快速重構(gòu)。
在虛擬拓?fù)溆成溥^(guò)程中,分為節(jié)點(diǎn)映射、網(wǎng)絡(luò)分割、鏈路映射3個(gè)步驟,本文依次對(duì)3個(gè)步驟所采用的算法進(jìn)行介紹。
本文使用兩階段映射算法來(lái)完成虛擬拓?fù)涞挠成洌矗菏紫雀鶕?jù)虛擬節(jié)點(diǎn)的資源需求將虛擬節(jié)點(diǎn)映射到物理節(jié)點(diǎn),然后再完成虛擬鏈路的映射。我們采用貪心策略完成虛擬節(jié)點(diǎn)的映射。在算法運(yùn)行之前,會(huì)收集較長(zhǎng)時(shí)間窗口內(nèi)的虛擬拓?fù)溆成湔?qǐng)求,并將其放在等待隊(duì)列中,如果請(qǐng)求隊(duì)列中的某個(gè)請(qǐng)求較長(zhǎng)的時(shí)間沒(méi)有得到響應(yīng),則刪除這個(gè)請(qǐng)求。
在算法運(yùn)行時(shí),首先會(huì)按照虛擬拓?fù)涞氖找鎸⑻摂M拓?fù)湔?qǐng)求按照從高到低排序,優(yōu)先映射具有高收益的虛擬拓?fù)?。然后,?duì)于每一個(gè)虛擬拓?fù)渲械奶摂M節(jié)點(diǎn)按照對(duì)計(jì)算能力的需求程度排序,優(yōu)先對(duì)計(jì)算能力需求高的虛擬節(jié)點(diǎn)進(jìn)行映射。定義3個(gè)公式
(1)
(2)
Tpb=αRp+(1-α)Rb
(3)
其中,Rp表示物理節(jié)點(diǎn)所擁有的計(jì)算能力與虛擬節(jié)點(diǎn)需要的計(jì)算能力的差值,Rb表示物理節(jié)點(diǎn)所擁有的網(wǎng)絡(luò)帶寬總和與虛擬節(jié)點(diǎn)需要的網(wǎng)絡(luò)帶寬的總和的差值,在選擇物理節(jié)點(diǎn)的時(shí)候,必須要滿足這兩個(gè)值大于0。而Tpb是計(jì)算能力差值和帶寬差值的一個(gè)和,根據(jù)計(jì)算資源和帶寬資源的昂貴程度來(lái)調(diào)整此值,并選取值最小的節(jié)點(diǎn)作為映射節(jié)點(diǎn)以保證盡可能的將虛擬節(jié)點(diǎn)映射到與其需求資源量相當(dāng)?shù)奈锢砉?jié)點(diǎn)上。
算法1:虛擬節(jié)點(diǎn)映射算法
輸入:虛擬映射請(qǐng)求
輸出:虛擬節(jié)點(diǎn)位置
(1)按照收益高低排列虛擬拓?fù)湔?qǐng)求;
(2)從隊(duì)列中選擇一個(gè)具有最高收益的虛擬拓?fù)溆成湔?qǐng)求VR;
(3)將此虛擬拓?fù)湔?qǐng)求中虛擬節(jié)點(diǎn)按照計(jì)算資源需求排序;
(5)在物理拓?fù)渲袑ふ椅锢砉?jié)點(diǎn)ns滿足如下條件
如果有節(jié)點(diǎn)無(wú)法滿足此限制,則從隊(duì)列中刪除虛擬拓?fù)湔?qǐng)求,并放在等待隊(duì)列中,GOTO步驟(2);
(6)GOTO步驟(4),直到所有的節(jié)點(diǎn)映射完成;
(7)GOTO步驟(2),直到所有的請(qǐng)求被映射完成;
(8)算法結(jié)束。
如果有任何一個(gè)虛擬節(jié)點(diǎn)不滿足上述條件,則映射失敗并將已經(jīng)映射的節(jié)點(diǎn)恢復(fù)至原狀態(tài),同時(shí)將此虛擬拓?fù)溆成湔?qǐng)求放到等待隊(duì)列中。
將虛擬節(jié)點(diǎn)映射到物理節(jié)點(diǎn)上之后,需要根據(jù)一定的規(guī)則對(duì)數(shù)據(jù)中心的光域網(wǎng)絡(luò)拓?fù)溥M(jìn)行重構(gòu),在不同的區(qū)塊間建立快速的光鏈路,以便之后將虛擬鏈路高效的映射到物理拓?fù)渖稀?/p>
算法2:光域網(wǎng)絡(luò)重構(gòu)算法
輸入:帶寬需求
輸出:光交換機(jī)的連接關(guān)系
(1)虛擬節(jié)點(diǎn)映射完成后,統(tǒng)計(jì)物理節(jié)點(diǎn)兩兩之間的帶寬需求量,形成矩陣M;
(2)對(duì)于數(shù)據(jù)中心中任意兩個(gè)區(qū)域,根據(jù)M計(jì)算兩個(gè)區(qū)域之間的加權(quán)帶寬消耗并形成加權(quán)帶寬消耗矩陣M′;
(3)在加權(quán)帶寬消耗矩陣M′上使用Edmonds’算法,根據(jù)不同區(qū)塊之間的帶寬消耗值計(jì)算出一個(gè)完美匹配;
(4)根據(jù)計(jì)算所得的完美匹配結(jié)果,控制光交換機(jī)在不同的區(qū)域間構(gòu)建光域網(wǎng)絡(luò)拓?fù)洹?/p>
定義物理拓?fù)渲袃蓚€(gè)區(qū)塊之間的加權(quán)帶寬消耗如式(4)所示
(4)
在算法中,統(tǒng)計(jì)任意兩個(gè)區(qū)域之間的物理節(jié)點(diǎn)的通信總量,形成加權(quán)帶寬消耗矩陣M′。為了構(gòu)建光域拓?fù)?,使盡可能多的流量在光域網(wǎng)絡(luò)上傳輸,光線路的配置可以歸約為一個(gè)匹配問(wèn)題,在本文中使用Edmonds’算法在若干的區(qū)域中計(jì)算出一個(gè)完美匹配。計(jì)算出完美匹配后,控制TWC改變波長(zhǎng),實(shí)現(xiàn)光域網(wǎng)絡(luò)的構(gòu)建;在重構(gòu)過(guò)程中,對(duì)應(yīng)鏈路中所承載的網(wǎng)絡(luò)流需要調(diào)度到其它鏈路中,防止重構(gòu)過(guò)程中的丟包。
在虛擬節(jié)點(diǎn)映射到物理節(jié)點(diǎn)及光域拓?fù)浣⑼瓿芍?,將虛擬鏈路映射到實(shí)際的物理鏈路上。在虛擬節(jié)點(diǎn)固定的情況下,求解將虛擬鏈路映射到物理鏈路上的最優(yōu)解可以歸約為不可分割流問(wèn)題(UFP),這個(gè)是NP-hard[16,17]問(wèn)題。
本文中使用貪心策略,首先映射產(chǎn)生最大收益的拓?fù)涞奶摂M鏈路;映射每一條虛擬鏈路時(shí),在虛擬節(jié)點(diǎn)映射到的兩個(gè)物理節(jié)點(diǎn)之間尋找一條滿足資源限制的最短路徑。對(duì)于同一個(gè)虛擬拓?fù)溆成洌瑑?yōu)先映射帶寬需求最大的鏈路;如果沒(méi)有找到滿足資源限制的k-shortest path,則將該虛擬拓?fù)溆成湔?qǐng)求放入等待隊(duì)列中,并刪除已經(jīng)映射的虛擬鏈路和頂點(diǎn)。
算法3:虛擬鏈路映射算法
輸入:物理節(jié)點(diǎn)帶寬需求
輸出:鏈路映射關(guān)系
(1)構(gòu)建物理節(jié)點(diǎn)鄰接矩陣Mj, 標(biāo)示節(jié)點(diǎn)間的鄰接帶寬;
(2)將完成節(jié)點(diǎn)映射的虛擬拓?fù)溆成湔?qǐng)求按照收益由高到低排列;
(3)選擇具有最大收益的虛擬拓?fù)溆成湔?qǐng)求,如果沒(méi)有,則算法停止;
(4)將選擇到的虛擬拓?fù)渲械奶摂M鏈路按照帶寬需求由高到低排序;
(5)選擇帶寬需求最大虛擬鏈路開(kāi)始映射;
(6)對(duì)于每一個(gè)虛擬鏈路映射請(qǐng)求,通過(guò)遞增k,尋找兩個(gè)物理節(jié)點(diǎn)之間的k-shortest path,并且該路徑滿足B(ps)≥B(pv) 如果找到這樣的路徑,將虛擬鏈路映射到此物理鏈路,并更新臨接矩陣Mj。 GOTO步驟(5);
(7)如果沒(méi)有找到這樣的路徑,則刪除此虛擬拓?fù)湔?qǐng)求,并放入等待隊(duì)列中,GOTO步驟(3);
本部分將對(duì)提出的結(jié)構(gòu)和算法進(jìn)行評(píng)測(cè),首先介紹評(píng)測(cè)所采用的拓?fù)渖?、算法模擬等工具,然后通過(guò)實(shí)驗(yàn)結(jié)果對(duì)其進(jìn)行評(píng)價(jià)。在評(píng)測(cè)中,關(guān)注點(diǎn)在于使用動(dòng)態(tài)光鏈路對(duì)虛擬鏈路映射性能和收益的提升。
虛擬拓?fù)溆成涞闹饕繕?biāo)在于提高數(shù)據(jù)中心物理資源的利用率,為更多的虛擬映射請(qǐng)求提供服務(wù),從而提高數(shù)據(jù)中心的收益。對(duì)虛擬網(wǎng)絡(luò)映射的評(píng)價(jià)主要有:①物理拓?fù)涞拈L(zhǎng)期平均運(yùn)營(yíng)收益;②物理資源的有效利用率;③虛擬拓?fù)溆成湔?qǐng)求的接受率[1]。接受并映射一個(gè)虛擬拓?fù)涞氖找婵梢远x為式(5),其中P(nv) 表示虛擬節(jié)點(diǎn)nv的計(jì)算能力需求值,B(lv) 表示虛擬鏈路lv的帶寬能力需求值,nv用來(lái)調(diào)節(jié)計(jì)算資源和帶寬資源收益的相對(duì)權(quán)重。根據(jù)式(5),我們可以定義物理拓?fù)涞拈L(zhǎng)期平均運(yùn)營(yíng)收益為長(zhǎng)時(shí)間的運(yùn)營(yíng)收益總和與運(yùn)營(yíng)收益的比值,如式(6)所示
(5)
(6)
(7)
(8)
虛擬拓?fù)湔?qǐng)求的接受率不僅可以衡量物理拓?fù)滟Y源的有效利用率,而且也是衡量映射算法是否高效的一個(gè)重要指標(biāo)。虛擬拓?fù)湔?qǐng)求的接收率定義為長(zhǎng)時(shí)間內(nèi)被成功映射的虛擬拓?fù)鋽?shù)量Vs與虛擬拓?fù)湔?qǐng)求總數(shù)V的比值,如式(9)所示
(9)
為了對(duì)本文提出的結(jié)構(gòu)和算法進(jìn)行評(píng)測(cè),設(shè)計(jì)了一個(gè)光電混合網(wǎng)絡(luò)模擬器對(duì)網(wǎng)絡(luò)結(jié)構(gòu)和映射算法進(jìn)行仿真。模擬器根據(jù)提供的節(jié)點(diǎn)和鏈路關(guān)系,自動(dòng)構(gòu)建物理拓?fù)浣Y(jié)構(gòu);在模擬映射過(guò)程中,它根據(jù)設(shè)置的隨機(jī)函數(shù),生成若干的虛擬拓?fù)溆成湔?qǐng)求,并使用如上所示的算法執(zhí)行虛擬拓?fù)涞挠成?;在映射完成后,模擬器會(huì)統(tǒng)計(jì)接受率、鏈路資源利用率、節(jié)點(diǎn)資源利用率等信息。
由于本系統(tǒng)不針對(duì)于任何的特定拓?fù)浣Y(jié)構(gòu),因此使用隨機(jī)拓?fù)鋪?lái)進(jìn)行評(píng)測(cè),其中使用GT-ITM工具[18]來(lái)生成隨機(jī)物理拓?fù)浣Y(jié)構(gòu),所有物理拓?fù)涞囊?guī)模是變化的,而光域網(wǎng)絡(luò)的鏈路節(jié)點(diǎn)也隨機(jī)在物理拓?fù)渲蟹植?。模擬器會(huì)隨機(jī)產(chǎn)生若干的虛擬拓?fù)溆成湔?qǐng)求,其中虛擬拓?fù)渲刑摂M節(jié)點(diǎn)的數(shù)目滿足2至50間的均勻分布,每一對(duì)虛擬節(jié)點(diǎn)之間以0.5的概率具有一條虛擬鏈路相連,因此每一個(gè)虛擬拓?fù)渲羞厰?shù)的期望值為n(n-1)/4。 每一個(gè)虛擬拓?fù)渲械奶摂M節(jié)點(diǎn)對(duì)計(jì)算能力的需求滿足10至100間的均勻隨機(jī)分布,每一條虛擬鏈路的帶寬需求滿足0至60的均勻隨機(jī)分布,同時(shí)定義收益公式中的調(diào)節(jié)參數(shù)α=0.8。
本文與之前的工作的最大不同之處是將靈活的光域網(wǎng)絡(luò)與拓?fù)溆成渌惴▍f(xié)同設(shè)計(jì),克服以前固定拓?fù)洳荒苡行в成渚W(wǎng)絡(luò)拓?fù)涞膯?wèn)題。在評(píng)測(cè)中以系統(tǒng)的收益為評(píng)價(jià)的標(biāo)準(zhǔn),首先評(píng)測(cè)高速橋接鏈路對(duì)收益的影響。
在評(píng)測(cè)中以文獻(xiàn)[19]中提出的完全貪心算法作為基準(zhǔn)算法,在評(píng)測(cè)中固定光域網(wǎng)絡(luò)的連接點(diǎn)的個(gè)數(shù)為N/25, 其中N為物理節(jié)點(diǎn)的個(gè)數(shù),因此光域網(wǎng)絡(luò)的節(jié)點(diǎn)會(huì)隨著物理節(jié)點(diǎn)數(shù)的增加而增加。
從圖2所示的評(píng)測(cè)結(jié)果可見(jiàn),與基準(zhǔn)算法相比節(jié)點(diǎn)映射算法在沒(méi)有光網(wǎng)絡(luò)的情況下所獲得的總收益是基準(zhǔn)算法的1.3倍;而如果增加光域拓?fù)浣Y(jié)構(gòu)之后,系統(tǒng)所獲得的總收益是基準(zhǔn)算法的2到3.1倍,并且隨著物理節(jié)點(diǎn)數(shù)目和規(guī)模的增加,擁有光域網(wǎng)絡(luò)的系統(tǒng)可以獲得更大的收益,這主要是由于光域網(wǎng)絡(luò)縮短了網(wǎng)絡(luò)直徑,可以接受更多的虛擬拓?fù)溆成湔?qǐng)求。
圖2 不同結(jié)構(gòu)下節(jié)點(diǎn)數(shù)量與收益關(guān)系
同時(shí),在此評(píng)測(cè)了光域網(wǎng)絡(luò)的規(guī)模對(duì)收益的影響,在評(píng)測(cè)中電域網(wǎng)絡(luò)選擇了3種不同的規(guī)格,分別為1000、2000、3000節(jié)點(diǎn);在評(píng)測(cè)中,以節(jié)點(diǎn)數(shù)為1000的物理拓?fù)渥鳛榛鶞?zhǔn),在不同的光域拓?fù)湟?guī)模下分別評(píng)測(cè)收益率的變化。評(píng)測(cè)結(jié)果如圖3所示,對(duì)于同樣數(shù)量的光域網(wǎng)絡(luò)接入點(diǎn),增加電域網(wǎng)絡(luò)的規(guī)模不會(huì)使收益有倍數(shù)的增長(zhǎng),并且隨著物理拓?fù)湟?guī)模的增長(zhǎng)這種損耗就更加明顯,物理拓?fù)涔?jié)點(diǎn)數(shù)為2000時(shí),總收益能達(dá)到節(jié)點(diǎn)數(shù)為1000時(shí)的1.9倍,而物理拓?fù)涔?jié)點(diǎn)數(shù)為3000時(shí),總收益只能達(dá)到節(jié)點(diǎn)數(shù)為1000時(shí)的2.75倍。這主要是由于在光域接入點(diǎn)數(shù)量相同的情況下,隨著物理節(jié)點(diǎn)數(shù)的增加使每個(gè)分區(qū)的規(guī)模變大,光域網(wǎng)絡(luò)對(duì)映射的效果的加速作用減弱。
圖3 不同規(guī)模拓?fù)涫找媾c光節(jié)點(diǎn)關(guān)系
我們?cè)u(píng)測(cè)了在不同情況下物理節(jié)點(diǎn)的資源利用情況,在與測(cè)試1中我們使用了相同的參數(shù),從圖4的測(cè)試結(jié)果可見(jiàn),在有光域網(wǎng)絡(luò)的情況下,節(jié)點(diǎn)的利用率會(huì)有倍數(shù)的提升,這一趨勢(shì)與總收益的增長(zhǎng)有類似的趨勢(shì)。這主要是由于評(píng)測(cè)中采用的收益因子為0.8,在數(shù)據(jù)中心中最主要、最昂貴的資源是計(jì)算資源,因此隨著物理節(jié)點(diǎn)資源利用率的提升,其收益也會(huì)相應(yīng)提升。
圖4 不同結(jié)構(gòu)下節(jié)點(diǎn)數(shù)量與利用率關(guān)系
在當(dāng)前數(shù)據(jù)中心中隨著節(jié)點(diǎn)數(shù)增加和網(wǎng)絡(luò)半徑的增大,節(jié)點(diǎn)之間的通信需要經(jīng)過(guò)若干次的電域交換機(jī),期間伴隨多次光電轉(zhuǎn)換。在本文所提出的光電混合網(wǎng)絡(luò)結(jié)構(gòu)中,由于光線路在不同網(wǎng)絡(luò)區(qū)間中采用光構(gòu)建了一條橋接鏈路,因此可以減少光電轉(zhuǎn)換的能耗。如圖5所示,對(duì)網(wǎng)絡(luò)的能耗情況進(jìn)行了統(tǒng)計(jì),在此假設(shè)數(shù)據(jù)包每經(jīng)過(guò)一級(jí)光電轉(zhuǎn)換消耗一個(gè)單位的電能。圖5數(shù)據(jù)顯示,隨著網(wǎng)絡(luò)規(guī)模的增加,光電混合網(wǎng)絡(luò)的節(jié)能效果快速顯現(xiàn),當(dāng)節(jié)點(diǎn)規(guī)模達(dá)到3000時(shí),最高能節(jié)省22%的光電轉(zhuǎn)換次數(shù)。
圖5 不同規(guī)模拓?fù)淠苄Ыy(tǒng)計(jì)
最后,評(píng)測(cè)了虛擬拓?fù)溆成涞木芙^率,相對(duì)于純電域網(wǎng)絡(luò),光電混合網(wǎng)絡(luò)中將虛擬拓?fù)湔?qǐng)求拒絕率由23%降低為8%,大概有兩倍的性能提高。
綜合上述,采用靈活光域輔助網(wǎng)絡(luò)的光電混合網(wǎng)絡(luò)結(jié)構(gòu)在數(shù)據(jù)中心利用率、收益和拒絕率方面都有很大的提升。
隨著數(shù)據(jù)中心規(guī)模的增長(zhǎng),同一個(gè)虛擬拓?fù)渲刑摂M節(jié)點(diǎn)所分別映射到的物理節(jié)點(diǎn)間的距離越來(lái)越遠(yuǎn),其鏈路在映射過(guò)程中需要經(jīng)過(guò)若干的跳步,占用了大量的物理網(wǎng)絡(luò)資源,因此降低了數(shù)據(jù)中心的收益。以前工作通過(guò)優(yōu)化網(wǎng)絡(luò)映射算法來(lái)提高收益,但受到數(shù)據(jù)中心固定拓?fù)涞南拗疲茈y取得較好的提升;本文將光電混合動(dòng)態(tài)網(wǎng)絡(luò)與映射算法協(xié)同設(shè)計(jì),提出了一種基于AWGR的動(dòng)態(tài)光網(wǎng)絡(luò)和對(duì)應(yīng)的虛擬拓?fù)溆成浞椒?,該方法在?dāng)前數(shù)據(jù)中心的電域拓?fù)涞幕A(chǔ)上,增加一層線路交換的光域網(wǎng)絡(luò)拓?fù)?,在?shù)據(jù)中心全域通過(guò)光域網(wǎng)絡(luò)來(lái)減少網(wǎng)絡(luò)直徑;結(jié)合與之匹配的虛擬拓?fù)溆成浞椒?,極大提升數(shù)據(jù)中心的利用率和能效,從而提高數(shù)據(jù)中心的收益。當(dāng)前光網(wǎng)絡(luò)已經(jīng)在Google、Facebook等互聯(lián)網(wǎng)巨頭的數(shù)據(jù)中心中嘗試使用,其巨大的資源利用率和能效優(yōu)勢(shì)具有很大的應(yīng)用前景。