多核和多線程技術(shù)可大幅提升 Android 網(wǎng)頁(yè)瀏覽性能
MIPS 的 MT 技術(shù)可提升 43% 性能;結(jié)合 MT 和 MC 可提升 150% 性能
采用多核技術(shù)提升 CPU 馬力,是一種通過(guò)硬件提供更高系統(tǒng)性能的日益常見(jiàn)的做法。即使對(duì)許多視成本和功耗為重要設(shè)計(jì)考慮的大量消費(fèi)性應(yīng)用,也是如此。但是,升級(jí)到多核系統(tǒng)并無(wú)法保證一定能夠提升性能或改善用戶體驗(yàn)。因?yàn)樘嵘到y(tǒng)性能不僅是硬件方面的問(wèn)題,軟件也必須能充分利用并行硬件資源。然而軟件一直在改變 —— 系統(tǒng)變得越來(lái)越復(fù)雜,以至于在許多情況下,多個(gè)進(jìn)程和線程在同時(shí)運(yùn)行;同時(shí),應(yīng)用程序也在被優(yōu)化,以便在多處理硬件的趨勢(shì)中更加受益。
基于以上考慮,我們最近采用 EEMBC 的 BrowsingBench™ 基準(zhǔn)測(cè)試程序來(lái)評(píng)估 MIPS 多核 (MC) 和多線程 (MT) 技術(shù)能帶來(lái)的性能提升。我們的目標(biāo)是在 Android™ 軟件平臺(tái)上看看這些技術(shù)能在多大程度上改善一個(gè)非常流行的、實(shí)際的消費(fèi)性應(yīng)用(網(wǎng)頁(yè)瀏覽)的用戶體驗(yàn)。
BrowsingBench 是一個(gè)可靠而應(yīng)用廣泛的工具,受到多家領(lǐng)先的科技公司的信任與采用。它可以測(cè)量大量不同內(nèi)容頁(yè)面的加載和渲染時(shí)間,并以可靠的方式進(jìn)行,以生成可重復(fù)而有用的結(jié)果。它可以在任何一個(gè)有網(wǎng)絡(luò)瀏覽器的聯(lián)網(wǎng)設(shè)備上運(yùn)行。與合成測(cè)試 (Synthetic Test *) 不同,BrowsingBench 的運(yùn)行方式與用戶在聯(lián)網(wǎng)設(shè)備上的操作完全相同。我們過(guò)去曾采用多種其他適用于評(píng)估 MC/MT 系統(tǒng)性能的基準(zhǔn)測(cè)試程序,但沒(méi)有一種能夠像 BrowsingBench 一樣,可提供代表真實(shí)世界聯(lián)網(wǎng)設(shè)備用戶體驗(yàn)的性能指標(biāo)。
我們?cè)谝粋€(gè)以 MIPS32® 1004K™ 一致處理系統(tǒng) (CPS) 為基礎(chǔ)的系統(tǒng)上運(yùn)行 BrowsingBench。在最高配置方面,1004K CPS 能支持最多 4 個(gè)核、每個(gè)核配備 2 個(gè)硬件線程(亦稱(chēng)為虛擬處理單元或 VPE)。但為了簡(jiǎn)化測(cè)試,我們采用雙核、每個(gè)核兩個(gè) VPE 的配置,總計(jì)有 4 個(gè) VPE。根據(jù) MIPS 的多線程技術(shù),VPE 實(shí)際上是邏輯 CPU,在 1004K 的每個(gè)核中兩個(gè) VPE 共享一條物理流水線。
我們系統(tǒng)上的軟件平臺(tái)是 Android,測(cè)試中采用了每套 Android 系統(tǒng)都會(huì)配備的 Android 瀏覽器。
為評(píng)估多核和多 VPE 對(duì)網(wǎng)絡(luò)瀏覽器產(chǎn)生的性能提升,我們采用 4 個(gè)不同的配置來(lái)執(zhí)行 BrowsingBench,如下表所示。在所有的案例中,測(cè)試都是在相同的雙核 1004K 系統(tǒng)上執(zhí)行,不過(guò)我們通過(guò)操作系統(tǒng)來(lái)啟用和禁用核與 VPE。
我們想要回答的重要問(wèn)題是,Android 是否能利用這些多重處理資源來(lái)更快地載入和渲染網(wǎng)頁(yè),從而改善用戶體驗(yàn)。為做到這點(diǎn),Android 在處理瀏覽工作負(fù)荷時(shí),必須能使用并行的進(jìn)程和線程。
測(cè)試結(jié)果顯示于下表和下圖。毫無(wú)疑問(wèn),Android 的網(wǎng)絡(luò)瀏覽性能因?yàn)椴捎?MC 和 MT 技術(shù)而得到大幅提升。
·
一個(gè)重要的發(fā)現(xiàn)是,當(dāng)完整配置與基本配置相比時(shí),瀏覽性能提升了超過(guò) 2.5 倍。由于在 Android 中有大量的并行處理,瀏覽器的確能夠從 MT 和 MC 的結(jié)合中受益。再進(jìn)一步查看 Android 系統(tǒng)中的情況,確實(shí)顯示出有許多進(jìn)程都是以并行方式運(yùn)行。系統(tǒng)中的兩個(gè)主要進(jìn)程,一個(gè)為 Android 瀏覽器本身,另一個(gè)稱(chēng)為“系統(tǒng)服務(wù)器 (system server)”。后者負(fù)責(zé)管理包括顯示系統(tǒng)在內(nèi)的許多 Android 組件,在 BrowsingBench 執(zhí)行期間一直都非常忙碌。
即使我們將系統(tǒng)限制為單核,MIPS MT 技術(shù)也能讓 BrowsingBench 性能提升 43%。MT 的主要特性之一是能夠提升核的性能效率,這是當(dāng)運(yùn)行多進(jìn)程和/或多線程時(shí),通過(guò)提高核的流水線利用率來(lái)實(shí)現(xiàn)的。因此,對(duì)于需要小巧芯片面積的系統(tǒng)來(lái)說(shuō),選用多線程的核心是提升系統(tǒng)性能的一種極佳方式。
當(dāng)多核和多線程系統(tǒng)首度問(wèn)世時(shí),大部分現(xiàn)有的軟件并沒(méi)有針對(duì)這些技術(shù)進(jìn)行優(yōu)化設(shè)計(jì)。今天,情況已經(jīng)改變。Android 是一個(gè)復(fù)雜的軟件平臺(tái),同時(shí)也是一個(gè)大量消費(fèi)性平臺(tái)的絕佳范例,它正快速演進(jìn)和優(yōu)化,會(huì)為聯(lián)網(wǎng)世界提供優(yōu)秀的用戶體驗(yàn)。
在 MIPS,我們對(duì)此基準(zhǔn)測(cè)試結(jié)果感到非常高興,因?yàn)樗浞直砻髁宋覀兊?MC 和 MT 技術(shù)與幾年前的標(biāo)準(zhǔn)硬件相比,可提供高出許多的性能,從而給智能手機(jī)、平板電腦、聯(lián)網(wǎng)數(shù)字電視等各種上網(wǎng)設(shè)備的終端用戶帶來(lái)重要影響。
注:
合成測(cè)試 (Synthetic Test/Benchmark) 通過(guò)專(zhuān)門(mén)設(shè)計(jì)的測(cè)試程序針對(duì)軟件系統(tǒng)中的多個(gè)組件分別測(cè)試。應(yīng)用測(cè)試 (Application Test/Benchmark) 則通過(guò)真實(shí)世界中的應(yīng)用來(lái)做測(cè)試。