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