殷愛(ài)菡,郭建偉
(華東交通大學(xué) 信息工程學(xué)院,江西 南昌330013)
隨著FTTH技術(shù)的成熟,IPTV服務(wù)逐漸受到人們的重視,但由于IPTV會(huì)產(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)度各緩存隊(duì)列,能夠保障服務(wù)的公平性,但當(dāng)各個(gè)隊(duì)列的優(yōu)先等級(jí)不同時(shí),高優(yōu)先級(jí)的隊(duì)列往往得不到合適的帶寬,產(chǎn)生阻塞丟包的情況[4]。如果一個(gè)組播數(shù)據(jù)包在OLT端丟失,所有的用戶都將收不到該數(shù)據(jù)包,丟失的數(shù)據(jù)包會(huì)在用戶端累積從而影響IPTV節(jié)目的質(zhì)量。
本文設(shè)計(jì)了一種基于EPON承載IPTV業(yè)務(wù)的加權(quán)輪詢調(diào)度算法(WRR),將不同節(jié)目的組播數(shù)據(jù)包分配到不同的緩存隊(duì)列,再按照一定算法賦予相應(yīng)的權(quán)重,以滿足相應(yīng)等級(jí)的服務(wù)質(zhì)量(QoS)要求。該算法在OLT端可以合理地分配帶寬,有效地減少組播數(shù)據(jù)包丟失,降低隊(duì)列時(shí)延,為用戶提供更好的IPTV服務(wù)。
由于EPON承載IPTV業(yè)務(wù)組播數(shù)據(jù)包丟失數(shù)受節(jié)目訂制用戶數(shù)的影響,所以為了減少丟包,訂制用戶較多的節(jié)目組播數(shù)據(jù)流應(yīng)該分配到較寬的帶寬[5]。在OLT端,WRR算法首先將組播數(shù)據(jù)包依等級(jí)調(diào)度到不同的隊(duì)列,然后按照一定的算法給每個(gè)隊(duì)列分配相應(yīng)的權(quán)重,最后在一個(gè)輪詢周期內(nèi)按權(quán)重的大小分別發(fā)送數(shù)據(jù)包。該算法主要包括隊(duì)列調(diào)度和權(quán)重分配兩部分。
圖1給出了采用WRR算法的EPON體系結(jié)構(gòu),包括一個(gè)OLT(光線路終端)、一個(gè)POS(無(wú)源分光器)和若干ONU(光網(wǎng)絡(luò)單元)。
OLT是WRR算法的核心,由一個(gè)分類模塊、幾個(gè)緩存隊(duì)列和一個(gè)調(diào)度模塊組成。分類模塊的作用是根據(jù)式(1)重新分配來(lái)自上游的IPTV組播數(shù)據(jù)流,將其分成3個(gè)等級(jí)
每個(gè)緩存隊(duì)列對(duì)應(yīng)一個(gè)等級(jí):高等級(jí)隊(duì)列(Q0),中等級(jí)隊(duì)列(Q1)和低等級(jí)隊(duì)列(Q2);調(diào)度模塊按照相關(guān)權(quán)重為每個(gè)緩存隊(duì)列中的數(shù)據(jù)包分配帶寬,其中權(quán)重的分配機(jī)制將在下文介紹。
圖1 EPON結(jié)構(gòu)下WRR算法框圖
表1給出了IPTV服務(wù)的組播信息,每個(gè)節(jié)目都包括1個(gè)IPTV ID(Si)、1個(gè)組播ID(Mi)、訂制用戶數(shù)(ni)和緩存隊(duì)列(qi)。其中,Si是一個(gè)IPTV服務(wù)的ID,Mi是一個(gè)廣播ID,ni是相關(guān)節(jié)目訂制用戶數(shù),qi是相應(yīng)緩存隊(duì)列。
表1 OLT端IPTV服務(wù)組播信息
分類模塊依照相應(yīng)用戶訂制數(shù),將上游IPTV組播數(shù)據(jù)包分配到不同的隊(duì)列qi,qi由兩個(gè)門限值N1和N2決定,N1和N2可以根據(jù)組播數(shù)據(jù)流量和隊(duì)列長(zhǎng)度設(shè)定。假設(shè)N1大于N2,如果N1變大,則進(jìn)入Q0隊(duì)列的組播數(shù)據(jù)流就會(huì)減少,而進(jìn)入Q1的組播數(shù)據(jù)流會(huì)增加,詳見(jiàn)式(1)。
權(quán)重由訂制用戶數(shù)決定,并且會(huì)隨訂制用戶數(shù)增多而變大。提高權(quán)重能增大相關(guān)數(shù)據(jù)流的傳輸帶寬,增加隊(duì)列空余緩存空間,從而降低丟包率。為了減少受歡迎電視節(jié)目數(shù)據(jù)包的丟失,此類節(jié)目數(shù)據(jù)包被分配了一個(gè)相對(duì)較大的權(quán)重以確保其占有較寬的帶寬[6]。
權(quán)重Wi表示調(diào)度模塊分配給緩存隊(duì)列的帶寬,其定義如下
式中:ni,j表示第i個(gè)隊(duì)列中第j個(gè)組播節(jié)目的訂制用戶數(shù);ki表示第i個(gè)隊(duì)列中組播節(jié)目數(shù)據(jù)流的個(gè)數(shù);W0,W1,W2分別是隊(duì)列Q0,Q1,Q2的權(quán)重,由式(1)得到其關(guān)系為
圖2給出了OLT端WRR算法的流程圖。其中,一個(gè)確定的權(quán)重值wi即某時(shí)刻第i個(gè)隊(duì)列的傳輸帶寬,設(shè)wi=1表示緩存隊(duì)列數(shù)據(jù)包發(fā)送的門限帶寬。當(dāng)wi小于1,表示沒(méi)有足夠的帶寬傳輸隊(duì)列Qi中的數(shù)據(jù)包。
圖2 OLT端WRR算法流程圖
調(diào)度模塊根據(jù)wi將組播數(shù)據(jù)包分成3個(gè)等級(jí),分別對(duì)應(yīng)3個(gè)緩存隊(duì)列。系統(tǒng)初始化時(shí),調(diào)度模塊檢查隊(duì)列Qi判斷是否發(fā)送數(shù)據(jù)包:
1)如果Qi中有數(shù)據(jù),且對(duì)應(yīng)的wi的值大于或等于1,則Qi發(fā)送一個(gè)組播數(shù)據(jù)包,同時(shí)wi減1;
2)如果Qi中有數(shù)據(jù),但對(duì)應(yīng)的wi小于1,則檢測(cè)下一隊(duì)列;
3)如果Qi中沒(méi)有數(shù)據(jù),則調(diào)度模塊執(zhí)行wi+Wi。
從式(3)可得,訂制用戶較多的節(jié)目組播數(shù)據(jù)包比較少地占有更寬的帶寬,對(duì)應(yīng)的隊(duì)列空余出相對(duì)較大的緩存空間,從而減少了IPTV組播數(shù)據(jù)包的丟失,降低了平均隊(duì)列時(shí)延。
本文運(yùn)用OPNET仿真工具,對(duì)WRR算法效果進(jìn)行評(píng)估。在OPNET中建立EPON仿真環(huán)境,對(duì)比WRR算法和RR算法在組播數(shù)據(jù)包丟失數(shù)和平均隊(duì)列時(shí)延兩個(gè)方面的表現(xiàn)(見(jiàn)圖3)。仿真環(huán)境參量如下:
1)一個(gè)OLT連接16個(gè)ONU,每個(gè)ONU連接一個(gè)用戶;
2)各隊(duì)列背景流量不相同,Q0的流量是Q2的兩倍;
3)3個(gè)緩存隊(duì)列中均有一個(gè)組播數(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)每個(gè)隊(duì)列最大長(zhǎng)度為1 Mbit;
7)數(shù)據(jù)包的間隔到達(dá)時(shí)間呈指數(shù)分布;
8)數(shù)據(jù)包在隊(duì)列中均采用先進(jìn)先出的機(jī)制;
9)每個(gè)數(shù)據(jù)包的長(zhǎng)度為10 528 bit;
10)仿真時(shí)間為10μs。
圖3 OPNET仿真節(jié)點(diǎn)拓?fù)鋱D
圖4 給出了EPON承載IPTV業(yè)務(wù)ONU端總的組播數(shù)據(jù)包丟失數(shù)與流量負(fù)荷的關(guān)系曲線圖。WRR算法同RR算法相比,丟包率降低了86.7%。如圖所示,曲線可以分為兩個(gè)階段,當(dāng)流入負(fù)荷在0.1~0.3 Gbit/s時(shí),WRR算法和RR算法相比,效果相近,沒(méi)有明顯的優(yōu)勢(shì),這是因?yàn)榱魅胴?fù)荷較小時(shí),緩存隊(duì)列中排隊(duì)等待發(fā)送的數(shù)據(jù)包較少,兩種調(diào)度算法均能夠較好地調(diào)度各個(gè)隊(duì)列中的數(shù)據(jù)包,沒(méi)有造成一定的延時(shí)和丟包。當(dāng)流入負(fù)荷大于0.3 Gbit/s時(shí),曲線進(jìn)入第二階段,由于Q0的流量是Q2的兩倍,又因?yàn)楣?jié)目訂制人數(shù)不同,分配的權(quán)值也就不同,進(jìn)而分配的帶寬也就不同,這樣訂制用戶較多的節(jié)目的數(shù)據(jù)包享有較寬的傳輸帶寬,緩解了阻塞情況。相比沒(méi)有分配權(quán)重的RR算法,有效地降低了丟包數(shù)。
圖4 不同流入負(fù)荷下組播數(shù)據(jù)包丟失數(shù)
圖5 給出了OLT端組播數(shù)據(jù)平均隊(duì)列時(shí)延與流入負(fù)荷的關(guān)系曲線圖。WRR算法與RR算法相比,平均隊(duì)列時(shí)延降低了23.4%。如圖所示,曲線可以分為3個(gè)階段,當(dāng)流入負(fù)荷在0.1~0.4 Gbit/s時(shí),WRR算法和RR算法仿真效果相當(dāng),沒(méi)有較大差別,這是因?yàn)樵诹髁控?fù)荷比較小的情況下,兩種調(diào)度算法都可以較快地調(diào)度隊(duì)列中緩存的數(shù)據(jù)包,沒(méi)有造成一定的延時(shí);在流入負(fù)荷在0.4~0.8 Gbit/s時(shí),WRR算法相比RR算法仿真效果有一定優(yōu)勢(shì);在流入負(fù)荷在0.8 Gbit/s以上時(shí),相比RR算法,WRR算法的優(yōu)勢(shì)比較明顯,這是因?yàn)榱髁控?fù)荷變大,緩存隊(duì)列中滯留的數(shù)據(jù)包開(kāi)始增多,而WRR算法下,Q0隊(duì)列有較寬發(fā)送帶寬,能夠在一個(gè)輪詢周期發(fā)送更多的組播數(shù)據(jù)包,有效地緩解了由于Q0隊(duì)列流量較大所造成的數(shù)據(jù)包滯留,從而降低了緩存隊(duì)列的平均隊(duì)列時(shí)延。
圖5 不同流入負(fù)荷下OLT端平均隊(duì)列時(shí)延
從圖4和圖5可以看出,相比RR算法,WRR算法減少了組播數(shù)據(jù)包的丟失,降低了組播數(shù)據(jù)平均隊(duì)列時(shí)延,能夠更加安全、快速地給用戶傳輸組播數(shù)據(jù)包,提高了IPTV服務(wù)的質(zhì)量,具備一定的優(yōu)勢(shì)。
本文設(shè)計(jì)了一種減少IPTV丟包的加權(quán)輪詢調(diào)度算法,根據(jù)IPTV組播節(jié)目訂制數(shù),將組播數(shù)據(jù)包按權(quán)重分配到不同等級(jí)的緩存隊(duì)列,重新組合調(diào)度IPTV組播數(shù)據(jù)包,給用戶較喜歡的IPTV節(jié)目組播數(shù)據(jù)包分配較寬的帶寬,減少了組播數(shù)據(jù)包的丟失,降低了平均隊(duì)列時(shí)延。仿真結(jié)果顯示W(wǎng)RR算法比RR算法,丟包率降低了86.7%,平均隊(duì)列時(shí)延減少了23.4%。
[1]殷愛(ài)菡,黃叢峰,郭建偉.EPON承載IPTV組播業(yè)務(wù)的設(shè)計(jì)[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.