文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2016.04.016
中文引用格式: 曾帥,高宗彬,趙國鋒. 基于Tilera眾核平臺(tái)的流媒體流量發(fā)生系統(tǒng)的設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2016,42(4):56-59.
英文引用格式: Zeng Shuai,Gao Zongbin,Zhao Guofeng. Design of streaming media traffic generation system based on Tilera many-core platform[J].Application of Electronic Technique,2016,42(4):56-59.
0 引言
互聯(lián)網(wǎng)屬于實(shí)踐性很強(qiáng)的領(lǐng)域,相關(guān)的研究成果只有在經(jīng)過實(shí)踐驗(yàn)證后才會(huì)被廣泛接受。因此,研究人員需要網(wǎng)絡(luò)試驗(yàn)床來驗(yàn)證新的網(wǎng)絡(luò)體系架構(gòu)、協(xié)議、服務(wù)等。但是由于網(wǎng)絡(luò)實(shí)驗(yàn)床無法接入實(shí)際的互聯(lián)網(wǎng),在實(shí)驗(yàn)網(wǎng)中很難產(chǎn)生大量的網(wǎng)絡(luò)流量,進(jìn)而研究人員無法對(duì)實(shí)驗(yàn)網(wǎng)中的網(wǎng)絡(luò)體系架構(gòu)、協(xié)議、服務(wù)等進(jìn)行有效的測試。因此,作為用于產(chǎn)生大量網(wǎng)絡(luò)流量的流量發(fā)生器在網(wǎng)絡(luò)性能研究、網(wǎng)絡(luò)服務(wù)質(zhì)量研究、新協(xié)議的測試與部署、網(wǎng)絡(luò)安全性研究等領(lǐng)域具有不可或缺的作用[1]。
由于流媒體類型的網(wǎng)絡(luò)流量是互聯(lián)網(wǎng)網(wǎng)絡(luò)總流量的主要組成部分之一,而且近年來其所占比重正在不斷增長。從全球范圍來看,思科公司預(yù)測2016年流媒體內(nèi)容將會(huì)占去全部網(wǎng)絡(luò)流量的54%。在移動(dòng)互聯(lián)網(wǎng)方面,截止到2014年底,移動(dòng)視頻流量在移動(dòng)數(shù)據(jù)總流量中的比例增長到55%。預(yù)計(jì)到2019年,接近四分之三的全球移動(dòng)數(shù)據(jù)流量將為視頻流量[2],并且隨著嵌入式眾核處理器的發(fā)展,在眾核處理器上的應(yīng)用開發(fā)也進(jìn)入了新的時(shí)代。本文設(shè)計(jì)了一種基于Tilera眾核平臺(tái)的流媒體流量發(fā)生系統(tǒng),進(jìn)而對(duì)科研人員的網(wǎng)絡(luò)設(shè)備性能測試、網(wǎng)絡(luò)協(xié)議評(píng)估等提供更好的支持。
1 硬件平臺(tái)選擇
隨著嵌入式眾核處理器的發(fā)展,在眾核處理器上的應(yīng)用開發(fā)也進(jìn)入了新的時(shí)代。例如:西安電子科技大學(xué)研究的網(wǎng)絡(luò)安全測試設(shè)備[3]、H.264多線程并行編碼[4]、浙江大學(xué)研究的3G服務(wù)器視頻轉(zhuǎn)碼軟件設(shè)計(jì)[5]、西安工程大學(xué)研究的NetFlow的P2P協(xié)議識(shí)別與檢測系統(tǒng)[6]等。
本系統(tǒng)所選擇的Tilera Gx36系列眾核平臺(tái)的處理器架構(gòu)如圖1所示。其特征性能有:新一代64位處理器核心、增強(qiáng)的SIMD指令擴(kuò)展、集成高性能DDR3內(nèi)存控制器、硬件加速引擎、網(wǎng)絡(luò)包處理加速器。
2 流媒體流量發(fā)生系統(tǒng)的整體設(shè)計(jì)
2.1 流媒體用戶行為轉(zhuǎn)移模型的設(shè)計(jì)
本文對(duì)流媒體用戶行為轉(zhuǎn)移模型的設(shè)計(jì)如圖2所示。
將流媒體用戶觀看視頻的狀態(tài)分為:Init、Ready和Playing 3種狀態(tài),采用馬爾可夫狀態(tài)轉(zhuǎn)移模型進(jìn)行流媒體用戶行為轉(zhuǎn)移的設(shè)計(jì)。系統(tǒng)通過實(shí)現(xiàn)RTSP協(xié)議來模擬用戶觀看流媒體視頻的行為。該RTSP流媒體協(xié)議中包含PLAY、PAUSE、TERDOWN等相關(guān)指令,客戶端RTSP請(qǐng)求通過構(gòu)造這些指令來模擬流媒體用戶觀看視頻的行為。系統(tǒng)約定模擬的流媒體用戶在每個(gè)時(shí)刻只能采用一個(gè)交互式動(dòng)作,該動(dòng)作僅僅依賴于前一個(gè)狀態(tài)。表1描述了“消息—狀態(tài)”的相關(guān)性。
2.2 流媒體流量產(chǎn)生方式的設(shè)計(jì)
系統(tǒng)模擬產(chǎn)生流媒體流量方式的設(shè)計(jì)如圖3所示。
本系統(tǒng)以上述設(shè)計(jì)的流媒體用戶行為模型為基礎(chǔ),針對(duì)Tilera眾核平臺(tái)進(jìn)行任務(wù)的并行劃分并對(duì)互聯(lián)網(wǎng)中的流媒體服務(wù)器中的視頻等資源并行地發(fā)起大量RTSP流媒體請(qǐng)求,進(jìn)而使得互聯(lián)網(wǎng)中的流媒體服務(wù)器返回的大量真實(shí)的流媒體流量途經(jīng)實(shí)驗(yàn)網(wǎng)。
2.3 系統(tǒng)架構(gòu)設(shè)計(jì)
系統(tǒng)由3部分組成,包括系統(tǒng)界面管理模塊、服務(wù)承載模塊和眾核平臺(tái)上流媒體流量發(fā)生模塊。流媒體流量發(fā)生系統(tǒng)架構(gòu)如圖4所示。
2.4 系統(tǒng)界面管理模塊
該模塊為系統(tǒng)用戶提供了一個(gè)易操作且友好的Web網(wǎng)頁界面,支持系統(tǒng)用戶對(duì)不同情景下的流媒體流量的參數(shù)進(jìn)行配置,并將配置參數(shù)下發(fā)到服務(wù)承載模塊。
2.5 服務(wù)承載模塊
服務(wù)承載模塊包括Web server子模塊和MYSQL數(shù)據(jù)庫模塊,其中Web server子模塊又分為配置文件承載子模塊、通信承載子模塊和數(shù)據(jù)庫操作承載子模塊。
2.6 流媒體流量發(fā)生模塊
流媒體流量發(fā)生模塊負(fù)責(zé)接收服務(wù)承載模塊下發(fā)的相應(yīng)命令來完成不同情景參數(shù)下的流媒體流量模擬產(chǎn)生的功能。該模塊包含N個(gè)流媒體流量發(fā)生子模塊,分別對(duì)應(yīng)分布式的Tilera眾核平臺(tái)設(shè)備1~N,通過利用分布式的架構(gòu)使得該N臺(tái)Tilera眾核平臺(tái)設(shè)備相互配合從而產(chǎn)生更大更逼真的流媒體網(wǎng)絡(luò)流量。
單臺(tái)Tilera眾核平臺(tái)上的流媒體流量發(fā)生模塊的架構(gòu)設(shè)計(jì)如圖5所示。
系統(tǒng)將該模塊劃分為Streaming并行訪問請(qǐng)求模塊、Streaming數(shù)據(jù)接收模塊、日志記錄模塊和流量分析處理模塊四個(gè)子模塊。將Tilera眾核平臺(tái)上的多個(gè)處理器核以每四個(gè)為一個(gè)并行任務(wù)組,將每臺(tái)Tilera眾核平臺(tái)又劃分成了多個(gè)并行的任務(wù)組進(jìn)行并行工作來模擬產(chǎn)生更多的流媒體并發(fā)用戶數(shù),其中每個(gè)并行任務(wù)組中的4個(gè)處理器核對(duì)應(yīng)流媒體流量發(fā)生模塊中的4個(gè)子模塊,即每一個(gè)子模塊運(yùn)行在一個(gè)處理器核中,以提高系統(tǒng)整體的并行處理能力。其中將每臺(tái)Tilera眾核平臺(tái)上的多個(gè)處理器核中的某個(gè)核單獨(dú)拿出來作為主控核,該主控核負(fù)責(zé)與服務(wù)承載層進(jìn)行實(shí)時(shí)交互通信并接收服務(wù)承載層下發(fā)的相應(yīng)命令,并且控制及協(xié)調(diào)每臺(tái)Tilera眾核平臺(tái)上的所有正在運(yùn)行的并行任務(wù)組聯(lián)合工作,進(jìn)而實(shí)現(xiàn)系統(tǒng)用戶對(duì)本系統(tǒng)所模擬產(chǎn)生的流媒體流量的過程具有可管可控的功能。
2.6.1 流媒體流量反饋機(jī)制的設(shè)計(jì)
Tilera眾核平臺(tái)上的主控核定期檢測分析該臺(tái)Tilera眾核設(shè)備上的流媒體流量發(fā)生模塊整體模擬產(chǎn)生的流量信息,檢測模擬的整體流量在一定時(shí)間內(nèi)是否符合該配置參數(shù)情景下流媒體流量的整體波形變化情況,若與網(wǎng)絡(luò)流量的整體波形的誤差大于0.5%,則該主控核就按照預(yù)先設(shè)計(jì)的相應(yīng)策略對(duì)正在運(yùn)行的并行任務(wù)組進(jìn)行調(diào)節(jié),直到誤差小于0.5%為止,進(jìn)而確保對(duì)不同情景下的流媒體網(wǎng)絡(luò)流量進(jìn)行有效逼真的模擬。
2.6.2 RTSP請(qǐng)求?;顧C(jī)制的設(shè)計(jì)
系統(tǒng)采用線程池技術(shù)來設(shè)計(jì)RTSP的并行請(qǐng)求。如圖6所示,由于RTSP連接是有狀態(tài)鏈接,為了保持請(qǐng)求的連接的活躍狀態(tài),系統(tǒng)在線程池中設(shè)置一個(gè)心跳掃描線程定時(shí)對(duì)系統(tǒng)模擬的流媒體并發(fā)用戶數(shù)所建立的RTSP連接進(jìn)行檢測,在某個(gè)模擬的流媒體并發(fā)用戶所建立的連接距上次發(fā)送心跳包間隔時(shí)長超過100 s時(shí),通知RTSP心跳包線程發(fā)送心跳包,進(jìn)而維持較多的流媒體并發(fā)用戶數(shù)。
3 系統(tǒng)測試與數(shù)據(jù)分析
依據(jù)本文提出的基于Tilera眾核平臺(tái)的流媒體流量發(fā)生系統(tǒng),設(shè)計(jì)了一個(gè)實(shí)際的測試系統(tǒng)。由于所在實(shí)驗(yàn)環(huán)境中外網(wǎng)的網(wǎng)絡(luò)帶寬的限制(2 Mb/s)不能夠產(chǎn)生所需要的大流量,因此在實(shí)驗(yàn)網(wǎng)(千兆局域網(wǎng))內(nèi)部搭建一臺(tái)流媒體服務(wù)器,并進(jìn)行了系統(tǒng)測試。
該測試系統(tǒng)的流媒體參數(shù)配置界面如圖7所示。
該界面支持科研人員針對(duì)不同的流媒體情景進(jìn)行相應(yīng)參數(shù)的設(shè)置,從而實(shí)現(xiàn)控制多臺(tái)流媒體流量發(fā)生模塊聯(lián)合模擬產(chǎn)生不同環(huán)境下的網(wǎng)絡(luò)流量的功能。
Hurst指數(shù)是度量網(wǎng)絡(luò)流量自相似程度的重要指標(biāo),Hurst指數(shù)的計(jì)算方法主要有7種[7]:聚合方差法、R/S分析法(R/S method)、周期圖法、絕對(duì)值法、殘差方差法、小波分析法、Whittle法。本文采用時(shí)間方法和R/S分析法計(jì)算Hurst指數(shù)。
如圖8所示,流量產(chǎn)生系統(tǒng)產(chǎn)生的流量具有很強(qiáng)的自相似性,這與實(shí)際的網(wǎng)絡(luò)流量相一致,表明本系統(tǒng)對(duì)不同情景下模擬的流媒體流量具有較高的真實(shí)性。
如圖9所示,在單臺(tái)Tilera眾核平臺(tái)上采用兩個(gè)CPU處理器核來模擬2 000左右的流媒體并發(fā)用戶數(shù)時(shí),系統(tǒng)帶寬占用隨著并發(fā)用戶數(shù)的增加而增加,并且達(dá)到了最高點(diǎn)1 Gb/s,表明本系統(tǒng)可以模擬產(chǎn)生較大的流媒體流量吞吐量。
4 結(jié)論
本文提出了一種在B/S及分布式系統(tǒng)架構(gòu)模式下基于Tilera眾核平臺(tái)的流媒體流量發(fā)生系統(tǒng)的詳細(xì)設(shè)計(jì)方案,包括Tilera眾核平臺(tái)硬件系統(tǒng)和軟件架構(gòu)。本系統(tǒng)針對(duì)Tilera眾核平臺(tái)進(jìn)行并行任務(wù)的劃分與設(shè)計(jì),采用線程池技術(shù)并以流媒體用戶行為模型為依據(jù)并行地發(fā)起RTSP請(qǐng)求誘使互聯(lián)網(wǎng)中真實(shí)的流媒體服務(wù)器在途經(jīng)的試驗(yàn)網(wǎng)中產(chǎn)生大規(guī)模流媒體網(wǎng)絡(luò)流量,并設(shè)計(jì)了流量反饋機(jī)制。測試結(jié)果表明,系統(tǒng)可以模擬較大的流媒體流量吞吐率、較多的流媒體并發(fā)用戶數(shù)和不同情景下更逼真的流媒體流量,且運(yùn)行穩(wěn)定可靠,具備較好的易操作性和可擴(kuò)展性。
參考文獻(xiàn)
[1] BOTTA A,DAINOTTI A,PESCAP?魪 A.A tool for the generation of realistic network workload for emerging networking scenarios[J].Computer Networks,2012,56(15):3531-3547.
[2] Cisco VNI Mobile.視覺網(wǎng)絡(luò)指數(shù)全球移動(dòng)數(shù)據(jù)流量預(yù)測更新2014-2019年報(bào)[DB/OL].(2015).http://www.cisco.com/c/en/us/solutions/collateral/service-provider/visual-networking-index-vni/white_paper_c11-520862.html.
[3] 李晨.基于多核的網(wǎng)絡(luò)安全測試設(shè)備的通用框架設(shè)計(jì)[D].西安:西安電子科技大學(xué),2011.
[4] 張超.基于TILE64的H.264多線程并行編碼[D].西安:西安電子科技大學(xué),2011.
[5] 韓笑.基于TILE Pro6多核處理器的3G服務(wù)器視頻轉(zhuǎn)碼軟件設(shè)計(jì)[D].杭州:浙江大學(xué),2012.
[6] 楊三勝.Tilera多核環(huán)境下基于NetFlow的P2P協(xié)議識(shí)別與檢測[D].西安:西安工程大學(xué),2011.
[7] 陳建,譚獻(xiàn)海,賈真.7種Hurst系數(shù)估計(jì)算法的性能分析[J].計(jì)算機(jī)應(yīng)用,2006,26(4):945-950.