新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 基于P2P和CDN的監控傳輸子系統的設計

        基于P2P和CDN的監控傳輸子系統的設計

        作者: 時間:2009-06-16 來源:網絡 收藏

        實驗通過從負載發生器下載數據來模擬大量數據請求,并分別收集下列三種模型的實驗數據:
        (1)傳統多線程阻塞模型,即每個現存阻塞得處理一個單獨的請求,在圖3中用A表示,并簡稱為A模型。
        (2)固定線程數目的線程池,初試線程數采用CPU個數的2倍加2來確定,即10個初始線程,在圖3中用B表示,并簡稱為B模型。
        (3)采用該文提出的線程池動態管理算法的模型,初試線程個數也為10個,在圖3中用C表示,并簡稱C模型。
        4.2 分析數據得平均值
        下面數據均是通過nmon采樣和ninon analyser分析得到的平均值。
        (1)CPU使用率比較。從圖3中可以看到,在A模型中,基本已經占用了所有的CPU資源。因為每個線程服務一個請求,一旦請求大量到來,就會有大量的線程產生。而在B模型中,因為線程個數固定,且已經預先創建好,當請求量過大時,任務隊列會起到很好的緩沖作用。C模型是效果最好的,因為線程個數總是會被調整到最佳的個數,并且任務池的使用有效減少了系統中頻繁的內存申請和釋放操作。

        本文引用地址:http://www.104case.com/article/158040.htm

        (2)空閑內存比較。從圖4中可以容易分析得到,當請求的總量相同的情況下,A和B模型占用的內存情況很接近。但是C模型中,任務池和線程池的大小都是動態伸縮的,提高了系統的處理能力,自然也會使用更多的內存。

        (3)網絡I/O流量比較。圖5展現了3種模型的網絡I/O情況,在A模型中,因為采用的是阻塞的方式進行的,當套口已經沒有數據可讀,線程會阻塞等待數據的到達,而其他已經有數據到達的套接口則可能得不到處理,因此A模型的網絡吞吐量比較低。在B模型中,采用的非阻塞和線程池模型,一旦一個套接口將要發生阻塞,線程可以很快切換到其他已經有數據準備好的套接口上,加快了數據的接收速度,因此也提高了網絡的速度。在C模型中,減小了內存和CPU等部件的負載,提高了性能,動態任務池使得系統有比B模型更好的緩存能力,因此C模型比B模型網絡吞吐量更高是可以理解的。系統采用的是l 000 Mb/s網卡,基本達到了網卡的極限。


        5 結 語
        根據統計線程池中的各個線程的平均等待時間和當前CPU的使用率,對線程池的尺寸進行動態的調整。利用這種線程池動態管理算法,可以很好地適應Internet上客戶請求突發性變化的情況。當突然到來大量請求時,根據算法原理,可以增加適量的線程滿足額外的請求;當請求變少以后,會將線程的數量減少,從而減輕系統的壓力。經過實驗分析比較可以得出,采用線程池動態管理算法之后,有效減小了CPU的負載壓力,提高了網絡吞吐量和系統整體性能。但是,線程池的管理還有很多地方可以優化,比如調整線程池尺寸都是以2為步長進行調整的,但是這個步長是根據經驗得出來的,還沒有很好的理論依據。同時,可以增加更多的統計信息加入到算法的決策之中,提高算法的精確性。
        這里實現了在多媒體系統中的結合,引入半同步/半異步的模式,了系統框架,引入任務池和線程池等技術,解決了媒體資源服務器和原始服務器之間的高效傳輸的網絡瓶頸,了有效的線程池動態管理算法。

        p2p機相關文章:p2p原理



        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 江山市| 阳西县| 丰县| 十堰市| 南部县| 南开区| 威宁| 河间市| 余庆县| 黎城县| 天门市| 加查县| 堆龙德庆县| 泰和县| 延津县| 龙川县| 赣榆县| 黑龙江省| 沙坪坝区| 沁阳市| 商洛市| 凭祥市| 清流县| 北京市| 山丹县| 孟州市| 阜新| 灵宝市| 麻栗坡县| 德安县| 阿克陶县| 栾川县| 涿鹿县| 诏安县| 高要市| 陵水| 东海县| 林甸县| 巴东县| 九寨沟县| 宣武区|