王 萍,蔣 林,山 蕊,楊博文,付怡雯
(1.西安郵電大學(xué) 電子工程學(xué)院,西安 710121; 2.西安科技大學(xué) 集成電路實(shí)驗(yàn)室,西安 710600)
計(jì)算密集型應(yīng)用對(duì)大量數(shù)據(jù)并行處理和實(shí)時(shí)性傳輸要求不斷提高。針對(duì)遠(yuǎn)距離和大流量通信,電互連方式傳輸時(shí)間長(zhǎng),帶寬受限;光互連在延遲、串?dāng)_和能耗等方面性能更佳。但是,片上光器件發(fā)展不成熟,如光邏輯運(yùn)算單元、光存儲(chǔ)和波長(zhǎng)資源有限等,影響著光網(wǎng)絡(luò)的整體性能[1-4]。
為解決光存儲(chǔ)問(wèn)題,利用“電控制光”思想,通過(guò)配置路由器完成源節(jié)點(diǎn)到目的節(jié)點(diǎn)之間的路徑建立、響應(yīng)和撤銷(xiāo)及光路由器中微環(huán)諧振器(Micro-ring Resonator , MR)開(kāi)關(guān)狀態(tài)控制。文獻(xiàn)[5-8]通過(guò)增加多條備選路徑優(yōu)化路由計(jì)算過(guò)程,減少阻塞概率和路徑建立時(shí)間。但多個(gè)節(jié)點(diǎn)向同一個(gè)節(jié)點(diǎn)通信時(shí),備選路徑固定,路徑建立時(shí)間長(zhǎng),阻塞幾率大;文獻(xiàn)[9]的7端口光路由器,MR數(shù)量為36,交叉波導(dǎo)和彎曲波導(dǎo)數(shù)量多;文獻(xiàn)[10]和[11]設(shè)計(jì)的光路由器結(jié)構(gòu)類(lèi)似,MR、交叉波導(dǎo)和彎曲波導(dǎo)數(shù)量大,還需要額外的光終端;文獻(xiàn)[12]的6端口光路由器結(jié)構(gòu),由于存在環(huán)形波導(dǎo),增加了串?dāng)_風(fēng)險(xiǎn)。
本文基于XYZ確定路由算法,提出了一種自適應(yīng)路由算法,根據(jù)節(jié)點(diǎn)阻塞情況,自主選擇無(wú)阻塞、短距離的端口進(jìn)行輸出;利用MR的多角度耦合特性,分別設(shè)計(jì)層內(nèi)和層間光路由器,避免環(huán)形波導(dǎo)出現(xiàn)。
自適應(yīng)低損耗有源光網(wǎng)絡(luò)由光路由器互連的光網(wǎng)絡(luò)層和電配置路由器互連的電配置網(wǎng)絡(luò)層組成,利用電配置路由器進(jìn)行傳輸路徑建立、響應(yīng)和撤銷(xiāo),并協(xié)同配置對(duì)應(yīng)光路由器的光鏈路,進(jìn)行數(shù)據(jù)光傳輸。三維有源光網(wǎng)絡(luò)不同于二維網(wǎng)絡(luò),第2層增加層間光路由器和對(duì)應(yīng)電配置路由器進(jìn)行層間數(shù)據(jù)通信,三維自適應(yīng)低損耗有源光網(wǎng)絡(luò)整體結(jié)構(gòu)如圖1所示。
圖1 自適應(yīng)低損耗三維有源光網(wǎng)絡(luò)整體結(jié)構(gòu)
1.1.1 電配置路由器整體結(jié)構(gòu)
電配置路由器整體結(jié)構(gòu)如圖2所示,輸入緩沖單元通過(guò)端口匹配將數(shù)據(jù)暫存于對(duì)應(yīng)的緩沖單元,路由計(jì)算單元根據(jù)路由算法計(jì)算輸出端口,分配單元對(duì)端口請(qǐng)求進(jìn)行輪詢(xún)仲裁,交叉選擇單元主要完成輸入輸出端口之間的連接。其中,路由計(jì)算單元決定著路由器性能,主要完成阻塞檢測(cè)、路徑建立、響應(yīng)和撤銷(xiāo)操作。通過(guò)端口寄存器對(duì)端口是否被占用進(jìn)行實(shí)時(shí)監(jiān)控,根據(jù)阻塞情況對(duì)端口進(jìn)行二次判斷,最終選擇無(wú)阻塞和短距離端口。
圖2 電配置路由器整體結(jié)構(gòu)
1.1.2 基于XYZ路由的自適應(yīng)路由算法
自適應(yīng)路由算法基于XYZ確定路由算法,按X、Y和Z方向,依次對(duì)目的節(jié)點(diǎn)與源節(jié)點(diǎn)坐標(biāo)大小進(jìn)行判斷,得到一個(gè)端口方向。再根據(jù)端口阻塞情況進(jìn)行二次判斷,如果端口空閑,直接從該端口輸出;否則,需要從另一個(gè)方向再次進(jìn)行端口判斷。
圖3所示為電配置路由器互連構(gòu)成的規(guī)模為4行4列3層(4×4×3)的電配置網(wǎng)絡(luò),并對(duì)電配置路由器進(jìn)行坐標(biāo)定義,用3位有效數(shù)字表示,第1位為Z坐標(biāo),第2位為Y坐標(biāo),第3位為X坐標(biāo)。圖4所示為自適應(yīng)路由算法框圖。以源節(jié)點(diǎn)000向目標(biāo)節(jié)點(diǎn)033通信為例說(shuō)明路由過(guò)程,由于033節(jié)點(diǎn)位于000節(jié)點(diǎn)的右下方,首次判斷端口為東端口,若東端口空閑,從東端口輸出;若東端口被占用,需要按Y方向進(jìn)行再次判斷,判斷端口為南端口,對(duì)南端口阻塞情況進(jìn)行判斷,若端口空閑則從南端口輸出;若端口被占用,再按Z方向繼續(xù)判斷;當(dāng)5個(gè)方向端口都被占用時(shí),從本地端口輸出,暫存于源節(jié)點(diǎn),等待路徑釋放。
圖3 自適應(yīng)路由算法路由示意圖
圖4 自適應(yīng)路由算法框圖
自適應(yīng)路由算法在端口空閑時(shí),如同XYZ確定路由算法,算法簡(jiǎn)單,效率高;當(dāng)端口被占用時(shí),提供多種備選路徑,比XYZ確定路由算法復(fù)雜。但其避免了數(shù)據(jù)傳到阻塞端口,路由計(jì)算過(guò)程所需的時(shí)間相比于等待路徑釋放的時(shí)間可忽略不計(jì)。
MR利用波長(zhǎng)耦合對(duì)經(jīng)過(guò)的光信號(hào)進(jìn)行傳輸方向改變,從而實(shí)現(xiàn)90、180和270 °通信。當(dāng)波導(dǎo)中傳輸?shù)墓庑盘?hào)諧振頻率不等于MR的頻率時(shí),MR處于關(guān)閉狀態(tài),光信號(hào)沿原來(lái)的波導(dǎo)直線(xiàn)傳輸;若傳輸?shù)闹C振頻率等于MR的頻率,則MR處于開(kāi)狀態(tài),光信號(hào)被耦合,光信號(hào)傳輸方向發(fā)生偏轉(zhuǎn)。本文設(shè)計(jì)6端口光路由器進(jìn)行層內(nèi)通信,3端口光路由器進(jìn)行層間通信,如圖5所示。
圖5 光路由器結(jié)構(gòu)
6端口光路由器包含本地端口(IP core)、垂直(Vertical)、北(North)、南(South)、西(West)和東(East) 6個(gè)端口。同方向端口之間不進(jìn)行數(shù)據(jù)通信,在表1中用“/”表示;波導(dǎo)直接相連的兩個(gè)端口之間不需要MR進(jìn)行波長(zhǎng)耦合,在表1中用“NO”表示;其余端口之間利用MR對(duì)光信號(hào)傳輸方向進(jìn)行改變,從而使光信號(hào)傳到固定的目的端口。
6端口光路由器僅使用6條波導(dǎo)和13個(gè)MR就可以實(shí)現(xiàn)任意端口之間無(wú)阻塞通信。MR的具體分配如表1所示,當(dāng)進(jìn)行North到West端口間通信時(shí),信號(hào)從North端口輸入,沿著波導(dǎo)傳輸,當(dāng)傳輸?shù)組R13時(shí),發(fā)生耦合,信號(hào)沿另一波導(dǎo)進(jìn)行傳輸,到達(dá)West端口并輸出。
表1 層內(nèi)路由器的MR分配
3端口光路由器主要用來(lái)實(shí)現(xiàn)不同層之間的數(shù)據(jù)傳輸。其中,通過(guò)MR3實(shí)現(xiàn)上端口(Up)到Vertical端口之間的通信,MR2實(shí)現(xiàn)下端口(Down)到Vertical端口之間的通信,MR1實(shí)現(xiàn)Vertical到Up端口之間的通信,MR4實(shí)現(xiàn)Vertical到Down端口之間的通信,Up與Down端口之間直接通過(guò)波導(dǎo)進(jìn)行通信。
2.1.1 硬件開(kāi)銷(xiāo)分析
為了驗(yàn)證電配置網(wǎng)絡(luò)功能的正確性和硬件資源的開(kāi)銷(xiāo)情況,本文采用Xilinx公司的ISE Design Suite 14.7開(kāi)發(fā)環(huán)境進(jìn)行實(shí)驗(yàn),選用的器件是Virtex6系列xc6vcx550t-ff1759-2芯片。由于電配置網(wǎng)絡(luò)是利用相同的電配置路由器互連進(jìn)行搭建,所以電配置網(wǎng)絡(luò)消耗的硬件資源與電配置路由器的數(shù)量成正比。表2所示為電配置路由器和圖3所示的4行4列3層(4×4×3)的電配置網(wǎng)絡(luò)的資源占用情況。分析結(jié)果表明,電配置路由器的時(shí)鐘頻率可以達(dá)到177.384 MHz,而4×4×3電配置網(wǎng)絡(luò)的時(shí)鐘頻率可以達(dá)到179.848 MHz。
表2 邏輯資源占用情況
2.1.2 路徑延遲分析
為了驗(yàn)證路由算法的路徑搜索效率,對(duì)路由計(jì)算性能進(jìn)行統(tǒng)計(jì)。沖突率為某一節(jié)點(diǎn)向另一節(jié)點(diǎn)路徑建立過(guò)程中端口沖突的節(jié)點(diǎn)數(shù)占總節(jié)點(diǎn)數(shù)的百分比。表3所示為不同數(shù)量節(jié)點(diǎn)向022節(jié)點(diǎn)通信過(guò)程中,完成源節(jié)點(diǎn)000到目的節(jié)點(diǎn)022路徑建立過(guò)程所需的時(shí)鐘周期數(shù)和沖突情況。
表3 路徑建立時(shí)間統(tǒng)計(jì)
在無(wú)阻塞情況下,源節(jié)點(diǎn)000向目的節(jié)點(diǎn)022進(jìn)行路徑建立,路徑建立時(shí)間為8.5個(gè)周期。XYZ確定路由算法在路徑阻塞時(shí),需要在一條路徑撤銷(xiāo)后才能進(jìn)行另一條鏈路的建立。而自適應(yīng)路由算法在沖突率為37.5%時(shí),路徑建立需要16.5個(gè)周期,路徑建立時(shí)間減少了44.07%;沖突率為50%時(shí),路徑建立最多需要18.5個(gè)周期,路徑建立時(shí)間減少了68.91%。
自適應(yīng)路由算法通過(guò)選擇空閑端口作為輸出端口,不需要等待前一條路徑的釋放,相比于XYZ確定路由算法,可能會(huì)多經(jīng)過(guò)0~4跳,但節(jié)省了等待路徑響應(yīng)和撤銷(xiāo)所需的時(shí)間;對(duì)于整個(gè)網(wǎng)絡(luò),采用自適應(yīng)路由算法進(jìn)行多路徑通信時(shí),阻塞小、路徑建立周期短。
2.2.1 硬件開(kāi)銷(xiāo)分析
表4所示為不同路由器結(jié)構(gòu)所需的元件數(shù)量,本文光路由器由于充分利用多耦合MR,一條波導(dǎo)連接不同端口的輸入和輸出,不需要使用光終端,無(wú)環(huán)形波導(dǎo),整個(gè)光路由器僅需要13個(gè)MR,9個(gè)交叉波導(dǎo)和21個(gè)彎曲波導(dǎo)。相比于文獻(xiàn)[9]的結(jié)構(gòu),不需要光終端,MR數(shù)量減少一半;相比于文獻(xiàn)[10]的結(jié)構(gòu),不僅交叉波導(dǎo)和MR的數(shù)量較少,且只需要6條波導(dǎo);與文獻(xiàn)[11]和[12]相比,不需要光終端、交叉波導(dǎo)、彎曲波導(dǎo)和MR數(shù)量更少。
表4 不同路由器結(jié)構(gòu)所需元件數(shù)量
利用Omnet++開(kāi)源模擬器搭建網(wǎng)絡(luò)結(jié)構(gòu)模擬三維網(wǎng)絡(luò)通信,路由器分別采用文獻(xiàn)[9-12]和本文所提出的光路由器。為了保證公平性,層間利用7端口光路由器的垂直端口或4個(gè)MR和兩個(gè)光終端的層間路由器進(jìn)行通信。
圖6所示為不同拓?fù)涑叽绲墓饩W(wǎng)絡(luò)所需的元件數(shù)量。數(shù)據(jù)表明,在相同規(guī)模的網(wǎng)絡(luò)中,利用本文提出的6端口光路由器進(jìn)行層內(nèi)通信,3端口光路由器進(jìn)行層間通信,比文獻(xiàn)[9]的7端口光路由器、文獻(xiàn)[10]、[11]和[12]利用90 °耦合的MR設(shè)計(jì)的6端口光路由所需的MR數(shù)量和光終端數(shù)量更少,且隨著拓?fù)湟?guī)模的增加,性能優(yōu)勢(shì)更加突出。
圖6 不同拓?fù)涑叽绲墓饩W(wǎng)絡(luò)所需的元件數(shù)量
2.2.2 插入損耗分析
插入損耗大小主要由光路由器的MR、交叉波導(dǎo)和彎曲波導(dǎo)的數(shù)量決定,不同路徑的插入損耗滿(mǎn)足如下的邏輯關(guān)系:
式中:Linsert為某一路徑的插入損耗;MR未發(fā)生耦合時(shí)的插入損耗值為0.005 dB,用Lthrough表示;MR發(fā)生耦合時(shí)的插入損耗值為0.6 dB,用Ldrop表示;交叉波導(dǎo)的插入損耗值為0.16 dB,用Lcross表示;彎區(qū)波導(dǎo)的插入損耗值為0.005 dB/90 °,用Lbend表示;Nthrough、Ndrop、Ncross和Nbend分別為該路徑所經(jīng)過(guò)的兩種狀態(tài)的MR、交叉波導(dǎo)和彎曲波導(dǎo)的數(shù)量[13-15]。
圖7(a)所示為各關(guān)鍵路徑北邊到南邊端口(N-S)、北邊到本地端口(N-IP)、北邊到垂直端口(N-V)、南邊到北邊端口(S-N)、南邊到本地端口(S-IP)、南邊到垂直端口(S-V)、西邊到北邊端口(W-N)、西邊到南邊端口(W-S)、西邊到東邊端口(W-E)、西邊到本地端口(W-IP)、西邊到垂直端口(W-V)、東邊到北邊端口(E-N)、東邊到南邊端口(E-S)、東邊到西邊端口(E-W)、東邊到本地端口(E-IP)、東邊到垂直端口(E-V)、本地到北邊端口(IP-N)、本地到南邊端口(IP-S)、本地到西邊端口(IP-W)、本地到東邊端口(IP-E)、本地到垂直端口(IP-V) 和垂直到本地端口(V-IP)等的插入損耗;圖7(b)所示為不同路由器結(jié)構(gòu)的最大、最小和平均插入損耗。
圖7 插入損耗分析
本文設(shè)計(jì)的6端口光路由器結(jié)構(gòu)中77.2%路徑的插入損耗,相比于文獻(xiàn)[10]、[11]和[12]光路由器的插入損耗??;最大插入損耗相比于文獻(xiàn)[10]、[11]和 [12]分別減少了35.43%、19.04%和0.62%;最小插入損耗相比于文獻(xiàn)[10]、[11]和[12]分別減少了44.12%、44.12%和68.33%;平均插入損耗分別減少了21.43%、17.76%和19.27%。
通過(guò)多角度耦合MR對(duì)傳輸方向進(jìn)行改變,相比于利用90 ° MR的光路由器所需MR數(shù)量少;每條波導(dǎo)連接兩個(gè)端口,避免光終端使用;合理安排波導(dǎo)和MR的位置,無(wú)環(huán)形波導(dǎo)出現(xiàn),減少光路由器所需的交叉波導(dǎo)和彎曲波導(dǎo)數(shù)量,減少路徑的插入損耗和硬件開(kāi)銷(xiāo)。
本文提出了一種自適應(yīng)路由算法,通過(guò)增加備選路徑數(shù)量和實(shí)時(shí)的端口阻塞檢測(cè),減少了路徑建立延遲。實(shí)現(xiàn)不同沖突率情況下的路徑建立時(shí)間相比確定路由算法減少44.07%和68.91%。同時(shí)實(shí)現(xiàn)了6個(gè)節(jié)點(diǎn)向同一目的節(jié)點(diǎn)通信,48個(gè)節(jié)點(diǎn)向不同目的節(jié)點(diǎn)無(wú)阻塞通信。另外,本文設(shè)計(jì)了層內(nèi)6端口光路由器和層間3端口光路由器,6端口光路由器僅使用13個(gè)MR、9個(gè)交叉波導(dǎo)和21個(gè)彎曲波導(dǎo),平均插入損耗僅有0.88 dB;3端口光路由器結(jié)構(gòu)簡(jiǎn)單,僅使用4個(gè)波導(dǎo)、4個(gè)MR和兩個(gè)光終端。利用本文光路由器搭建的光網(wǎng)絡(luò)相比其他光路由器硬件開(kāi)銷(xiāo)小,隨著網(wǎng)絡(luò)規(guī)模增大,優(yōu)勢(shì)將更加突出。