張景輝,葉通,Lee T T,閆芳芳,胡衛(wèi)生
(上海交通大學(xué)區(qū)域光纖通信網(wǎng)與新型光通信系統(tǒng)國(guó)家重點(diǎn)實(shí)驗(yàn)室,上海 200240)
調(diào)度器對(duì)于輸入排隊(duì)交換機(jī)來(lái)說(shuō)是一個(gè)核心問(wèn)題。一個(gè)好的調(diào)度器能夠最大化吞吐量,減少端到端延時(shí)以及減少計(jì)算復(fù)雜度。過(guò)去十幾年里,業(yè)界提出了許多在線算法[1-5],它們根據(jù)輸入隊(duì)列的實(shí)時(shí)請(qǐng)求給交換結(jié)構(gòu)分配連接模式。盡管這些在線算法可以獲得100%的吞吐量,但當(dāng)輸入端口數(shù)N和傳輸線速率增大時(shí)其可擴(kuò)展性將變得很差。
為了給每個(gè)輸入/輸出端口對(duì)(或者稱為虛電路VC)提供帶寬保證且避免在線計(jì)算,文獻(xiàn)[6]提出了一種稱為路徑交換的準(zhǔn)靜態(tài)算法,后來(lái)在文獻(xiàn)[7]中被稱作 Birkhoff-von-Neumann(BvN)交換。這個(gè)算法先由平均輸入業(yè)務(wù)矩陣得到一系列置換矩陣,然后根據(jù)這些矩陣預(yù)先安排好交換機(jī)的連接模式。由于連接模式不需要在線計(jì)算,所以其在線計(jì)算復(fù)雜度為O(1),可擴(kuò)展性很強(qiáng)。同時(shí),文獻(xiàn)[8]提到了只要輸入業(yè)務(wù)不超過(guò)預(yù)設(shè)的到達(dá)曲線[9],那么這個(gè)算法就能達(dá)到100%的吞吐量和有界的端到端延時(shí)。然而,如果輸入業(yè)務(wù)是突發(fā)的,BvN交換機(jī)的性能將變得不可預(yù)測(cè)。
為了處理突發(fā)業(yè)務(wù),文獻(xiàn)[10]和文獻(xiàn)[11]引入了一種兩級(jí)的負(fù)載均衡BvN(LB-BvN)交叉開關(guān)交換機(jī)。在第一級(jí),輸入業(yè)務(wù)被均勻分發(fā)到該級(jí)的各個(gè)輸出端,使第二級(jí)輸入業(yè)務(wù)均勻化;在第二級(jí),通過(guò)運(yùn)行N個(gè)循環(huán)移位置換矩陣實(shí)現(xiàn)交換。雖然這種方法在線計(jì)算復(fù)雜度為O(1)且可以處理任意的業(yè)務(wù)模式,但是它會(huì)在輸出端造成嚴(yán)重的包亂序(即使輸入業(yè)務(wù)是平穩(wěn)的)。為了解決亂序的問(wèn)題,業(yè)界提出了一系列改進(jìn)方案。文獻(xiàn)[12-14]均引入了三級(jí)交換結(jié)構(gòu)來(lái)解決包亂序問(wèn)題,但是這樣導(dǎo)致了較高的額外硬件成本。文獻(xiàn)[11]在中間緩存管理中引入了先到先服務(wù)(FCFS)和時(shí)限最早優(yōu)先(EDF)策略,但是FCFS要求中間緩存要有N倍的加速,而EDF要求每個(gè)時(shí)隙都要檢查所有業(yè)務(wù)包的時(shí)限,這都使得交換機(jī)擴(kuò)展性變差。文獻(xiàn)[15]提出了一種基于反饋的LB-BvN交換機(jī),這種方法需要頻繁地向輸入端反饋中間緩存的占用情況,從而加大了交換機(jī)的實(shí)現(xiàn)難度。
在本文中,為了增強(qiáng)突發(fā)業(yè)務(wù)下BvN交換機(jī)性能的同時(shí)減少包亂序問(wèn)題,我們引入了業(yè)務(wù)偏射補(bǔ)償機(jī)制,提出了帶偏射的BvN(D-BvN)交換機(jī)方案。許多包交換網(wǎng)絡(luò)都采用偏射路由來(lái)解決沖突,如Tandem Banyan網(wǎng)絡(luò)[16]、帶糾錯(cuò)路由的雙重混洗交換網(wǎng)絡(luò)[17]、光突發(fā)交換機(jī)[18]以及可容錯(cuò)的片上網(wǎng)絡(luò)[19]。與這些偏射機(jī)制不同的是,我們算法的目的是平穩(wěn)輸入業(yè)務(wù)的波動(dòng)以及均衡各個(gè)VC間的負(fù)載。另外,我們的設(shè)計(jì)也與LB-BvN交換機(jī)隨意分發(fā)業(yè)務(wù)包不一樣:只有溢出的突發(fā)業(yè)務(wù)才會(huì)被偏射。因此,業(yè)務(wù)包的亂序概率會(huì)顯著下降。除此之外,我們的算法只需較少的緩存就可以獲得接近100%的輸入負(fù)載吞吐量,能夠顯著地減少業(yè)務(wù)包端到端延時(shí),同時(shí)它繼承了BvN交換機(jī)的準(zhǔn)靜態(tài)調(diào)度方式,其在線算法復(fù)雜度仍然是O(1)。
本文余下部分如下安排:在第2節(jié)簡(jiǎn)要介紹BvN交換機(jī)的基本概念以及討論它由于準(zhǔn)靜態(tài)調(diào)度帶來(lái)的缺點(diǎn);在第3節(jié)提出了帶偏射補(bǔ)償?shù)慕粨Q機(jī)結(jié)構(gòu)以及相關(guān)的調(diào)度算法;在第4節(jié)提供了D-BvN交換機(jī)的仿真條件,并給出了丟包率、最小緩存需求、包亂序概率以及業(yè)務(wù)包延時(shí)的仿真結(jié)果,同時(shí)與BvN交換機(jī)的相應(yīng)性能做比較;最后總結(jié)本文。
在N×N的BvN交換機(jī)中,每個(gè)輸入端口都設(shè)置了N個(gè)虛輸出隊(duì)列(VOQ)。從輸入端口i到輸出端口j的業(yè)務(wù)包緩存在VOQij里(如圖1(a)所示,其中N=4)。BvN交換機(jī)的準(zhǔn)靜態(tài)調(diào)度方法原理其實(shí)是雙隨機(jī)矩陣的 Birkhoff-von-Neumann分解定理[20]。
記λij為從輸入端口i到輸出端口j的平均業(yè)務(wù)速率,且∑iλij≤1 以及∑jλij≤1。根據(jù)輸入業(yè)務(wù)矩陣[λij]N×N,可以找到一個(gè)容量矩陣[cij]N×N,滿足 λij≤cij以及∑icij=∑jcij=1?;?BvN分解定理[20],[cij]N×N可以分解成若干置換矩陣的線性組合,其中每個(gè)置換矩陣代表交換機(jī)的一種連接模式,如圖1(b)所示。
在一個(gè)幀的連續(xù)F個(gè)時(shí)隙里面,我們根據(jù)BvN分解的權(quán)重來(lái)安排這些預(yù)設(shè)的連接模式(如圖1(c)所示,其中F=10)。通過(guò)周期性地運(yùn)行這些連接模式,BvN交換機(jī)保證了每個(gè)I/O對(duì)(i,j)的容量cij。如果輸入i和輸出j在某個(gè)時(shí)隙內(nèi)是連接的,我們就稱VCij得到了一個(gè)令牌,允許傳輸一個(gè)業(yè)務(wù)包。
圖1 BvN交換機(jī)原理Fig.1 The principle of BvN switch
BvN交換機(jī)根據(jù)平均業(yè)務(wù)速率給VC提供容量保證,所以它能夠處理平穩(wěn)的輸入業(yè)務(wù)。如圖2(a)所示,當(dāng)輸入業(yè)務(wù)比較平穩(wěn)時(shí),即使有突發(fā)業(yè)務(wù)到達(dá)(如圖中t1時(shí)刻),VOQ也能夠把暫未能服務(wù)的業(yè)務(wù)緩存起來(lái),待輸入速率降低后(如圖中t2時(shí)刻)再服務(wù)。由此可見,當(dāng)輸入業(yè)務(wù)平穩(wěn)時(shí),BvN交換機(jī)能夠獲得高容量利用率和高吞吐量。但是,當(dāng)輸入業(yè)務(wù)具有突發(fā)性時(shí),BvN交換機(jī)的性能將變差。如圖2(b)所示,在t1時(shí)刻,輸入業(yè)務(wù)速率比VC的容量小,VC的容量得不到充分利用(即令牌被閑置);而在t2時(shí)刻,大量業(yè)務(wù)到達(dá)VC,輸入業(yè)務(wù)的速率明顯大于VC的容量,VOQ緩存會(huì)被占滿,從而導(dǎo)致丟包。由此可見,在突發(fā)業(yè)務(wù)下,BvN交換機(jī)會(huì)同時(shí)帶來(lái)低容量利用率和低吞吐量??偟膩?lái)說(shuō),隨著輸入業(yè)務(wù)突發(fā)度的增長(zhǎng),BvN交換機(jī)的容量利用率和吞吐量都會(huì)隨之下降。
圖2 輸入平穩(wěn)和突發(fā)業(yè)務(wù)時(shí)BvN交換機(jī)性能對(duì)比Fig.2 Comparison of BvN switch performance between smooth and bursty traffic
然而,交換機(jī)中的VC不大可能都在同一時(shí)刻出現(xiàn)突發(fā),尤其是當(dāng)交換結(jié)構(gòu)的端口數(shù)N比較大的時(shí)候。這就意味著我們可以利用空閑VC的閑置容量去處理其他繁忙VC溢出的業(yè)務(wù)包,從而改善吞吐量和容量利用率。下一節(jié)中我們將根據(jù)這個(gè)想法設(shè)計(jì)帶偏射補(bǔ)償?shù)腂vN交換機(jī)。
基于上述的討論,我們提出帶偏射補(bǔ)償?shù)腂irkhoff-von-Neumann(D-BvN)交換機(jī),其主要思想是充分利用BvN交換機(jī)中不能被利用的空閑容量去處理溢出的業(yè)務(wù)包。那些在BvN交換機(jī)中被閑置的令牌主要起到以下兩個(gè)作用:一是偏射溢出業(yè)務(wù),二是給溢出業(yè)務(wù)提供重新進(jìn)入系統(tǒng)的帶寬。
如圖3所示,為了實(shí)現(xiàn)D-BvN交換機(jī),每個(gè)輸入端口都設(shè)置一個(gè)回收緩存(記輸入端口i的回收緩存為TBi),用于在偏射前暫時(shí)存放從飽和VOQ溢出的業(yè)務(wù)包。同時(shí),每對(duì)編號(hào)相同的輸入輸出端口都有一條反饋連接,用于讓偏射包重新進(jìn)入系統(tǒng)。將到達(dá)第i個(gè)輸入端口,且要被交換到第k個(gè)輸出端口的包記為Aik。當(dāng)Aik到達(dá)時(shí),D-BvN交換機(jī)的包交換過(guò)程可以分成下面幾步:
步驟 1:如果VCik的緩存VOQik未滿,Aik進(jìn)入VOQik并且等待服務(wù);否則,轉(zhuǎn)到步驟2;
步驟2:如果Aik是一個(gè)未偏射包,轉(zhuǎn)到步驟3;否則,Aik嘗試進(jìn)入i輸入端口的回收緩存TBi,轉(zhuǎn)到步驟4;
步驟3:如果VOQik中有偏射包,挑出其中一個(gè)偏射包放到TBi,Aik進(jìn)入VOQik并等待服務(wù);否則,Aik嘗試進(jìn)入TBi,轉(zhuǎn)到步驟4;
步驟4:如果TBi已滿,丟棄 Aik;否則,Aik進(jìn)入TBi。當(dāng)Aik成為了TBi的隊(duì)頭包且VCij當(dāng)前有一個(gè)空閑令牌(也就是說(shuō)VOQij是空的),Aik就通過(guò)VCij偏射到輸出端口j,轉(zhuǎn)到步驟5;
步驟5:如果j=k,那么Aik到達(dá)了它的目的端口;否則,將Aik反饋到輸入端口j,重復(fù)步驟1。
圖3 溢出業(yè)務(wù)包的偏射過(guò)程Fig.3 Deflection process of overflow packet
由于交換機(jī)相同編號(hào)的輸入輸出端口通常在同一個(gè)線卡上[4],故D-BvN交換機(jī)中的反饋連接只需要很少的硬件成本。另外,與BvN交換機(jī)相比,DBvN交換機(jī)只是分別在輸入輸出端各添加了一個(gè)判斷模塊,故D-BvN交換機(jī)沒(méi)有引入很多額外的在線計(jì)算,其在線計(jì)算復(fù)雜度應(yīng)與BvN交換機(jī)一樣是O(1)。
為了評(píng)估D-BvN交換機(jī)的性能,并與BvN交換機(jī)的性能比較,我們對(duì)這兩種交換機(jī)做了性能仿真。通過(guò)仿真我們可以看到,D-BvN交換機(jī)的吞吐量相比BvN交換機(jī)有顯著的提升。在吞吐量較高的情況下,D-BvN交換機(jī)只帶來(lái)了很低的包亂序概率,同時(shí)其業(yè)務(wù)包延時(shí)也比BvN交換機(jī)的延時(shí)低。
在仿真中,我們假設(shè)交換機(jī)是一個(gè)分時(shí)隙的系統(tǒng),并且輸入業(yè)務(wù)是均勻的,也就是說(shuō)每個(gè)VC的平均輸入業(yè)務(wù)速率都相等,同時(shí)它們都有相同的VOQ緩存K以及容量C。在每個(gè)端口處,我們都設(shè)置了相同大小的回收緩存BT。每個(gè)VC的輸入業(yè)務(wù)都是離散時(shí)間的馬爾可夫調(diào)制on-off業(yè)務(wù)源,它們的on期和off期狀態(tài)轉(zhuǎn)移概率均為α和β。在on期中,每個(gè)時(shí)隙會(huì)以一定概率^λ產(chǎn)生一個(gè)業(yè)務(wù)包,而在off期中則沒(méi)有業(yè)務(wù)包到達(dá)。所以,業(yè)務(wù)源的峰值速率為,平均到達(dá)速率這里,類似于突發(fā)長(zhǎng)度的定義[1],我們定義業(yè)務(wù)的突發(fā)度。我們使用一組N個(gè)循環(huán)移位置換矩陣,在每個(gè)時(shí)隙隨機(jī)抽出其中一個(gè)置換矩陣給交換機(jī)做交換狀態(tài)配置,從而保證了每個(gè)VC的容量C都相等。
如圖4(a)所示,我們首先進(jìn)行了BvN交換機(jī)和D-BvN交換機(jī)的丟包率比較。在仿真中,我們給BT設(shè)置了不同的值(分別是每個(gè)端口所有VOQ緩存總和的1%、5%、10%)進(jìn)行比較??梢钥闯?,DBvN交換機(jī)的丟包率比BvN交換機(jī)有明顯的下降。這是因?yàn)樵谙嗤腣OQ緩存下,D-BvN交換機(jī)利用空閑容量偏射溢出業(yè)務(wù),實(shí)質(zhì)上是給溢出業(yè)務(wù)提供了一個(gè)動(dòng)態(tài)緩存,避免了丟包的發(fā)生。另一方面,我們也可以看到,隨著回收緩存的增大,丟包率會(huì)進(jìn)一步下降。這是因?yàn)閷?shí)際系統(tǒng)中,溢出業(yè)務(wù)和空閑容量不是同時(shí)產(chǎn)生的,如果有更大的回收緩存,就可以讓更多的溢出業(yè)務(wù)等待空閑容量的到來(lái),從而減少丟包。
圖4(b)所示是BvN交換機(jī)和D-BvN交換機(jī)對(duì)緩存的需求仿真比較。這里我們定義緩存需求為使系統(tǒng)丟包率達(dá)到10-5所需的最小VOQ緩存??梢钥吹紹vN交換機(jī)對(duì)緩存的需求比D-BvN交換機(jī)的需求大得多。這是因?yàn)镈-BvN交換機(jī)偏射溢出業(yè)務(wù)的時(shí)候,相當(dāng)于利用空閑容量做一個(gè)動(dòng)態(tài)緩存來(lái)避免丟包,從而減少了對(duì)VOQ緩存的需求。
圖4 丟包率與緩存需求的仿真結(jié)果比較圖Fig.4 Comparison of simulation results between traffic loss rate and VOQ buffer requirement
偏射會(huì)在輸出端導(dǎo)致業(yè)務(wù)包亂序。一個(gè)數(shù)據(jù)包只有被偏射之后,它才會(huì)在輸出端導(dǎo)致亂序。因此,可以用業(yè)務(wù)被偏射的概率來(lái)分析包亂序。圖5給出了3種不同回收緩存大小下業(yè)務(wù)被偏射概率隨VOQ大小變化的仿真數(shù)據(jù)圖。從圖5看出,在3種不同回收緩存大小的情況下,當(dāng)D-BvN交換機(jī)的丟包率為10-5時(shí)(對(duì)應(yīng)于圖4和圖5中的VOQ為K1、K2、K3這三點(diǎn)),D-BvN交換機(jī)的包亂序概率分別為Pd1=0.01146,Pd2=0.00957,Pd3=0.0053??梢钥闯觯@些概率都很低,不會(huì)在輸出端造成嚴(yán)重的包亂序。
圖5 D-BvN交換機(jī)業(yè)務(wù)偏射概率的仿真結(jié)果Fig.5 Simulation results of packet deflection probability in D-BvN switch
通過(guò)仿真,我們比較了系統(tǒng)丟包率均為10-5時(shí),BvN交換機(jī)和D-BvN交換機(jī)的業(yè)務(wù)包延時(shí),并發(fā)現(xiàn)D-BvN交換機(jī)的業(yè)務(wù)包延時(shí)比BvN交換機(jī)的業(yè)務(wù)包延時(shí)有顯著的下降,如圖6所示。
圖6 業(yè)務(wù)包延時(shí)的仿真結(jié)果比較圖Fig.6 Comparison of simulation results of packet delay
因?yàn)橄鄬?duì)于D-BvN交換機(jī)來(lái)說(shuō),BvN交換機(jī)需要更多的VOQ緩存才能使系統(tǒng)丟包率達(dá)到10-5(見圖4(b)),所以在BvN交換機(jī)中,受阻塞的業(yè)務(wù)包會(huì)在VOQ緩存中形成很長(zhǎng)的隊(duì)列;但在D-BvN交換機(jī)中,VOQ緩存較小,受阻塞的業(yè)務(wù)包不會(huì)形成很長(zhǎng)的隊(duì)列。根據(jù)排隊(duì)論中的Little's Law,DBvN交換機(jī)的業(yè)務(wù)包排隊(duì)延時(shí)應(yīng)該比BvN交換機(jī)的業(yè)務(wù)包排隊(duì)延時(shí)要小。同時(shí),由于D-BvN交換機(jī)的偏射概率很低(見圖5),所以業(yè)務(wù)包的平均偏射延時(shí)也很低。因此總的來(lái)說(shuō),D-BvN交換機(jī)的業(yè)務(wù)包延時(shí)要低于BvN交換機(jī)的業(yè)務(wù)包延時(shí)。
為了避免BvN交換機(jī)在突發(fā)業(yè)務(wù)下的缺點(diǎn),我們引入了偏射機(jī)制來(lái)增強(qiáng)BvN交換機(jī)的性能。DBvN交換機(jī)有以下特點(diǎn):
(1)在突發(fā)業(yè)務(wù)下,D-BvN交換機(jī)只需較少的VOQ緩存就能獲得與BvN交換機(jī)相同的吞吐量;
(2)D-BvN交換機(jī)只引入了少量的額外硬件要求且在線計(jì)算復(fù)雜度與BvN交換機(jī)一樣為O(1);
(3)盡管偏射會(huì)影響業(yè)務(wù)包的輸出順序,但是在丟包率較低的情況下,包亂序概率幾乎可以忽略不計(jì);
(4)D-BvN交換機(jī)能顯著減少業(yè)務(wù)包延時(shí)。
[1]Mckeown N.The iSLIP scheduling algorithm for inputqueued switches[J].IEEE/ACM Transactions on Networking,1999,7(2):188-201.
[2]Hu Bing,Yeung K L,Zhang Zhao-yang.An efficient single-iteration single-bit request scheduling algorithm for input-queued switches[J].Journal of Network and Computer Applications,2013,36(1):187-194.
[3]Danilewicz G,Dziuba M.The new MSMPS Packet Scheduling Algorithm for VOQ Switches[C]//Proceedings of 20128th International Symposium on Communication Systems,Networks & Digital Signal Processing.Poznan:IEEE,2012:1-5.
[4]He Chunzhi,Yeung K L.D-LQF:An efficient distributed scheduling algorithm for input-queued switches[C]//Proceedings of 2011 IEEE International Conference on Communications.Kyoto:IEEE,2011:1-5.
[5]Yu Xia,Chao H-J.Module-level matching algorithms for MSM clos- network switches[C]//Proceedings of 2012 IEEE 13th International Conference on High Performance Switching and Routing.Belgrade:IEEE,2012:36-43.
[6]Lee T T,Lam C H.Path switching-a quasi-static routing scheme for large-scale ATM packet switches[J].IEEE Journal on Selected Areas in Communications,1997,15(5):914-924.
[7]Chang Chengshang,Chen Wen-Jyh,Huang Hsiang-yi.On service guarantees for input-buffered crossbar switches:a capacity decomposition approach by Birkh off and von Neumann[C]//Proceedings of 1999 Seventh International Workshop on Quality of Service.London:IEEE,1999:79-86.
[8]Chan M C,Lee T T,Liew S Y.Statistical performance guarantees in large-scale cross-path packet Switch[C]//Proceedings of 2000IEEE International Conference on Communications.New Orleans,LA:IEEE,2000:1748-1752.
[9]Cruz R L.A calculus for network delay.I.Network elements in isolation[J].IEEE Transactions on Information Theory,1991,37(1):114-131.
[10]Chang C S,Lee D S.Jou Y S.Load balanced Birkhoff-von Neumann switches,part I:one-stage buffering[J].IEEE Computer Communication,2002,25(6):611-622.
[11]Chang C S,Lee D S,Jou Y S.Load balanced Birkhoff-von Neumann switches,part II:multistage buffering[J].IEEE Computer Communication,2002,25(6):623-634.
[12]Antonakopoulos S,F(xiàn)ortune S,McLellan R,et al.Collector-based cell reordering in load-balanced Switch fabrics[C]//Proceedings of 2013 IEEE 14th International Conference on High Performance Switching and Routing.Taipei:IEEE,2013:1-6.
[13]Wang Xiaolin,Cai Yan,Xiao Sheng,et al.A three-stage load-balancing Switch[C]//Proceedings of IEEE 27th Conference on Computer Communications.Phoenix,AZ:IEEE,2008:1993-2001.
[14]Hu Bing,Yeung K L.Load-balanced three-stage Switch Architecture[J].Journal of Network and Computer Applications,2012,35(1):502-509.
[15]Hu Bing,He chunzhi,Yeung K L.On the scalability of feedback-based two-stage Switch[C]//Proceedings of 2012 IEEE International Conference on Communications.Ottawa,ON:IEEE,2012:2956-2960.
[16]Bassi S,Decina M,Giacomazzi P,et al.Pattavina A.Multistage shuffle networks with shortest path and deflection routing for high performance ATM switching:the open-loop shuffleout[J].IEEE Transactions on Communications,1994,42(10):2881-2889.
[17]Liew S C,Lee T T.N log N dual shuffle-exchange network with error-correcting routing[C]//Proceedings of 1992 IEEE International Conference on Communications.Chicago,IL:IEEE,1992:262-268.
[18]Hsu Ching-Fang,Liu T L,Huang Nen-fu.Performance analysis of deflection routing in optical burst-switched networks[C]//Proceedings of Twenty- First Annual Joint Conference of the IEEE Computer and Communications Societyes.New York:IEEE,2002:66-73.
[19]Kohler A,Radetzki M.Fault-tolerant architecture and deflection routing for degradable NoC switches[C]//Proceedings of 3rd ACM/IEEE International Symposium on Networks-on-Chip.San Diego,CA:IEEE,2009:22-31.
[20]Chang C S,Chen W J,Huang H-Y.Birkhoff-vonneumann input buffered crossbar switches[C]//Proceedings of 2000Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies.Tel Aviv,Israel:IEEE,2000:1614-1623.