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