2012年6月3日 星期日

多核和多線程技術可大幅提升Android網頁瀏覽性能


多核和多線程技術可大幅提升Android網頁瀏覽性能

MIPS的MT技術可提升43%性能;結合MT和MC可提升150%性能

採用多核技術提升CPU馬力,是一種為硬件提供更高系統性能的日益常見做法。即使對許多視成本和功耗為重要設計考慮的大量消費性應用,也是如此。但是,升級到多核系統並無法保證一定能夠提升性能或增強使用者體驗。因為提升系統性能不僅是硬件方面的問題,軟件也必須以能充分利用並行硬件資源的方式撰寫,才有可能。然而軟件一直在改變─ 系統也越來越複雜,例如在許多情況下,會同時採用多重處理和多線程技術,同時,撰寫應用程序時,也必須能夠盡量運用多重處理的硬件趨勢。

在這樣的考慮下,我們最近採用EEMBC的BrowsingBench™基準測試來評估MIPS 多核(MC)和多線程(MT)技術的性能收益。我們的目標是要找出這些技術如何增強非常受歡迎、非常實際的消費性應用的用戶體驗─ 在Android™軟件平台上瀏覽網頁。

BrowsingBench是一項非常可靠、應用廣泛的工具,受到多家領先科技公司的信任與採用。它可以測量大量不同內容頁面的加載和呈現時間,並以可靠的方式進行,以生成可重複(可靠性高)與有意義的結果。它可以在任何一種具有網絡瀏覽器的聯網裝置上運行。與執行合成(synthetic)測試不同,BrowsingBench的運行方式與用戶在聯網設備上的操作完全相同。我們過去曾採用多種其他適用於評估MC/MT系統性能的基準測試,但沒有一種能夠像BrowsingBench一樣,可提供代表真實世界聯網裝置用戶體驗的性能指標。

我們在一個以MIPS32® 1004K™同步處理系統(CPS)為基礎的系統上執行BrowsingBench。該系統的最大應用設置為,1004K CPS的每個核最多能支持4個核心和2個硬件線程(亦稱為虛擬處理單元,VPE)。為簡化測試,我​​們採用雙核、每個核有兩個VPE的配置,總計有4個VPE。根據MIPS的多線程技術,VPE基本上是可在每個1004K核中共享一個物理管線的邏輯CPU。

我們在此系統上執行Android軟件平台,採用每套Android系統都會配置的Andr​​oid瀏覽器。

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

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

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

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

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

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

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

作者:Eyal Barzilay/應用和基準測試經理

沒有留言:

張貼留言