專利名稱:并行交換開關(guān)設(shè)計方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)交換設(shè)備中的交換開關(guān)設(shè)計方法,特指一種基于輸入緩存交叉開關(guān)(Crossbar)的并行交換開關(guān)設(shè)計方法。
背景技術(shù):
交換開關(guān)是網(wǎng)絡(luò)交換設(shè)備的核心部件,負責將輸入信元傳送到輸出端口。目前,集中式輸入緩存crossbar交換開關(guān)得到廣泛應(yīng)用。它包含若干輸入端口和輸出端口,由調(diào)度器確定輸入輸出端口之間的連接關(guān)系,將信元從輸入端口交換到輸出端口。
為適應(yīng)應(yīng)用需求,網(wǎng)絡(luò)交換設(shè)備向更高端口速率和更大規(guī)模發(fā)展,這將極大地增加集中式交換開關(guān)的設(shè)計難度。首先,高速端口導致調(diào)度器工作周期的縮短,需要在短時間內(nèi)對各輸入端口的交換請求完成仲裁;其次,調(diào)度器的復雜度為O(N·logN),N為交換開關(guān)端口數(shù)量,端口數(shù)量的增加將加大調(diào)度器的復雜度,使得大規(guī)模高速集中式輸入緩存crossbar交換開關(guān)的設(shè)計與實現(xiàn)變得非常困難,對器件提出極高要求,造成很高的開發(fā)成本。
并行交換開關(guān)有效地解決了上述問題,它使用并行工作的低速交換開關(guān)實現(xiàn)高性能交換,具有很好的可擴展性,能夠滿足大規(guī)模高速網(wǎng)絡(luò)交換設(shè)備對交換能力的要求。并行交換開關(guān)由N個輸入控制器、m個低速交換開關(guān)和N個輸出控制器組成。輸入控制器將輸入信元分配到低速交換開關(guān),實現(xiàn)負載均衡。低速交換開關(guān)并行工作,獨立處理分配的數(shù)據(jù)。輸出控制器完成信元重組,將重組后的信元輸出到外部線路。
并行交換開關(guān)必須具有以下特點(1)負載均衡分配。將輸入信元均勻分配到各個低速交換開關(guān),提高系統(tǒng)并行性能,實現(xiàn)高速交換;(2)信元保序。保證信元按照輸入順序輸出并行交換開關(guān),避免信元亂序;(3)復雜度低,易于實現(xiàn)。
研究人員針對并行交換開關(guān)進行了大量工作,基于不同類型低速交換開關(guān),采用不同輸入控制器和輸出控制器,提出多種并行交換開關(guān)結(jié)構(gòu)。S.Iyer在論文“Analysis ofthe Parallel Packet Switch Architecture”(發(fā)表于IEEE/ACM Transactions onNetworking,2003(11),April314~324)中提出PPS(Parallel Packet Switch)并行交換開關(guān),PPS使用輸出緩存交換開關(guān)作為低速交換模塊,實現(xiàn)100%吞吐量,并能夠提供延時保證。W.Wang在發(fā)表于IEEE INFOCOM 2002會議的“A distributed switcharchitecture with dynamic load-balancing and parallel input-queued crossbars forterabit switch fabrics”論文中提出ADSA(Advanced Distributed SwitchArchitecture)并行交換開關(guān)。ADSA的低速交換模塊為輸入緩存交換開關(guān),輸入控制器向低速交換開關(guān)發(fā)送交換請求,低速交換開關(guān)根據(jù)內(nèi)部調(diào)度器的仲裁結(jié)果返回確認,輸入控制器依據(jù)確認信息輸出相應(yīng)信元。信元經(jīng)過低速交換開關(guān)到達輸出控制器,完成信元重組后,輸出到外部鏈路。ADSA具有較高交換性能,實現(xiàn)難度相對較小。
以上成果促進了并行交換開關(guān)技術(shù)的發(fā)展,但也存在不足之處。PPS研究的著眼點是從理論上探討并行交換開關(guān)提供100%吞吐量和延時保證的可能性,它對低速交換模塊要求高,需要使用輸出緩存交換開關(guān),由于輸出緩存交換開關(guān)可擴展性差,對存儲器帶寬要求高,難以適應(yīng)高速網(wǎng)絡(luò)的速率要求。因此,PPS實現(xiàn)難度大,不易實際應(yīng)用。
ADSA的輸入控制器與低速交換開關(guān)之間采用請求-確認工作方式,既增加了通信開銷,也加大了同步難度,而且還要求使用專用低速交換開關(guān)。其次,ADSA在一個仲裁周期內(nèi)可能將屬于同一條流的多個信元發(fā)送到低速交換開關(guān),這一方面增加輸入端口緩存帶寬的需求,另一方面還會導致信元亂序,輸出端口需要使用時間戳和PIFO隊列重組報文,造成額外的帶寬開銷,增加了實現(xiàn)代價。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題在于針對并行交換開關(guān)負載均衡分配和信元保序問題,提出一種能夠維持負載均衡、保證信元順序、簡單高效的并行交換開關(guān)設(shè)計方法,以適應(yīng)大規(guī)模高速網(wǎng)絡(luò)交換設(shè)備的發(fā)展需求。
本發(fā)明的技術(shù)方案為端口速率為R的并行交換開關(guān)PSC(Parallel Switch based onCrossbars)由N個輸入控制器、m個加速比為1(端口速率為R/m)的低速輸入緩存Crossbar交換開關(guān)和N個輸出控制器組成。報文進入PSC并行交換開關(guān)之前首先被分割成定長信元,PSC接收一個信元所需時間稱為一個時間槽。定義具有相同輸入端口i和輸出端口j的信元集合為一條流,記為(i,j)。輸入控制器負責接收信元,以輪詢方式將信元均勻分配到Crossbar交換開關(guān),保證負載均衡;各Crossbar交換開關(guān)并行工作,獨立完成信元交換;輸出控制器則按照信元的分配順序重組信元,提供信元保序支持。
每個輸入控制器由一片F(xiàn)PGA實現(xiàn),它包含N個虛擬輸出隊列VOQ(Virtual OutputQueue)和一個負載分配器。VOQ隊列是信元緩存器,可以采用FPGA片內(nèi)存儲器或外接存儲器實現(xiàn),用于保存輸入信元,輸入控制器i接收目的端口為j的信元后,將它加入VOQ(i,j)隊列尾,0≤i,j≤N-1。
負載分配器進行負載均衡,確定每個時間槽向Crossbar交換開關(guān)發(fā)送的信元,它由信元分配請求產(chǎn)生器、Crossbar狀態(tài)監(jiān)視器、輸入輪詢指針產(chǎn)生器和信元分配仲裁邏輯組成。
如果VOQ(i,j)隊列非空,信元分配請求產(chǎn)生器將當前請求的相應(yīng)位置為有效,即REQi[j]=1。
Crossbar狀態(tài)監(jiān)視器檢查當前時間槽輸入控制器與Crossbar交換開關(guān)之間的鏈路是否空閑,如果空閑,置位空閑指示的相應(yīng)位,表示輸入控制器可以發(fā)送信元。Crossbar狀態(tài)監(jiān)視器包括m個計數(shù)器和m個比較器,對應(yīng)不同Crossbar交換開關(guān)。初始化時,將所有計數(shù)器賦值為0。向某個Crossbar交換開關(guān)發(fā)送信元后,將相應(yīng)計數(shù)器置為m,以后每個時間槽計數(shù)器減1,直至等于0。如果計數(shù)器等于0,表示鏈路空閑。
輸入輪詢指針產(chǎn)生器負責維護兩類指針,第一類為VOQ輪詢指針PRR,指示具有最高優(yōu)先級的VOQ隊列;另一類為Crossbar輪詢指針PVOQ,每個VOQ隊列均有一個對應(yīng)的指針,指示隊列頭信元的目標Crossbar交換開關(guān)。輸入輪詢指針產(chǎn)生器向信元分配仲裁邏輯提供這兩類指針,用于負載調(diào)度,并根據(jù)仲裁結(jié)果修改指針。PRR為模N的加法器,而PVOQ為模m的加法器,初始化時均賦值為0。
信元分配仲裁邏輯進行負載分配,根據(jù)信元分配請求產(chǎn)生器、Crossbar狀態(tài)監(jiān)視器和輸入輪詢指針產(chǎn)生器的輸入,為VOQ隊列頭信元選擇Crossbar交換開關(guān),產(chǎn)生仲裁結(jié)果,包括信元發(fā)送控制信號GntIn和GntCrb。如果GntIn=i,GntCrb=j(luò),表示將第i個VOQ隊列頭信元發(fā)送到交換開關(guān)j。
負載分配采用迭代方式調(diào)度信元,按照輪詢順序?qū)⑤斎胄旁峙涞讲煌珻rossbar交換開關(guān)。負載分配過程是第一步.根據(jù)VOQ輪詢指針PRR確定本次調(diào)度處理的起始VOQ隊列start;第二步.迭代N次第(1)步處理VOQ隊列start。如果隊列非空,根據(jù)Crossbar輪詢指針PVOQ選擇處理隊列頭信元的Crossbar交換開關(guān)C,若交換開關(guān)C的輸入端非空閑,繼續(xù)第(2)步。否則,選擇將隊列頭信元發(fā)送到C,修改Crossbar輪詢指針PVOQ=(PVOQ+1)mod m,如果是第一次迭代,修改VOQ輪詢指針PRR=(PRR+1)modN,mod為求模運算。
第(2)步start=(start+1)mod N,繼續(xù)下一次迭代。
每個輸出控制器由一片F(xiàn)PGA實現(xiàn),它包括(m·N)個虛擬輸入隊列VIQ(Virtual InputQueue)和一個信元整合器。VIQ隊列是信元緩存器,可以采用FPGA片內(nèi)存儲器或外接存儲器實現(xiàn),到達輸出控制器的信元首先在VIQ隊列排隊,如果信元的輸入端口為i,輸出端口為j,經(jīng)過第l個Crossbar交換開關(guān)到達輸出端口,它將進入VIQ(i,j,1)隊列,0≤i,j≤N-1,0≤l≤m-1。m個連續(xù)隊列VIQ(i,j,0),VIQ(i,j,1),...,VIQ(i,j,m-1)隊列保存所有屬于流(i,j)的信元,稱之為VIQ流組,記作VIQ(i,j)。如果VIQ流組非空,則稱隊列頭信元組成一個完整塊,否則為非完整塊。信元整合器對信元進行重組,恢復信元原有順序。它由信元重組請求產(chǎn)生器、輸出輪詢指針產(chǎn)生器和信元重組仲裁邏輯組成。
信元重組請求產(chǎn)生器根據(jù)VIQ流組是否包含完整塊產(chǎn)生不同的調(diào)度請求,如果流(i,j)有完整塊等待輸出,那么REQi[j]=1,否則,REQi[j]=0。
輸出輪詢指針產(chǎn)生器維護三類指針,第一類為完整塊輪詢指針PFB,指示在包含完整塊的流中具有最高優(yōu)先級的流;第二類為非完整塊輪詢指針PNFB,指示在包含非完整塊的流中具有最高優(yōu)先級的流;第三類為VIQ隊列輪詢指針Pf,每個VIQ流組對應(yīng)一個指針,指示下一個應(yīng)該處理的VIQ隊列。輸出輪詢指針產(chǎn)生器向信元重組仲裁邏輯提供這三類指針,用于重組信元,并根據(jù)仲裁結(jié)果修改指針。PFB和PNFB為模N的加法器,而Pf為模m的加法器,初始化時均賦值為0。
信元重組仲裁邏輯對信元進行重組,即根據(jù)信元重組請求REQi、完整塊輪詢指針PFB、非完整塊輪詢指針PNFB和VIQ隊列輪詢指針Pf,選擇輸出信元,產(chǎn)生仲裁結(jié)果,包括GntIn、GntOut和GntCrb信元發(fā)送控制信號。如果GntIn=i,GntOut=j(luò),GntCrb=l,則表示從第l個VIQ隊列開始,連續(xù)輸出m個屬于流(i,j)的信元。信元重組仲裁邏輯以m個時間槽作為一個工作周期,在每個工作周期可最多選擇m個信元輸出到外部線路。
對信元進行重組的方法是第一步.確定處理的流f(1)如果REQi≠0,即輸出控制器收到完整塊,那么從完整塊輪詢指針PFB開始選擇第一個具有完整塊的流f,并修改PFBPFB=(f+1)modN(2)如果輸出控制器尚未收到完整塊,將PNFB作為處理的流,修改PNFBPNFB=(PNFB+1)modN。
第二步.如果流f的Crossbar輪詢指針Pf所指VIQ隊列非空,發(fā)送隊列頭信元,Pf=(Pf+1)modm,繼續(xù)處理下一個信元。如果VIQ隊列空或者已發(fā)送m個信元,處理結(jié)束。
Crossbar交換開關(guān)完成信元的實際交換,它將影響并行交換開關(guān)的系統(tǒng)性能和實現(xiàn)的難度,因此要求Crossbar交換開關(guān)使用簡單高效、吞吐量高、公平的調(diào)度算法。本發(fā)明建議采用iSLIP或ISP(Input Serial Polling Algorithm)調(diào)度算法。
并行交換開關(guān)的設(shè)計目標是使用多個并行工作的低速交換開關(guān),獲得與集中式交換開關(guān)相近的性能。以集中式輸入緩存Crossbar交換開關(guān)作為參考對象,通過仿真實驗分析PSC并行交換開關(guān)的吞吐量和信元平均延時等性能,發(fā)現(xiàn)PSC與集中式輸入緩存Crossbar交換開關(guān)的性能相當,它具有較高的吞吐量,在配置16個低速交換開關(guān)數(shù)時,PSC的吞吐量達到集中式交換開關(guān)的99.7%以上。雖然平均延時較長,但平均延時的增加對端到端延時的影響很小,能夠滿足應(yīng)用需求。
采用本發(fā)明可以取得以下技術(shù)效果(1)PSC的低速Crossbar交換開關(guān)加速比為1,它的端口速率為PSC外部端口速率的1/m,輸出控制器也是以m個時間槽為工作周期,與Crossbar交換開關(guān)具有相同的工作周期,解決了集中式交換開關(guān)調(diào)度器以單個時間槽為工作周期,仲裁時間短,實現(xiàn)難度高的問題。而且,Crossbar交換開關(guān)與輸出控制器的工作頻率與交換開關(guān)數(shù)量成反比,隨著交換開關(guān)數(shù)量的增加,其實現(xiàn)難度進一步降低。與PPS相比較,PSC對構(gòu)成并行交換開關(guān)的低速交換模塊要求低,充分利用輸入緩存Crossbar實現(xiàn)簡單、可擴展性好的特點;(2)輸入控制器與輸出控制器采用協(xié)同工作方式,均按照模N加1的順序分配或重組信元,既保證負載均衡,又不需要任何額外開銷實現(xiàn)信元保序。另外,輸出控制器為同一條流經(jīng)過不同Crossbar交換開關(guān)到達輸出端的信元設(shè)置獨立的VIQ隊列,只需按序重組信元,克服了ADSA要求使用PIFO(Pushed In First Out)等復雜隊列管理機制的缺點,降低了PSC的實現(xiàn)難度;(3)具有良好的性能。性能分析表明,PSC的吞吐量和信元平均延時與集中式交換開關(guān)基本相當,適合于實際應(yīng)用;(4)可擴展性好。模擬結(jié)果顯示,Crossbar交換開關(guān)的增加對系統(tǒng)性能影響小,因此,可以通過增加低速交換開關(guān)的數(shù)量,實現(xiàn)更高性能、更大規(guī)模的并行交換開關(guān)。
圖1是并行交換開關(guān)一般結(jié)構(gòu)圖;圖2是本發(fā)明并行交換開關(guān)PSC結(jié)構(gòu)圖;圖3是本發(fā)明輸入控制器結(jié)構(gòu)圖;圖4是本發(fā)明負載分配流程圖;圖5是本發(fā)明輸出控制器結(jié)構(gòu)圖;圖6是本發(fā)明信元重組流程圖;圖7是PSC與集中式Crossbar交換開關(guān)吞吐量比較圖;圖8是PSC與集中式Crossbar交換開關(guān)信元平均延時比較圖。
具體實施例方式圖1是并行交換開關(guān)一般結(jié)構(gòu)圖,它由N個輸入控制器、m個低速交換開關(guān)和N個輸出控制器組成。輸入控制器將輸入信元分配到低速交換開關(guān),實現(xiàn)負載均衡。低速交換開關(guān)并行工作,獨立處理分配的數(shù)據(jù)。輸出控制器完成信元重組,將重組后的信元輸出到外部線路。
圖2是本發(fā)明并行交換開關(guān)PSC結(jié)構(gòu)圖。PSC并行交換開關(guān)由N個輸入控制器、m個加速比為1(即端口速率為R/m)的輸入緩存Crossbar交換開關(guān)和N個輸出控制器組成。輸入控制器負責接收信元,以輪詢方式將信元均勻分配到Crossbar交換開關(guān),保證負載均衡,每個輸入控制器包含N個虛擬輸出隊列VOQ和一個負載分配器。各Crossbar交換開關(guān)并行工作,獨立完成信元交換。輸出控制器按照信元的分配順序重組信元,提供信元保序支持,每個輸出控制器包括(m·N)個虛擬輸入隊列VIQ和一個信元整合器。
圖3是本發(fā)明輸入控制器結(jié)構(gòu)圖。輸入控制器i(0≤i≤N-1)采用一片F(xiàn)PGA實現(xiàn),它包含N個虛擬輸出隊列VOQ和一個負載分配器。VOQ隊列是FPGA片內(nèi)存儲器,保存輸入信元,輸入控制器i接收目的端口為j的信元后,將它加入VOQ(i,j)隊列尾,0≤i,j≤N-1。
負載分配器確定每個時間槽向Crossbar交換開關(guān)發(fā)送的信元,它由信元分配請求產(chǎn)生器、Crossbar狀態(tài)監(jiān)視器、輸入輪詢指針產(chǎn)生器和信元分配仲裁邏輯組成。
如果VOQ(i,j)隊列非空,信元分配請求產(chǎn)生器將當前請求的相應(yīng)位置為有效,即REQi[j]=1。
Crossbar狀態(tài)監(jiān)視器檢查當前時間槽輸入控制器與Crossbar交換開關(guān)之間的鏈路是否空閑,如果空閑,置位空閑指示的相應(yīng)位,表示輸入控制器可以發(fā)送信元。Crossbar狀態(tài)監(jiān)視器包括m個計數(shù)器和m個比較器,對應(yīng)不同Crossbar交換開關(guān)。初始化時,將所有計數(shù)器賦值為0。向某個Crossbar交換開關(guān)發(fā)送信元后,將相應(yīng)計數(shù)器置為m,以后每個時間槽計數(shù)器減1,直至等于0。如果計數(shù)器等于0,表示鏈路空閑。
輸入輪詢指針產(chǎn)生器負責維護兩類指針,第一類為VOQ輪詢指針PRR,指示具有最高優(yōu)先級的VOQ隊列;另一類為Crossbar輪詢指針PVOQ,每個VOQ隊列均有一個對應(yīng)的指針,指示隊列頭信元的目標Crossbar交換開關(guān)。輸入輪詢指針產(chǎn)生器向信元分配仲裁邏輯提供這兩類指針,用于負載調(diào)度,并根據(jù)仲裁結(jié)果修改指針。PRR為模N的加法器,而PVOQ為模m的加法器,初始化時均賦值為0。
信元分配仲裁邏輯進行負載分配,根據(jù)信元分配請求產(chǎn)生器、Crossbar狀態(tài)監(jiān)視器和輸入輪詢指針產(chǎn)生器的輸入,為VOQ隊列頭信元選擇Crossbar交換開關(guān),產(chǎn)生仲裁結(jié)果,包括信元發(fā)送控制信號GntIn和GntCrb。如果GntIn=i,GntCrb=j(luò),表示將第i個VOQ隊列頭信元發(fā)送到交換開關(guān)j。
圖4是本發(fā)明負載分配流程圖,它的處理過程是第一步.根據(jù)VOQ輪詢指針PRR確定本次調(diào)度處理的起始VOQ隊列start;第二步.迭代N次第(1)步處理VOQ隊列start。如果隊列非空,根據(jù)Crossbar輪詢指針PVOQ選擇處理隊列頭信元的Crossbar交換開關(guān)C,若交換開關(guān)C的輸入端非空閑,繼續(xù)第(2)步。否則,選擇將隊列頭信元發(fā)送到C,修改Crossbar輪詢指針PVOQ=(PVOQ+1)modm,如果是第一次迭代,修改VOQ輪詢指針PRR=(PRR+1)modN,mod為求模運算。
第(2)步start=(start+1)mod N,繼續(xù)下一次迭代。
圖5是本發(fā)明輸出控制器結(jié)構(gòu)圖。輸出控制器j(0≤j≤N-1)由一片F(xiàn)PGA實現(xiàn),它包括(m·N)個虛擬輸入隊列VIQ、信元重組請求產(chǎn)生器、輸出輪詢指針產(chǎn)生器和信元重組仲裁邏輯。VIQ隊列是FPGA片內(nèi)存儲器,到達輸出控制器的信元首先在VIQ隊列排隊,如果信元的輸入端口為i,輸出端口為j,經(jīng)過第l個Crossbar交換開關(guān)到達輸出端口,它將進入VIQ(i,j,1)隊列,0≤i,j≤N-1,0≤l≤m-1。顯然,m個連續(xù)隊列VIQ(i,j,0),VIQ(i,j,1),...,VIQ(i,j,m-1)隊列保存所有屬于流(i,j)的信元,稱之為VIQ流組,記作VIQ(i,j)。如果VIQ流組非空,稱隊列頭信元組成一個完整塊,否則為非完整塊。
信元重組請求產(chǎn)生器根據(jù)VIQ流組是否包含完整塊產(chǎn)生不同的調(diào)度請求,如果流(i,j)有完整塊等待輸出,那么REQi[j]=1,否則,REQi[j]=0。
輸出輪詢指針產(chǎn)生器維護三類指針,第一類為完整塊輪詢指針PFB,指示在包含完整塊的流中具有最高優(yōu)先級的流;第二類為非完整塊輪詢指針PNFB,指示在包含非完整塊的流中具有最高優(yōu)先級的流;第三類為VIQ隊列輪詢指針Pf,每個VIQ流組對應(yīng)一個指針,指示下一個應(yīng)該處理的VIQ隊列。輸出輪詢指針產(chǎn)生器向信元重組仲裁邏輯提供這三類指針,用于重組信元,并根據(jù)仲裁結(jié)果修改指針。PFB和PNFB為模N的加法器,而Pf為模m的加法器,初始化時均賦值為0。
信元重組仲裁邏輯對信元進行重組,根據(jù)信元重組請求REQi、完整塊輪詢指針PFB、非完整塊輪詢指針PNFB和VIQ隊列輪詢指針Pf,選擇輸出信元,產(chǎn)生仲裁結(jié)果,包括GntIn、GntOut和GntCrb信元發(fā)送控制信號。如果GntIn=i,GntOut=j(luò),GntCrb=l,則表示從第l個VIQ隊列開始,連續(xù)輸出m個屬于流(i,j)的信元。信元重組仲裁邏輯以m個時間槽作為一個工作周期,在每個工作周期可最多選擇m個信元輸出到外部線路。
圖6是本發(fā)明信元重組流程圖,它包括以下處理過程第一步.確定處理的流f(1)如果REQi≠0,即輸出控制器收到完整塊,那么從完整塊輪詢指針PFB開始選擇第一個具有完整塊的流f,并修改PFBPFB=(f+1)mod N
(2)如果輸出控制器尚未收到完整塊,將PNFB作為處理的流,修改PNFBPNFB=(PNFB+1)modN。
第二步.如果流f的Crossbar輪詢指針Pf所指VIQ隊列非空,發(fā)送隊列頭信元,Pf=(Pf+1)modm,繼續(xù)處理下一個信元。如果VIQ隊列空或者已發(fā)送m個信元,處理結(jié)束。
圖7給出不同負載條件下,包含不同數(shù)量低速Crossbar交換開關(guān)的PSC相對于集中式交換開關(guān)的吞吐量。圖中參數(shù)N表示交換開關(guān)端口數(shù),m表示低速交換開關(guān)數(shù),縱坐標是相對吞吐量,定義為在模擬時間段內(nèi),PSC交換的信元數(shù)與集中式交換開關(guān)的比值。從圖中可以看到,PSC具有較高吞吐量,與集中式交換開關(guān)基本相當。由于負載均衡是影響PSC吞吐量的關(guān)鍵因素,因此分析結(jié)果表明輸入控制器能夠均衡分配負載,有效避免系統(tǒng)內(nèi)部的低速交換開關(guān)出現(xiàn)熱點。其次,PSC的吞吐量與低速交換開關(guān)數(shù)相關(guān),增加低速交換開關(guān)將導致PSC吞吐量的減小。這是因為內(nèi)部交換開關(guān)的工作速率與其數(shù)量成反比,隨著低速交換開關(guān)數(shù)的增加,PSC的實現(xiàn)難度降低,但是,更多的低速交換開關(guān)可能引起負載分配均衡度的下降,進而影響系統(tǒng)吞吐量。當然,這種影響并不顯著,例如,在配置16個低速交換開關(guān)數(shù)時,PSC的相對吞吐量仍保持在0.997以上。
圖8是不同負載條件下,包含不同數(shù)量低速Crossbar交換開關(guān)的PSC與集中式交換開關(guān)的信元平均延時比較圖。平均延時以時間槽為單位,是信元在輸入控制器、Crossbar交換開關(guān)、和輸出控制器的延時之和。圖中參數(shù)N表示交換開關(guān)端口數(shù),m表示低速交換開關(guān)數(shù)。該圖顯示,PSC的信元平均延時高于集中式交換開關(guān),而且平均延時差隨著低速交換開關(guān)數(shù)量的增加而增大。這是因為信元在Crossbar交換開關(guān)的延時占總延時的很大比例,而前者是由于輸入緩存交換開關(guān)的輸入端口沖突和輸出端口沖突造成的,解決沖突所需時間與交換開關(guān)工作速率緊密相關(guān)。PSC基于低速輸入緩存交換開關(guān)完成信元交換,因此平均延時較長。隨著交換開關(guān)數(shù)的增加,其工作速率進一步降低,從而導致平均延時的增加。但是,在高速網(wǎng)絡(luò)交換設(shè)備中,隨著端口速率的提高,時間槽長度變短,例如,在OC768鏈路中,滿負載情況下增加的平均延時為30us,遠小于實時應(yīng)用所需的端到端毫秒級延時要求,因此,平均延時的增加對端到端延時的影響很小,能夠滿足應(yīng)用需求。
權(quán)利要求
1.一種并行交換開關(guān)設(shè)計方法,采用該方法設(shè)計的并行交換開關(guān)由N個輸入控制器、m個低速交換開關(guān)和N個輸出控制器組成,輸入控制器將輸入信元分配到低速交換開關(guān),實現(xiàn)負載均衡,低速交換開關(guān)并行工作,獨立處理分配的數(shù)據(jù),輸出控制器完成信元重組,將重組后的信元輸出到外部線路;其特征在于若設(shè)計端口速率為R的并行交換開關(guān)PSC,低速交換開關(guān)采用m個加速比為1的低速輸入緩存Crossbar交換開關(guān);每個輸入控制器包含N個虛擬輸出隊列VOQ和一個負載分配器,VOQ隊列是信元緩存器,用于保存輸入信元,輸入控制器i接收目的端口為j的信元后,將它加入VOQ(i,j)隊列尾,0≤i,j≤N-1;負載分配器確定每個時間槽向Crossbar交換開關(guān)發(fā)送的信元,它由信元分配請求產(chǎn)生器、Crossbar狀態(tài)監(jiān)視器、輸入輪詢指針產(chǎn)生器和信元分配仲裁邏輯組成;每個輸出控制器包括(m·N)個虛擬輸入隊列VIQ和一個信元整合器,VIQ隊列是信元緩存器,到達輸出控制器的信元首先在VIQ隊列排隊,如果信元的輸入端口為i,輸出端口為j,經(jīng)過第l個Crossbar交換開關(guān)到達輸出端口,它將進入VIQ(i,j,l)隊列,0≤i,j≤N-1,0≤l≤m-1,m個連續(xù)隊列VIW(i,j,0),VIQ(i,j,1),…,VIQ(i,j,m-1)隊列保存所有屬于流(i,j)的信元,稱為VIQ流組,記作VIQ(i,j),如果VIQ流組非空,那么隊列頭信元組成一個完整塊,否則為非完整塊;信元整合器對信元進行重組,恢復信元原有順序,它由信元重組請求產(chǎn)生器、輸出輪詢指針產(chǎn)生器和信元重組仲裁邏輯組成。
2.如權(quán)利要求1所述的并行交換開關(guān)設(shè)計方法,其特征在于如果VOQ(i,j)隊列非空,信元分配請求產(chǎn)生器將當前請求的相應(yīng)位置為有效,即REQi[j]=1;Crossbar狀態(tài)監(jiān)視器檢查當前時間槽輸入控制器與Crossbar交換開關(guān)之間的鏈路是否空閑,如果空閑,置位空閑指示的相應(yīng)位,表示輸入控制器可以發(fā)送信元,Crossbar狀態(tài)監(jiān)視器包括m個計數(shù)器和m個比較器,對應(yīng)不同Crossbar交換開關(guān),初始化時,將所有計數(shù)器賦值為0,向某個Crossbar交換開關(guān)發(fā)送信元后,將相應(yīng)計數(shù)器置為m,以后每個時間槽計數(shù)器減1,直至等于0,如果計數(shù)器等于0,表示鏈路空閑;輸入輪詢指針產(chǎn)生器負責維護兩類指針,第一類為VOQ輪詢指針PRR,指示具有最高優(yōu)先級的VOQ隊列;另一類為Crossbar輪詢指針PVOQ,每個VOQ隊列均有一個對應(yīng)的指針,指示隊列頭信元的目標Crossbar交換開關(guān);輸入輪詢指針產(chǎn)生器向信元分配仲裁邏輯提供這兩類指針,用于負載調(diào)度,并根據(jù)仲裁結(jié)果修改指針;信元分配仲裁邏輯進行負載分配,根據(jù)信元分配請求產(chǎn)生器、Crossbar狀態(tài)監(jiān)視器和輸入輪詢指針產(chǎn)生器的輸入,為VOQ隊列頭信元選擇Crossbar交換開關(guān),產(chǎn)生仲裁結(jié)果,包括信元發(fā)送控制信號GntIn和GntCrb,如果GntIn=i,GntCrb=j(luò),表示將第i個VOQ隊列頭信元發(fā)送到交換開關(guān)j。
3.如權(quán)利要求1或2所述的并行交換開關(guān)設(shè)計方法,其特征在于所述負載分配采用迭代方式調(diào)度信元,按照輪詢順序?qū)⑤斎胄旁峙涞讲煌珻rossbar交換開關(guān),負載分配過程是第一步.根據(jù)VOQ輪詢指針PRR確定本次調(diào)度處理的起始VOQ隊列start;第二步.迭代N次第(1)步處理VOQ隊列start如果隊列非空,根據(jù)Crossbar輪詢指針PVOQ選擇處理隊列頭信元的Crossbar交換開關(guān)C,若交換開關(guān)C的輸入端非空閑,繼續(xù)第(2)步;否則,選擇將隊列頭信元發(fā)送到C,修改Crossbar輪詢指針PVOQ=(PVOQ+1)modm,如果是第一次迭代,修改VOQ輪詢指針PRR=(PRR+1)modN,mod為求模運算;第(2)步start=(start+1)modN,繼續(xù)下一次迭代。
4.如權(quán)利要求1所述的并行交換開關(guān)設(shè)計方法,其特征在于所述信元重組請求產(chǎn)生器根據(jù)VIQ流組是否包含完整塊產(chǎn)生不同的調(diào)度請求,如果流(i,j)有完整塊等待輸出,則REQi[j]=1,否則,REQi[j]=0;輸出輪詢指針產(chǎn)生器維護三類指針,第一類為完整塊輪詢指針PFB,指示在包含完整塊的流中具有最高優(yōu)先級的流;第二類為非完整塊輪詢指針PNFB,指示在包含非完整塊的流中具有最高優(yōu)先級的流;第三類為VIQ隊列輪詢指針Pf,每個VIQ流組對應(yīng)一個指針,指示下一個應(yīng)該處理的VIQ隊列;輸出輪詢指針產(chǎn)生器向信元重組仲裁邏輯提供這三類指針,用于重組信元,并根據(jù)仲裁結(jié)果修改指針;信元重組仲裁邏輯對信元進行重組,即根據(jù)信元重組請求REQi、完整塊輪詢指針PFB、非完整塊輪詢指針PNFB和VIQ隊列輪詢指針Pf,選擇輸出信元,產(chǎn)生仲裁結(jié)果,包括GntIn、GntOut和GntCrb信元發(fā)送控制信號;如果GntIn=i,GntOut=j(luò),GntCrb=l,則表示從第l個VIQ隊列開始,連續(xù)輸出m個屬于流(i,j)的信元,信元重組仲裁邏輯以m個時間槽作為一個工作周期,在每個工作周期可最多選擇m個信元輸出到外部線路。
5.如權(quán)利要求1或4所述的并行交換開關(guān)設(shè)計方法,其特征在于對信元進行重組的方法是第一步.確定處理的流f(1)如果REQi≠0,即輸出控制器收到完整塊,那么從完整塊輪詢指針PFB開始選擇第一個具有完整塊的流f,并修改PFBPFB=(f+1)mod N;(2)如果輸出控制器尚未收到完整塊,將PNFB作為處理的流,修改PNFBPNFB=(PNFB+1)mod N;第二步.如果流f的Crossbar輪詢指針Pf所指VIQ隊列非空,發(fā)送隊列頭信元,Pf=(Pf+1)mod m,繼續(xù)處理下一個信元,如果VIQ隊列空或者已發(fā)送m個信元,處理結(jié)束。
6.如權(quán)利要求1所述的并行交換開關(guān)設(shè)計方法,其特征在于所述輸入控制器和輸出控制器均可由FPGA實現(xiàn),VOQ隊列和VIQ隊列可以采用FPGA片內(nèi)存儲器或外接存儲器實現(xiàn),PRR、PFB和PNFB為模N的加法器,而PVOQ和Pf為模m的加法器,初始化時均賦值為0。
全文摘要
本發(fā)明公開了一種能夠維持負載均衡、保證信元順序、簡單高效的并行交換開關(guān)設(shè)計方法。技術(shù)方案是并行交換開關(guān)由N個輸入控制器、m個低速輸入緩存Crossbar交換開關(guān)和N個輸出控制器組成。每個輸入控制器包含N個虛擬輸出隊列VOQ和一個負載分配器。VOQ是信元緩存器,保存輸入信元;負載分配器維持負載均衡,確定每個時間槽向Crossbar交換開關(guān)發(fā)送的信元,它由信元分配請求產(chǎn)生器、Crossbar狀態(tài)監(jiān)視器、輸入輪詢指針產(chǎn)生器和信元分配仲裁邏輯組成。每個輸出控制器包括mN個虛擬輸入隊列VIQ和一個信元整合器,VIQ是信元緩存器,到達輸出控制器的信元首先在VIQ隊列排隊;信元整合器進行信元重組,且在不同流之間提供公平服務(wù),它由信元重組請求產(chǎn)生器、輸出輪詢指針產(chǎn)生器和信元重組仲裁邏輯組成。
文檔編號H04L12/04GK1819523SQ200610031239
公開日2006年8月16日 申請日期2006年2月20日 優(yōu)先權(quán)日2006年2月20日
發(fā)明者胡曉峰, 蘇金樹, 孫志剛, 張曉明, 管建波 申請人:中國人民解放軍國防科學技術(shù)大學