新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 多線程技術倍增多核系統的性能提升體驗

        多線程技術倍增多核系統的性能提升體驗

        作者: 時間:2012-02-25 來源:網絡 收藏

        采用提升CPU 馬力,是一種通過硬件提供更高系統性能的日益常見的做法。即使對許多視成本和功耗為重要設計考慮的大量消費性應用,也是如此。但是,升級到多核系統并無法保證一定能夠提升性能或改善用戶體驗。因為提升系統性能不僅是硬件方面的問題,軟件也必須能充分利用并行硬件資源。然而軟件一直在改變——系統變得越來越復雜,以至于在許多情況下,多個進程和線程在同時運行;同時,應用程序也在被優化,以便在多處理硬件的趨勢中更加受益。

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

        基于以上考慮,我們最近采用EEMBC 的BrowsingBench™ 基準測試程序來評估MT title=MT>MT) 技術能帶來的性能提升。我們的目標是在Android™ 軟件平臺上看看這些技術能在多大程度上改善一個非常流行的、實際的消費性應用(網頁瀏覽)的用戶體驗。

        BrowsingBench 是一個可靠而應用廣泛的工具,受到多家領先的科技公司的信任與采用。它可以測量大量不同內容頁面的加載和渲染時間,并以可靠的方式進行,以生成可重復而有用的結果。它可以在任何一個有網絡瀏覽器的聯網設備上運行。與合成測試(Synthetic Test *) 不同,BrowsingBench 的運行方式與用戶在聯網設備上的操作完全相同。我們過去曾采用多種其他適用于評估MC/MT 系統性能的基準測試程序,但沒有一種能夠像BrowsingBench 一樣,可提供代表真實世界聯網設備用戶體驗的性能指標。

        我們在一個以MIPS32® 1004K™ 一致處理系統(CPS) 為基礎的系統上運行BrowsingBench。在最高配置方面,1004K CPS 能支持最多4 個核、每個核配備2 個硬件線程(亦稱為虛擬處理單元或VPE)。但為了簡化測試,我們采用雙核、每個核兩個VPE 的配置,總計有4 個VPE。根據MIPS 的技術,VPE 實際上是邏輯CPU,在1004K 的每個核中兩個VPE 共享一條物理流水線。


        我們系統上的軟件平臺是Android,測試中采用了每套Android 系統都會配備的Android 瀏覽器。

        為評估多核和多VPE 對網絡瀏覽器產生的性能提升,我們采用4 個不同的配置來執行BrowsingBench,如下表所示。在所有的案例中,測試都是在相同的雙核1004K 系統上執行,不過我們通過操作系統來啟用和禁用核與VPE。

        我們想要回答的重要問題是,Android 是否能利用這些多重處理資源來更快地載入和渲染網頁,從而改善用戶體驗。為做到這點,Android 在處理瀏覽工作負荷時,必須能使用并行的進程和線程。

        測試結果顯示于下表和下圖。毫無疑問,Android 的網絡瀏覽性能因為采用MC 和MT 技術而得到大幅提升。

        一個重要的發現是,當完整配置與基本配置相比時,瀏覽性能提升了超過2.5 倍。由于在Android 中有大量的并行處理,瀏覽器的確能夠從MT 和MC 的結合中受益。再進一步查看Android 系統中的情況,確實顯示出有許多進程都是以并行方式運行。系統中的兩個主要進程,一個為Android 瀏覽器本身,另一個稱為“系統服務器(system server)”。后者負責管理包括顯示系統在內的許多Android 組件,在BrowsingBench 執行期間一直都非常忙碌。

        即使我們將系統限制為單核,MIPS MT 技術也能讓BrowsingBench 性能提升43%。MT 的主要特性之一是能夠提升核的性能效率,這是當運行多進程和/或時,通過提高核的流水線利用率來實現的。因此,對于需要小巧芯片面積的系統來說,選用的核心是提升系統性能的一種極佳方式。

        當多核和多線程系統首度問世時,大部分現有的軟件并沒有針對這些技術進行優化設計。今天,情況已經改變。Android 是一個復雜的軟件平臺,同時也是一個大量消費性平臺的絕佳范例,它正快速演進和優化,會為聯網世界提供優秀的用戶體驗。

        在MIPS,我們對此基準測試結果感到非常高興,因為它充分表明了我們的MC 和MT 技術與幾年前的標準硬件相比,可提供高出許多的性能,從而給智能手機、平板電腦、聯網數字電視等各種上網設備的終端用戶帶來重要影響。

        注:

        合成測試(Synthetic Test/Benchmark) 通過專門設計的測試程序針對軟件系統中的多個組件分別測試。應用測試(Application Test/Benchmark) 則通過真實世界中的應用來做測試。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 金寨县| 新干县| 禄劝| 濮阳县| 拉孜县| 丹东市| 禹城市| 四子王旗| 东乌珠穆沁旗| 合川市| 方城县| 富川| 长沙市| 秦安县| 巢湖市| 子洲县| 塔河县| 鸡东县| 井研县| 乐亭县| 阿拉善左旗| 西安市| 阳城县| 鸡东县| 黄冈市| 灵宝市| 德钦县| 新和县| 定兴县| 淳安县| 沂源县| 桐乡市| 桦南县| 万荣县| 深水埗区| 永靖县| 枝江市| 包头市| 两当县| 全椒县| 乌苏市|