趙曉輝,徐 川,王曉婷,彭 春,王憶文
(1.成都華微電子科技有限公司,成都610041;2.電子科技大學(xué)微電子與固體電子學(xué)院,成都610054)
基于CICQ結(jié)構(gòu)的交換機建模與仿真
趙曉輝1,徐 川2,王曉婷2,彭 春2,王憶文2
(1.成都華微電子科技有限公司,成都610041;2.電子科技大學(xué)微電子與固體電子學(xué)院,成都610054)
利用OPNET軟件完成了基于CICQ交換結(jié)構(gòu)和LQD_RR調(diào)度算法的交換機模型構(gòu)建,并且在交換機工作的真實環(huán)境基礎(chǔ)上,使用OPNET模擬了交換機外圍的節(jié)點和進程模型,最后在不同流量模型下完成了交換機的仿真。通過分析仿真結(jié)果對交換結(jié)構(gòu)以及算法進行評估,方便后期的硬件設(shè)計,避免在硬件設(shè)計過程中因算法可行性分析不充分而影響整個設(shè)計流程。
交換機模型;光纖通道;OPNET軟件;CICQ結(jié)構(gòu);調(diào)度;仿真
近來,互聯(lián)網(wǎng)的發(fā)展歷經(jīng)了一個飛速增長的過程,基于互聯(lián)網(wǎng)的各種技術(shù)也隨之應(yīng)運而生,這些技術(shù)對帶寬、服務(wù)質(zhì)量等要求不斷提升,現(xiàn)有的交換機技術(shù)在這些方面都面臨嚴(yán)峻挑戰(zhàn),設(shè)計出新一代的高速交換機勢在必行。
在交換機設(shè)計中,要針對各種各樣的應(yīng)用環(huán)境進行分析,根據(jù)應(yīng)用環(huán)境來調(diào)整交換機的核心算法,這里需要一個平臺評估核心算法在各種環(huán)境下的實現(xiàn)效果。對于交換機性能研究的方法主要有三種[1]:現(xiàn)場實驗、數(shù)學(xué)理論分析、仿真模擬。與其他二種研究方式比較,仿真模擬在交換機性能的分析中操作簡便而且結(jié)果可靠同時可以節(jié)省資金,因此,在交換算法的研究中仿真模擬的方法使用得越來越廣泛。
目前的仿真模擬主要是利用OPNET、NS、SIM等軟件或者自己編寫仿真系統(tǒng)進行仿真[2-3],其中NS、SIM為開源軟件,OPNET為商用軟件。相比開源軟件而言,OPNET的功能更為強大,界面友好,且能完成全面的仿真建模以及對各種協(xié)議的支持,在數(shù)據(jù)網(wǎng)絡(luò)、通信領(lǐng)域都已經(jīng)得到了廣泛的使用與認(rèn)可。因而本研究采用OPNET軟件針對交換機的結(jié)構(gòu)算法進行仿真模擬。在建模完成后針對伯努利均勻分布、突發(fā)均勻分布、伯努利對角分布、伯努利弱對角分布、伯努利熱點分布等五種流量模型對交換機進行了驗證,最終為實現(xiàn)一種低延遲、高吞吐率、高帶寬利用率的交換機提供了理論依據(jù)。
如圖1所示,研究的對象為一種FC(Fiber Cha-nnel)交換機,F(xiàn)C交換機由線卡、切片重組單元、交換單元、Power PC單元四個功能單元組成。
圖1 交換機整體架構(gòu)
線卡單元包括FC交換機的物理層數(shù)據(jù)傳輸,以及完成傳輸協(xié)議和數(shù)據(jù)幀的接收發(fā)送。切片重組單元是為了方便交換單元的調(diào)度,將變長的FC幀切分為定長的內(nèi)部幀并發(fā)送到交換單元,接收到交換單元發(fā)送的內(nèi)部幀后將內(nèi)部幀重組為FC幀并發(fā)送到線卡。交換單元負責(zé)將輸入端口的內(nèi)部幀通過交換結(jié)構(gòu),按照調(diào)度策略轉(zhuǎn)發(fā)到輸出端口。Power PC單元是FC交換機的微處理器部分,負責(zé)線卡的登錄、注銷、路由表更新等功能。
交換單元采用CICQ(輸入及交叉點聯(lián)合排隊)的交換結(jié)構(gòu),其整體結(jié)構(gòu)如圖2所示,一個N×N的CICQ交換結(jié)構(gòu)由N個輸入/輸出端和帶交叉點緩存的Crossbar組成[4]。在CICQ結(jié)構(gòu)下交換機的輸入端和輸出端都使用調(diào)度器完成數(shù)據(jù)包的調(diào)度。輸入端調(diào)度主要完成根據(jù)調(diào)度規(guī)則將虛擬緩存隊列隊頭的數(shù)據(jù)包發(fā)送到對應(yīng)的交叉結(jié)點緩存隊列中;輸出端調(diào)度主要完成根據(jù)調(diào)度規(guī)則將交叉節(jié)點緩存中的數(shù)據(jù)包發(fā)送到輸出端口。本文中輸入調(diào)度器采用LQD_RR的調(diào)度算法,輸出調(diào)度器采用RR調(diào)度算法,實現(xiàn)了性能和硬件實現(xiàn)難易的平衡。
圖2 CICQ交換結(jié)構(gòu)
在交換機建模仿真過程中,因為主要針對交換機的性能進行仿真,即針對交換機的核心單元,交換結(jié)構(gòu)與調(diào)度算法進行仿真,所以在后文的建模過程中,將用來實現(xiàn)交換機功能而對其性能影響較小的切片重組、線卡、PowerPC等模塊簡化掉,這樣可以在得到良好結(jié)果的同時,大大簡化建模難度。
交換機為16*16的交換規(guī)模,在建立交換機模型時,OPNET仿真在節(jié)點、進程和網(wǎng)絡(luò)三個層次完成模型建立[5]。在網(wǎng)絡(luò)層,實現(xiàn)整個網(wǎng)絡(luò)的配置,完成交換機與流量產(chǎn)生以及接收的節(jié)點相連接;在節(jié)點層,利用進程、隊列、發(fā)送接收模塊完成交換結(jié)構(gòu)以及流量產(chǎn)生模塊的設(shè)計;在進程層,利用狀態(tài)機的描述方式,完成包的產(chǎn)生、發(fā)送、接收等功能,以及調(diào)度算法的實現(xiàn)[6]。下面依次從這三個層次對模型的建立進行介紹。
3.1 網(wǎng)絡(luò)模型建立
交換機需要在不同的網(wǎng)絡(luò)模型下進行仿真,文中針對五種流量模型進行仿真,這里采用不同的流量節(jié)點對應(yīng)不同的網(wǎng)絡(luò)模型,每個節(jié)點通過鏈路與交換機相連然后完成數(shù)據(jù)包在節(jié)點之間的交換傳送。將這五種節(jié)點與交換節(jié)點進行組合通過已定義的鏈路模型可得出五個網(wǎng)絡(luò)模型,網(wǎng)絡(luò)模型如圖3(左)所示。
3.2 節(jié)點模型建立
交換機的節(jié)點主要由接收機、隊列和發(fā)送機連接而成。其中隊列分為用作VOQ的隊列和用作交叉結(jié)點緩存的隊列。首先,接收機接收到來自外部節(jié)點發(fā)來的數(shù)據(jù)包,通過對數(shù)據(jù)包目的地址的讀取完成數(shù)據(jù)包的入隊操作,然后輸入端通過LQD_RR算法完成對虛擬隊列的調(diào)度。數(shù)據(jù)包從被調(diào)度隊列發(fā)向?qū)?yīng)的交叉節(jié)點緩存隊列中,然后輸出端通過RR算法完成對數(shù)據(jù)包的輸出調(diào)度,最后數(shù)據(jù)包通過發(fā)信機傳送到外部節(jié)點中完成一個數(shù)據(jù)包的交換。整個過程中各端口是同時工作的,交換節(jié)點結(jié)構(gòu)如圖3(右)所示。
流量節(jié)點模型分為五種,這里以伯努利均勻分布的節(jié)點建立為例,節(jié)點包括包產(chǎn)生模塊、伯努利分布處理模塊、流量分布處理模塊、發(fā)送模塊、接收模塊。首先,周邊通過包產(chǎn)生模塊生成一個數(shù)據(jù)包,這個數(shù)據(jù)包通過包流線傳遞給流量到達處理模塊,這個模塊主要完成流量的突發(fā)或伯努利到達過程的仿真;然后數(shù)據(jù)包通過包流線傳送到流量分布處理模塊,該模塊主要完成數(shù)據(jù)包目的端口分布的處理,最后數(shù)據(jù)包從發(fā)信機發(fā)出到交換節(jié)點。與此同時,如果節(jié)點接收到一個數(shù)據(jù)包時,它必須完成對該數(shù)據(jù)包從發(fā)出到收到的時間延遲統(tǒng)計。因此周邊節(jié)點必須包括一個業(yè)務(wù)生成模塊、一個流量到達處理模塊、一個流量分布處理模塊和一對點對點收發(fā)信機來完成這些任務(wù),流量節(jié)點結(jié)構(gòu)如圖4所示。
圖3 交換機網(wǎng)絡(luò)模型(左)交換機節(jié)點模型(右)
圖4 流量節(jié)點模型
3.3 核心進程模型建立
實現(xiàn)輸入調(diào)度的LQD_RR算法進程主要依據(jù)LQD_RR算法流程來進行設(shè)計,LQD_RR算法首先求取局部最長隊列,然后判斷局部最長隊列是否具有EVOQ,如果有則進行數(shù)據(jù)包發(fā)送,如果沒有則通過輪詢的方式找到第一個具有EVOQ的隊列進行調(diào)度。整體流程圖如圖5所示。
OPNET中采用狀態(tài)轉(zhuǎn)移圖對算法進行描述,如圖6所示。LQD_RR算法的進程狀態(tài)圖由init、idle、queuing和scheduling四個狀態(tài)組成通過狀態(tài)轉(zhuǎn)移線連接而成。其中init為初始狀態(tài),完成dp指針和rp指針的初始化,并定義了一個寫文件,完成數(shù)據(jù)收集。idle狀態(tài)主要通過中斷信號完成狀態(tài)間的切換。ARRVL中斷信號用于激活處理數(shù)據(jù)包到達輸入端口時的入隊操作,INTRPT_SCH中斷信號用于激活對虛擬緩存隊列的調(diào)度處理。Queuing狀態(tài)主要根據(jù)不同端口收到的數(shù)據(jù)包目的地址完成虛擬隊列的入隊處理。Scheduling狀態(tài)則實現(xiàn)LQD_RR調(diào)度算法,完成數(shù)據(jù)包從虛擬隊列到交叉結(jié)點緩存隊列的調(diào)度。輸出調(diào)度與輸入調(diào)度流程相似,只是在scheduling狀態(tài)采用的算法不同,由LQD_RR算法替換為RR算法。
圖5 LQD_RR算法流程圖
在建立OPNET網(wǎng)絡(luò)模型后,對不同的流量模型以及負載率從10%~100%的不同情況對交換機進行仿真,分析各個情況下交換機時間數(shù)據(jù)包延遲的影響情況,流量模型為流量到達模型與流量分布模型相結(jié)合,本文采用以下五種流量模型進行仿真。
圖6 LQD_RR進程狀態(tài)圖
(1)伯努利均勻流量模型:流量到達模型服從參數(shù)為p的伯努利分布模型,流量分布模型為均勻分布,平均分配到各個輸出端,這種模型模擬在交換機現(xiàn)實環(huán)境的正常工作情況。
(2)突發(fā)均勻分布流量模型:信元到達服從ON/OFF突發(fā)模型,ON狀態(tài)持續(xù)時間即突發(fā)傳輸時間,流量分布模型為均勻分布,這種模型模擬交換機在應(yīng)對數(shù)據(jù)包激增時的情況。
(3)伯努利對角流量模型:流量到達模型為伯努利分布模型,流量分布模型為對角分布模型,λi,j為在對角分布的情況下,數(shù)據(jù)包通過端口i發(fā)送到端口j的概率,即這種流量模型的輸出只針對相鄰兩個輸出端口。
(4)伯努利弱對角流量模型:流量到達模型為伯努利分布模型,流量分布模型為弱對角分布模型,λi,j為在對角分布的情況下,數(shù)據(jù)包通過端口i發(fā)送到端口j的概率,即這種流量模型的輸出主要針對對應(yīng)的一個輸出端口進行輸出。
(5)伯努利熱點分布流量模型:流量到達模型為伯努利分布模型,流量分布模型為熱點分布模型,λi,j為從輸入端i發(fā)送到端j的速率,N為交換結(jié)構(gòu)的端口數(shù),ρ為輸入端口的負載率,ω被稱為非平衡因子,流量滿足下面公式。這種流量反映出網(wǎng)絡(luò)中的一些特殊情況如:網(wǎng)絡(luò)擁塞、模擬拒絕服務(wù)攻擊等[7-8]。
針對上面介紹的五種流量模型,設(shè)定crossbar中的緩存長度為1個信元,信元長度為1024,數(shù)據(jù)傳輸速率為1GHz,可以得到仿真結(jié)果如圖7所示。
圖7 五種流量仿真結(jié)果
這五種流量模型模擬的是該交換算法在現(xiàn)實的五種工作環(huán)境中性能的表現(xiàn)情況。交換機的負載率在10%到90%增加過程中,在這五種流量模型下其性能都很穩(wěn)定。但當(dāng)負載率增加到90%以上時不同流量模型下交換機性能的優(yōu)劣便產(chǎn)生了差異,又有當(dāng)負載率為100%時這種差異最為顯著。負載率在100%時,交換機在伯努利均勻流量、伯努利對角流量和伯努利熱點流量的情況下性能很穩(wěn)定,數(shù)據(jù)包時間延遲較小。在流量到達模型服從突發(fā)均勻流量情況下交換機性能相對穩(wěn)定,此時數(shù)據(jù)包的時間延遲相較于前三種情況下有所增加。在流量到達模型服從伯努利弱對角流量情況下交換機性能不太穩(wěn)定,此時數(shù)據(jù)包的時間延遲最大。
研究了交換機的CICQ模型以及LQD_RR調(diào)度算法,在此基礎(chǔ)上利用OPNET對交換機進行了建模,并通過將數(shù)據(jù)包生成節(jié)點與交換節(jié)點組合搭建了交換機網(wǎng)絡(luò)模型,完成了在不同網(wǎng)絡(luò)環(huán)境和不同負載率情況下的仿真,并對仿真結(jié)果進行了分析研究,表明了本交換機模型的的適用性,為下一步的硬件設(shè)計進行了技術(shù)上的鋪墊。
[1] 張劍.基于OPNET仿真建模方法研究[D].武漢:武漢理工大學(xué),2005:14-34.
ZHANG J.The Research on Simulation and Modeling Methods Based on OPNET[D].Wuhan:Wuhan University of Technology,2005:14-34.
[2] 肖敏.交換機及交換網(wǎng)仿真技術(shù)研究[D].湖南:湖南師范大學(xué),2010.
XIAO M.The Research on Simulation of Switchs and Switching Networkds[D].Hunan:Hunan Normal University,2010.
[3] 肖卓.交換調(diào)度算法仿真軟件的設(shè)計與實現(xiàn)[D].南京:南京理工大學(xué),2007.
XIAO Z.The Design and Implementation of Simulation Software for Switch Scheduling Algorithm[D].NanJing:Nanjing University of Technology,2007.
[4] 夏羽.高性能大容量多級交換結(jié)構(gòu)與調(diào)度算法研究[D].成都:西南交通大學(xué),2012,3-30.
XIA Y.Research on Multi-stage Switch Fabric and Scheduling Algorithms for High-performance and High-capacity Switches[D].Chengdu:Southwest Jiaotong University,2012,3-30.
[5] Chang X.Network simulations with OPNET[C]./Proceedings of the 31st conference on Winter simulation:Simulation-a bridge to the future-Volume 1.ACM,1999:307-314.
[6] 韓笑.無線局域網(wǎng)退避算法的研究與改進[D].西安:西安電子科技大學(xué),2014.
HAN X.Research and Improvement of the WLAN Backoff Algorithm[D].Xian:XiDian University,2014.
[7] Fong S,Singh S.Analytical modelling of shared buffer ATM switches with hot-spot pushout under bursty traffic[C]./Global Telecommunications Conference,1996.GLOBECOM'96.'Communications:The Key to Global Prosperity.IEEE,1996,2:835-839.
[8] Rahman M M H,Inoguchi Y,Sato Y,et al.On hot-spot traffic pattern of TESH network[C]./Computer and Information Technology,2008.ICCIT 2008.11th International Conference on.IEEE,2008:359-364.
Modeling and Simulation of Sw itch Based on CICQ Architecture
Zhao Xiaohui1,Xu Chuan2,Wang Xiaoting2,Peng Chun2,Wang Yiwen2
(1.Chengdu Sino Microelectronics Technology Co.,Ltd.,Chengdu 610041 China;2.School of Microelectronics and Solid-State Electronics,University of Electronic Science and Technology,Chengdu 610054,China)
Software OPNET is used to complete a switch system with CICQ architecture and LQD_RR scheduling.For the purpose of simulating the real working environment of the switch,the peripheral nodes are created based on traffic distribution.Finally switch simulation is completed under different trafficmodels.The results of simulation are analyzed to evaluate the performance of switching architecture and algorithm which make hardware design easily and prevent the unsufficient feasibility analysis on the entire design flow during the hardware design process.
Switch model;Fiber Channel;OPNET software;CICQ structure;Scheduling;Simulation
10.3969/j.issn.1002-2279.2015.05.007
TN919.6
A
1002-2279(2015)05-0023-04
趙曉輝(1975-),男,遼寧省昌圖縣人,高級工程師,主研方向:大規(guī)模集成電路設(shè)計及應(yīng)用,數(shù)據(jù)傳輸與處理。
2015-06-03