殷愛菡,郭建偉
(華東交通大學(xué) 信息工程學(xué)院,江西 南昌330013)
隨著FTTH技術(shù)的成熟,IPTV服務(wù)逐漸受到人們的重視,但由于IPTV會產(chǎn)生大量的數(shù)據(jù),需要較寬的接入帶寬,所以組播技術(shù)結(jié)合光接入網(wǎng)成為一種可行的解決方案[1]。EPON能夠提供較寬的帶寬并且支持組播協(xié)議,采用EPON承載IPTV業(yè)務(wù)是一種合理的解決方案,得到了廣泛關(guān)注[2-3]。
現(xiàn)有的EPON系統(tǒng),OLT端通常采用RR算法進(jìn)行業(yè)務(wù)調(diào)度。該算法依次輪流調(diào)度各緩存隊列,能夠保障服務(wù)的公平性,但當(dāng)各個隊列的優(yōu)先等級不同時,高優(yōu)先級的隊列往往得不到合適的帶寬,產(chǎn)生阻塞丟包的情況[4]。如果一個組播數(shù)據(jù)包在OLT端丟失,所有的用戶都將收不到該數(shù)據(jù)包,丟失的數(shù)據(jù)包會在用戶端累積從而影響IPTV節(jié)目的質(zhì)量。
本文設(shè)計了一種基于EPON承載IPTV業(yè)務(wù)的加權(quán)輪詢調(diào)度算法(WRR),將不同節(jié)目的組播數(shù)據(jù)包分配到不同的緩存隊列,再按照一定算法賦予相應(yīng)的權(quán)重,以滿足相應(yīng)等級的服務(wù)質(zhì)量(QoS)要求。該算法在OLT端可以合理地分配帶寬,有效地減少組播數(shù)據(jù)包丟失,降低隊列時延,為用戶提供更好的IPTV服務(wù)。
由于EPON承載IPTV業(yè)務(wù)組播數(shù)據(jù)包丟失數(shù)受節(jié)目訂制用戶數(shù)的影響,所以為了減少丟包,訂制用戶較多的節(jié)目組播數(shù)據(jù)流應(yīng)該分配到較寬的帶寬[5]。在OLT端,WRR算法首先將組播數(shù)據(jù)包依等級調(diào)度到不同的隊列,然后按照一定的算法給每個隊列分配相應(yīng)的權(quán)重,最后在一個輪詢周期內(nèi)按權(quán)重的大小分別發(fā)送數(shù)據(jù)包。該算法主要包括隊列調(diào)度和權(quán)重分配兩部分。
圖1給出了采用WRR算法的EPON體系結(jié)構(gòu),包括一個OLT(光線路終端)、一個POS(無源分光器)和若干ONU(光網(wǎng)絡(luò)單元)。
OLT是WRR算法的核心,由一個分類模塊、幾個緩存隊列和一個調(diào)度模塊組成。分類模塊的作用是根據(jù)式(1)重新分配來自上游的IPTV組播數(shù)據(jù)流,將其分成3個等級
每個緩存隊列對應(yīng)一個等級:高等級隊列(Q0),中等級隊列(Q1)和低等級隊列(Q2);調(diào)度模塊按照相關(guān)權(quán)重為每個緩存隊列中的數(shù)據(jù)包分配帶寬,其中權(quán)重的分配機(jī)制將在下文介紹。
圖1 EPON結(jié)構(gòu)下WRR算法框圖
表1給出了IPTV服務(wù)的組播信息,每個節(jié)目都包括1個IPTV ID(Si)、1個組播ID(Mi)、訂制用戶數(shù)(ni)和緩存隊列(qi)。其中,Si是一個IPTV服務(wù)的ID,Mi是一個廣播ID,ni是相關(guān)節(jié)目訂制用戶數(shù),qi是相應(yīng)緩存隊列。
表1 OLT端IPTV服務(wù)組播信息
分類模塊依照相應(yīng)用戶訂制數(shù),將上游IPTV組播數(shù)據(jù)包分配到不同的隊列qi,qi由兩個門限值N1和N2決定,N1和N2可以根據(jù)組播數(shù)據(jù)流量和隊列長度設(shè)定。假設(shè)N1大于N2,如果N1變大,則進(jìn)入Q0隊列的組播數(shù)據(jù)流就會減少,而進(jìn)入Q1的組播數(shù)據(jù)流會增加,詳見式(1)。
權(quán)重由訂制用戶數(shù)決定,并且會隨訂制用戶數(shù)增多而變大。提高權(quán)重能增大相關(guān)數(shù)據(jù)流的傳輸帶寬,增加隊列空余緩存空間,從而降低丟包率。為了減少受歡迎電視節(jié)目數(shù)據(jù)包的丟失,此類節(jié)目數(shù)據(jù)包被分配了一個相對較大的權(quán)重以確保其占有較寬的帶寬[6]。
權(quán)重Wi表示調(diào)度模塊分配給緩存隊列的帶寬,其定義如下
式中:ni,j表示第i個隊列中第j個組播節(jié)目的訂制用戶數(shù);ki表示第i個隊列中組播節(jié)目數(shù)據(jù)流的個數(shù);W0,W1,W2分別是隊列Q0,Q1,Q2的權(quán)重,由式(1)得到其關(guān)系為
圖2給出了OLT端WRR算法的流程圖。其中,一個確定的權(quán)重值wi即某時刻第i個隊列的傳輸帶寬,設(shè)wi=1表示緩存隊列數(shù)據(jù)包發(fā)送的門限帶寬。當(dāng)wi小于1,表示沒有足夠的帶寬傳輸隊列Qi中的數(shù)據(jù)包。
圖2 OLT端WRR算法流程圖
調(diào)度模塊根據(jù)wi將組播數(shù)據(jù)包分成3個等級,分別對應(yīng)3個緩存隊列。系統(tǒng)初始化時,調(diào)度模塊檢查隊列Qi判斷是否發(fā)送數(shù)據(jù)包:
1)如果Qi中有數(shù)據(jù),且對應(yīng)的wi的值大于或等于1,則Qi發(fā)送一個組播數(shù)據(jù)包,同時wi減1;
2)如果Qi中有數(shù)據(jù),但對應(yīng)的wi小于1,則檢測下一隊列;
3)如果Qi中沒有數(shù)據(jù),則調(diào)度模塊執(zhí)行wi+Wi。
從式(3)可得,訂制用戶較多的節(jié)目組播數(shù)據(jù)包比較少地占有更寬的帶寬,對應(yīng)的隊列空余出相對較大的緩存空間,從而減少了IPTV組播數(shù)據(jù)包的丟失,降低了平均隊列時延。
本文運(yùn)用OPNET仿真工具,對WRR算法效果進(jìn)行評估。在OPNET中建立EPON仿真環(huán)境,對比WRR算法和RR算法在組播數(shù)據(jù)包丟失數(shù)和平均隊列時延兩個方面的表現(xiàn)(見圖3)。仿真環(huán)境參量如下:
1)一個OLT連接16個ONU,每個ONU連接一個用戶;
2)各隊列背景流量不相同,Q0的流量是Q2的兩倍;
3)3個緩存隊列中均有一個組播數(shù)據(jù)流,節(jié)目訂制數(shù)按Q0,Q1,Q2順序依次為9,4,1,即W0=3,W1=2,W2=1;
4)鏈路的流量負(fù)荷為1 Gbit/s;
5)IPTV數(shù)據(jù)流是10 Mbit/s的高清節(jié)目[7];
6)每個隊列最大長度為1 Mbit;
7)數(shù)據(jù)包的間隔到達(dá)時間呈指數(shù)分布;
8)數(shù)據(jù)包在隊列中均采用先進(jìn)先出的機(jī)制;
9)每個數(shù)據(jù)包的長度為10 528 bit;
10)仿真時間為10μs。
圖3 OPNET仿真節(jié)點拓?fù)鋱D
圖4 給出了EPON承載IPTV業(yè)務(wù)ONU端總的組播數(shù)據(jù)包丟失數(shù)與流量負(fù)荷的關(guān)系曲線圖。WRR算法同RR算法相比,丟包率降低了86.7%。如圖所示,曲線可以分為兩個階段,當(dāng)流入負(fù)荷在0.1~0.3 Gbit/s時,WRR算法和RR算法相比,效果相近,沒有明顯的優(yōu)勢,這是因為流入負(fù)荷較小時,緩存隊列中排隊等待發(fā)送的數(shù)據(jù)包較少,兩種調(diào)度算法均能夠較好地調(diào)度各個隊列中的數(shù)據(jù)包,沒有造成一定的延時和丟包。當(dāng)流入負(fù)荷大于0.3 Gbit/s時,曲線進(jìn)入第二階段,由于Q0的流量是Q2的兩倍,又因為節(jié)目訂制人數(shù)不同,分配的權(quán)值也就不同,進(jìn)而分配的帶寬也就不同,這樣訂制用戶較多的節(jié)目的數(shù)據(jù)包享有較寬的傳輸帶寬,緩解了阻塞情況。相比沒有分配權(quán)重的RR算法,有效地降低了丟包數(shù)。
圖4 不同流入負(fù)荷下組播數(shù)據(jù)包丟失數(shù)
圖5 給出了OLT端組播數(shù)據(jù)平均隊列時延與流入負(fù)荷的關(guān)系曲線圖。WRR算法與RR算法相比,平均隊列時延降低了23.4%。如圖所示,曲線可以分為3個階段,當(dāng)流入負(fù)荷在0.1~0.4 Gbit/s時,WRR算法和RR算法仿真效果相當(dāng),沒有較大差別,這是因為在流量負(fù)荷比較小的情況下,兩種調(diào)度算法都可以較快地調(diào)度隊列中緩存的數(shù)據(jù)包,沒有造成一定的延時;在流入負(fù)荷在0.4~0.8 Gbit/s時,WRR算法相比RR算法仿真效果有一定優(yōu)勢;在流入負(fù)荷在0.8 Gbit/s以上時,相比RR算法,WRR算法的優(yōu)勢比較明顯,這是因為流量負(fù)荷變大,緩存隊列中滯留的數(shù)據(jù)包開始增多,而WRR算法下,Q0隊列有較寬發(fā)送帶寬,能夠在一個輪詢周期發(fā)送更多的組播數(shù)據(jù)包,有效地緩解了由于Q0隊列流量較大所造成的數(shù)據(jù)包滯留,從而降低了緩存隊列的平均隊列時延。
圖5 不同流入負(fù)荷下OLT端平均隊列時延
從圖4和圖5可以看出,相比RR算法,WRR算法減少了組播數(shù)據(jù)包的丟失,降低了組播數(shù)據(jù)平均隊列時延,能夠更加安全、快速地給用戶傳輸組播數(shù)據(jù)包,提高了IPTV服務(wù)的質(zhì)量,具備一定的優(yōu)勢。
本文設(shè)計了一種減少IPTV丟包的加權(quán)輪詢調(diào)度算法,根據(jù)IPTV組播節(jié)目訂制數(shù),將組播數(shù)據(jù)包按權(quán)重分配到不同等級的緩存隊列,重新組合調(diào)度IPTV組播數(shù)據(jù)包,給用戶較喜歡的IPTV節(jié)目組播數(shù)據(jù)包分配較寬的帶寬,減少了組播數(shù)據(jù)包的丟失,降低了平均隊列時延。仿真結(jié)果顯示W(wǎng)RR算法比RR算法,丟包率降低了86.7%,平均隊列時延減少了23.4%。
[1]殷愛菡,黃叢峰,郭建偉.EPON承載IPTV組播業(yè)務(wù)的設(shè)計[J].電視技術(shù),2012,36(11):73-76.
[2]NGO M T,GRAVEY A,BHADAURIA D.Controlling QoS in EPONbased FTTX access networks[J].Telecommunication Systems,2011,48(1/2):203-217.
[3]INATY E,RAAD R,F(xiàn)ORTIER P,et al.Code division multiple access enabled dynamic bandwidth allocation(CDBA)Scheme for EPON[J].Journal of Optical Communications and Networking,2012,4(3):271-281.
[4]JIA W K,CHEN Y C.Performance evaluation of ethernet frame burst mode in EPON downstream link[J].ETRI J,2008,30(2):290-300.
[5]SAJJAD Z,AKBAR G R.An FEC scheme combined with weighted scheduling to reduce multicast packet loss in IPTV over PON[J].Journal of Network and Computer Applications,2012,25(1):459-468.
[6]ASGHAR J,HOOD I,F(xiàn)AUCHEUR F.Preserving video quality in IPTV networks[J].IEEE Transactions on Broadcasting,2009,55(2):386-395.
[7]ITU-T G.1080,Quality of experience requirements for IPTV services[S].2008.