• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于P2P的流媒體監(jiān)控傳輸系統(tǒng)的設(shè)計與實現(xiàn)

      2010-09-19 06:40:30
      成都大學學報(自然科學版) 2010年2期
      關(guān)鍵詞:線程服務(wù)器動態(tài)

      蒲 石

      (內(nèi)江師范學院現(xiàn)代教育技術(shù)中心,四川內(nèi)江 641000)

      基于P2P的流媒體監(jiān)控傳輸系統(tǒng)的設(shè)計與實現(xiàn)

      蒲 石

      (內(nèi)江師范學院現(xiàn)代教育技術(shù)中心,四川內(nèi)江 641000)

      利用半同步/半異步的模式進行框架設(shè)計,結(jié)合任務(wù)池和線程池等技術(shù)設(shè)計和實現(xiàn)了基于P2P的CDN流媒體系統(tǒng)中媒體資源服務(wù)器和原始服務(wù)器之間的傳輸子系統(tǒng),提出了基于任務(wù)池閑置信息和系統(tǒng)運行參數(shù)統(tǒng)計信息相結(jié)合的有效動態(tài)線程池和任務(wù)池管理算法,根據(jù)各種運行參數(shù)信息動態(tài)評估系統(tǒng)當前的負載和壓力情況,對任務(wù)池和線程池尺寸進行動態(tài)修改.通過與兩種傳統(tǒng)實現(xiàn)方式的實驗比較,采用新算法后,顯著降低了CPU的負載,有效提高了系統(tǒng)效率和網(wǎng)絡(luò)吞吐量.

      半同步/半異步;任務(wù)池;線程池

      0 引 言

      目前,采用流媒體技術(shù)的流媒體實時監(jiān)控系統(tǒng)是該應(yīng)用技術(shù)領(lǐng)域持續(xù)關(guān)注的熱點之一.隨著網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,流媒體內(nèi)容在互聯(lián)網(wǎng)中大量傳播,對于高質(zhì)量的流媒體分發(fā)服務(wù)體現(xiàn)得越加明顯,因而為大量用戶提供快速,高質(zhì)量的流媒體分發(fā)服務(wù)已成為該領(lǐng)域研究的熱點和難點.通常,在流媒體監(jiān)控系統(tǒng)中所要傳輸?shù)臄?shù)據(jù)量相當大,其主要包括:控制信息和反饋信息、視頻和音頻、其他如文本信息等.對于傳統(tǒng)的基于C/S模式或B/S模式的流媒體監(jiān)控系統(tǒng),在監(jiān)控點和監(jiān)控中心之間進行這些大量流媒體數(shù)據(jù)傳輸,會導(dǎo)致服務(wù)器性能下降.基于此,把P2P技術(shù)引入到流媒體監(jiān)控系統(tǒng)設(shè)計中,可實現(xiàn)基于 P2P和CDN的監(jiān)控傳輸子系統(tǒng)[1,3,4,6],客戶利用P2P方式從邊緣服務(wù)器得到服務(wù),同時原始服務(wù)器和邊緣服務(wù)器之間的內(nèi)容發(fā)布也通過P2P方式進行,通過這種方式可有效地利用系統(tǒng)中的網(wǎng)絡(luò)帶寬和主機資源,減輕了原始服務(wù)器和邊緣服務(wù)器的壓力,減少了主干網(wǎng)數(shù)據(jù)流量,降低了運營商的成本,提高了客戶的服務(wù)質(zhì)量.

      1 系統(tǒng)分析

      在流媒體監(jiān)控系統(tǒng)中,用戶對服務(wù)質(zhì)量和媒體資源數(shù)量有著越來越高的要求,系統(tǒng)需要具備存儲大量媒體資源的能力,此時原始服務(wù)器的存儲空間和計算壓力成為了系統(tǒng)的瓶頸,為了減輕原始服務(wù)器的存儲壓力,必需將存儲功能轉(zhuǎn)移到專門的媒體資源服務(wù)器上.因此,當邊緣服務(wù)器向原始服務(wù)器請求資源時,原始服務(wù)器向媒體資源服務(wù)器請求并緩存在本地,然后通過P2P的方式將這一資源發(fā)往多個邊緣服務(wù)器,以提高系統(tǒng)的容錯性.但采用這種系統(tǒng)結(jié)構(gòu)以后出現(xiàn)的問題是,媒體資源服務(wù)器與原始服務(wù)器間的資源傳輸成為了系統(tǒng)的瓶頸.傳統(tǒng)的解決方法普遍采用FTP的方式,即通過多進程和阻塞來實現(xiàn),這種方式對網(wǎng)絡(luò)帶寬和CPU的利用率以及并發(fā)度都不盡如人意.本文針對傳統(tǒng)方式的缺點進行了有效改進,利用半同步/半異步的方式建立系統(tǒng)框架,利用任務(wù)池[7]對數(shù)據(jù)的讀寫請求進行封裝,采用線程池[7,9]對任務(wù)池中的任務(wù)進行高效異步處理.通過對任務(wù)的閑置情況進行統(tǒng)計,并結(jié)合系統(tǒng)的當前資源利用情況對任務(wù)池和線程池進行動態(tài)管理,降低了CPU的負載,提高了系統(tǒng)的吞吐量.

      2 系統(tǒng)布局及傳輸子系統(tǒng)框架

      系統(tǒng)總體布局如圖1所示,邊緣服務(wù)器與若干客戶節(jié)點形成P2P網(wǎng)絡(luò),以提供高效的服務(wù)質(zhì)量,降低服務(wù)器的負載.當客戶在邊緣服務(wù)器上請求資源不命中時,邊緣服務(wù)器會向原始服務(wù)器請求,原始服務(wù)器會根據(jù)具體請求要求,將其需要的媒體資源通過高效傳輸子系統(tǒng)緩存在本地,然后利用P2P的方式向多個邊緣服務(wù)器進行內(nèi)容發(fā)布.

      圖1 系統(tǒng)總體布局圖

      這種方式有效地減輕了原始服務(wù)器在內(nèi)容發(fā)布時的壓力,理論上它只要將一個完整的媒體副本發(fā)送出去,其他邊緣服務(wù)器會根據(jù)P2P的方式得到一個完整的副本.同理,當邊緣服務(wù)器向客戶提供服務(wù)的時候,理論上它也只需要傳輸一個副本,多個客戶端就可以得到完整的服務(wù).

      傳輸子系統(tǒng)框架圖如圖2所示.原始服務(wù)器和媒體資源服務(wù)器通常在一個子網(wǎng)中,網(wǎng)絡(luò)速度比磁盤

      圖2 傳輸子系統(tǒng)框架

      I/O速度更快,此時,磁盤I/O成了系統(tǒng)的瓶頸.為了緩解網(wǎng)絡(luò)I/O和磁盤I/O的矛盾,在傳輸子系統(tǒng)的設(shè)計當中采用半同步/半異步的方式將網(wǎng)絡(luò)I/O和磁盤I/O分離開來,并通過任務(wù)池的方式進行緩沖.上層的主線程處理epoll異步事件和協(xié)議交互,并將接收到的數(shù)據(jù)按照固定大小封裝在任務(wù)里面,然后將任務(wù)放回任務(wù)池,下層線程池負責從任務(wù)池中取出任務(wù),進行具體的磁盤讀寫操作,操作完成后線程和任務(wù)分別回到線程池和任務(wù)池等待調(diào)度.

      3 線程池動態(tài)管理算法

      為了對線程池進行有效的動態(tài)管理,需要采集各種性能參數(shù),經(jīng)過綜合分析之后對線程池做出調(diào)整.本算法中參考了兩個最關(guān)鍵的參數(shù),即任務(wù)的平均等待時間和CPU使用率.通過任務(wù)的平均等待時間,可以分析出當前線程池需要調(diào)整的方向;通過CPU使用率可以得到是否需要增加或者減少線程.

      線程池動態(tài)管理算法流程圖如圖3所示.圖3中,c(current)表示線程池當前平均等待時間,p(previous)表示線程池上次等待時間,pp表示上上次等待時間,ps(pool size)表示線程池大小,pps表示上次線程池大小.

      圖3 線程池動態(tài)管理算法

      該算法中并不是對等待時間的絕對值進行比較,而是對currTime和preTime進行比較,如果差異大于1%,線程池可能需要調(diào)整,調(diào)整方向則根據(jù)currTime和preTime的大小關(guān)系來決定.如果 currTime大于 preTime,需要進一步比較 preTime和prepreTime的關(guān)系,如果preTime小于prepreTime,并且CPU使用率大于90%,那么減小線程池,減小的步長(stride)為2.如果preTime大于prepreTime,并且CPU使用率小于80%,則增大線程池,增加的步長為2.如果currTime小于preTime,并且preTime小于prepreTime,則增大線程池.

      簡而言之,算法通過對currTime、preTime、prepre-Time三者的關(guān)系進行比較,確定線程池是否需要調(diào)整.當需要減小線程池時,需要進一步判斷CPU的使用率,只有CPU大于一個閥值的時才進行減小操作,因為CPU的負載太小也是一種資源浪費;同理,當需要增大線程池時,也只能在CPU小于一個閥值的時候,才能進行增加操作,因為CPU的負載不能過大.

      4 實驗分析

      因為媒體資源服務(wù)器和原始服務(wù)器多在同一個子網(wǎng)中,因此實驗的環(huán)境也通過一個局域網(wǎng)來模擬.在實驗中,服務(wù)器的基本配置是2個Intel雙核Xeon 3GHz芯片,2 048 K B緩存,4 G內(nèi)存,1 000 Mb網(wǎng)卡.

      實驗時通過傳輸子系統(tǒng)從負載發(fā)生器下載數(shù)據(jù)來模擬大量數(shù)據(jù)請求,并分別收集以下3種模型的實驗數(shù)據(jù):①傳統(tǒng)多線程阻塞模型.即每個現(xiàn)存阻塞處理一個單獨的請求(在圖4中用A表示,并簡稱為A模型);②固定線程數(shù)目的線程池.初始線程數(shù)采用CPU個數(shù)*2+2的公式來確定,即10個初始線程(在圖4中用B表示,并簡稱為B模型);③采用線程池動態(tài)管理算法的模型,初始線程個數(shù)也為10個(在圖4中用C表示,并簡稱C模型).數(shù)據(jù)均是通過nmon采樣和nmon analyser分析得到的平均值.

      圖4 3種模型的CPU占用率計較

      4.1 CPU使用率比較

      從圖4中可以看出:在A模型中,CPU資源已基本被完全占用,因為每個線程服務(wù)一個請求,一旦請求大量到來,就會有大量的線程產(chǎn)生;在B模型中,因為線程個數(shù)固定,且已經(jīng)預(yù)先創(chuàng)建好,當請求量過大時,任務(wù)隊列會起到很好的緩沖作用;C模型是效果最好的,因為線程個數(shù)總是會被調(diào)整到最佳的個數(shù),并且任務(wù)池的使用有效減少了系統(tǒng)中頻繁的內(nèi)存申請和釋放操作.

      4.2 空閑內(nèi)存比較

      圖5 3種模型的空閑內(nèi)存比較

      3種模型的空閑內(nèi)存比較如圖5所示.從圖5中可看出:當請求的總量相同的情況下,A和B模型占用的內(nèi)存情況很接近;C模型中,任務(wù)池和線程池的大小都是動態(tài)伸縮的,提高了系統(tǒng)的處理能力,自然也會使用更多的內(nèi)存.

      4.3 網(wǎng)絡(luò)I/O流量比較

      圖6展現(xiàn)了3種模型的網(wǎng)絡(luò)I/O情況.在A模型中,因為采用的是阻塞的方式進行的,當套接口已

      圖6 3種模型的網(wǎng)絡(luò)I/O比較

      經(jīng)沒有數(shù)據(jù)可讀時,線程會阻塞等待數(shù)據(jù)的到達,而其他已經(jīng)有數(shù)據(jù)到達的套接口則可能得不到處理.故A模型的網(wǎng)絡(luò)吞吐量比較低.在B模型中,采用的是非阻塞和線程池模型,一旦一個套接口將要發(fā)生阻塞,線程可以很快切換到其他已經(jīng)有數(shù)據(jù)準備好的套接口上,加快了數(shù)據(jù)的接收速度,因此也提高了網(wǎng)絡(luò)的傳輸速度.在C模型中,減小了內(nèi)存和CPU等部件的負載,提高了性能,動態(tài)任務(wù)池使得系統(tǒng)有比B模型更好的緩存能力.

      5 結(jié) 語

      本文設(shè)計和實現(xiàn)了基于流媒體監(jiān)控傳輸系統(tǒng),解決了媒體資源服務(wù)器和原始服務(wù)器之間的高效傳輸子系統(tǒng)的網(wǎng)絡(luò)瓶頸.同時,提出了有效的線程池動態(tài)管理算法,即根據(jù)統(tǒng)計線程池中的各個線程的平均等待時間和當前CPU的使用率來對線程池的尺寸進行動態(tài)的調(diào)整.利用這種線程池動態(tài)管理算法,可以很好地適應(yīng)Internet上客戶請求突發(fā)性變化的情況.

      此外,經(jīng)過實驗分析比較可以得出,采用線程池動態(tài)管理算法之后,有效地減輕了CPU的負載壓力,提高了網(wǎng)絡(luò)吞吐量和系統(tǒng)整體性能.但是,線程池的管理還有很多地方可以優(yōu)化,比如,線程池尺寸都是以2為步長進行調(diào)整的,但是這個步長是根據(jù)經(jīng)驗得出來的,還缺乏理論依據(jù).同時,還可以增加更多的統(tǒng)計信息加入到算法的決策之中,以提高算法的精確性.

      [1]Douglas Schmidt,Michael Stal.Hans Rohnert,et al.Pattern-Oriented Software Architechture Volume2 Patterns for Concurrent and Networked Objects[M].Beijing:China Machine Press,2003:261-272.

      [2]Molina B,Ruiz V.A closer look at a content delivery network implementation.Electrotechnical Conference[C]//Proceedings of the 12th IEEE Mediterranean.Melecon:IEEE Press,2004:685-688.

      [3]Parameswaran M,Susarla A.P2P Networking:An Informationsharing Alternative[J].IEEE Computer,2001,34(7):31-38.

      [4]侯孟書,盧顯良,周 旭,等.非結(jié)構(gòu)化P2P系統(tǒng)的路由算法[J].電子科技大學學報,2005,47(1):106-109.

      [5]夏 利,趙靜波,井惟棟,等.基于對象池模式的自適應(yīng)線程池技術(shù)[J].東北大學學報(自然科學版),2006,52(10):32-35.

      [6]丘志杰,劉心松,劉 丹,等.內(nèi)核級并發(fā)通信的研究[J].電子科技大學學報,2006,48(4):94-97.

      [7]馮 瑋,劉心松.基于線程池技術(shù)的文件傳輸模型的改進[J].微計算機信息,2006,23(21):79-81.

      [8]Ling Y ibei,TracyMullen,Lin Xiaola.Analysis of Optimal Thread Pool Size[J].Operating Systems Review,2000,34(2):42-55.

      [9]Xu Dongping.Performance Study and Dynamic Optimization-Design for Thread Pod Systems[DB/OL].[2004-12-01].http://www.scl.ameslab.gov/Publications/Brett/CCCTFinal-color.pdf.

      Design and Realization of Streaming Media’s Supervision Transmitting System Based on P2P

      PU Shi

      (Center of Modern Education Technology,Neijiang Normal University,Neijinag 641000,China)

      Half-Sync or Half-Async models were used to design the framework and a transmission sub-system was designed and realized based on media resources server and original sever in CDN streaming media of P2P with help of technologies such as task pool and thread pool.An effective dynamic thread pool management algorithm based on thread pool idle information and system run-time parameters statistics was proposed which dynamically adjusted the size of the task pool and thread pool in a heuristic way with the system load information and other run-time parameters.Compared with the experiments on two traditional realization ways,the new algorithm can reduce load of CPU remarkably and improve the network efficiency and throughput.

      Half-Sync/Half-Async model;task pool;thread pool

      TP302.8

      :A

      1004-5422(2010)02-0146-04

      2010-03-02.

      蒲 石(1957—),男,實驗師,從事計算機網(wǎng)絡(luò)與多媒體操作系統(tǒng)研究.

      猜你喜歡
      線程服務(wù)器動態(tài)
      國內(nèi)動態(tài)
      國內(nèi)動態(tài)
      國內(nèi)動態(tài)
      通信控制服務(wù)器(CCS)維護終端的設(shè)計與實現(xiàn)
      動態(tài)
      淺談linux多線程協(xié)作
      得形忘意的服務(wù)器標準
      計算機網(wǎng)絡(luò)安全服務(wù)器入侵與防御
      Linux線程實現(xiàn)技術(shù)研究
      么移動中間件線程池并發(fā)機制優(yōu)化改進
      宜章县| 永寿县| 唐山市| 庆安县| 连云港市| 青州市| 云阳县| 嘉义市| 志丹县| 青海省| 格尔木市| 聂拉木县| 遂宁市| 武隆县| 肇州县| 东港市| 赤峰市| 磐安县| 怀远县| 安福县| 克什克腾旗| 新巴尔虎左旗| 齐齐哈尔市| 杭锦旗| 哈巴河县| 青川县| 桓仁| 安陆市| 高碑店市| 砚山县| 广丰县| 丽江市| 珲春市| 明星| 鹤峰县| 泽州县| 贵州省| 沛县| 静乐县| 青川县| 钟山县|