移動平臺并沒有出現(xiàn)我們看到的臺式機CPU 演進過程中的飽和狀態(tài),這是因為智能手機市場剛剛開始高速增長,是平臺廠商進一步優(yōu)化處理器架構和硅技術起主要動因,而競爭不激烈的傳統(tǒng)嵌入式系統(tǒng)市場卻沒有這種動因。顯然,PC 機更成熟的超級優(yōu)化的架構和硅技術與智能手機平臺剛起步的架構與技術之間存在很大的差異:
PC單核處理器在2003 年達到散熱極限時,此后性能再也沒有增長的空間;而移動平臺則不同,智能手機時代始于2007 年,移動單核處理器還擁有巨大的性能提升空間,到今天為止,還沒有跡象顯示移動平臺性能飽和。
人們不禁要問:為什么移動平臺不同于PC 處理器,在單核性能達到飽和前就轉向多核處理器?
我們認為有兩個原因,第一個原因是,移動計算產(chǎn)品沿用數(shù)十年前的技術知識,特別是人們普遍知道,現(xiàn)代的操作系統(tǒng)能夠更高效地利用雙核處理器,高速緩存一致性和多任務處理操作系統(tǒng)等基本技術已經(jīng)到位。因為能夠充分利用雙核處理器,就沒有必要再等。而且,這個過程進展得非???;第二個原因是進攻性的營銷策略。
像大多數(shù)商用平臺一樣,CPU 在進入四核時代后的發(fā)展方向目前尚不清楚,PC 業(yè)的經(jīng)驗告訴我們,即使多核處理器存在于市場10 年后,使用雙核以上的處理器對于大多數(shù)軟件是沒有實用意義,唯一的技術解釋是移動應用軟件比PC 軟件更易于多核處理,但是,我們在短時間內不會看到這種情況發(fā)生。
事實上,有說服力的技術原因根本就不存在。動機似乎都與市場營銷有關,因為智能手機市場競爭激烈,多核處理器是一個很有進攻性的武器。目前,廠商利用處理器內核數(shù)量使自己的產(chǎn)品保持差異化,甚至消費者也這樣做。具有諷刺意義的是,技術上沒有任何新發(fā)明,市場營銷上沒有新意,相同的廣告詞早在PC 多核問世時就被廣泛使用。像PC 機一樣,人們很快就會意識到,移動設備內的CPU 內核數(shù)量與產(chǎn)品帶給客戶的真正價值沒有直接關聯(lián)。
網(wǎng)絡瀏覽器是最重要的手機應用軟件之一,也是手機高性能CPU 的最大受益者,同時還是要求嚴格的PC 級應用軟件的一個實例,瀏覽器的性能非常重要,因為它直接影響用戶視覺互動性。隨著網(wǎng)絡帶寬不斷增加,今天的處理速度已處于臨界線,將來HTML5 rich API 和不斷增加的編程內容(javascript)對處理速度要求更高。網(wǎng)絡瀏覽器還是高效使用今天的雙核處理器的一個很好的實例,因為操作系統(tǒng)支持功能、軟件工程、人機互動(防止UI 死屏)、安全性和穩(wěn)健性(不同處理過程中的多個標簽)的原因,瀏覽器引入了并行活動。但是,因為缺少充足的均衡的軟件并行技術,瀏覽器無法滿足雙核以上數(shù)理器的運行需求,測試結果顯示,處理器從雙核進化到四核,瀏覽器性能提升很小或根本沒有提升。
圖4 所示是在同一四核處理器硬件/軟件平臺上運行的兩款主流瀏覽器的測試成績,通過軟件設置(熱插撥)可以選擇不同的處理器數(shù)量,因此,測量結果完全是同一硬件/軟件環(huán)境的真實數(shù)據(jù)。在所有的配置中,工作頻率完全相同。相對分數(shù)是指在多次重復測量中若干個主流網(wǎng)站上的網(wǎng)頁加載時間的平均值,因此,這個用例代表了真實的網(wǎng)站瀏覽體驗,而不是人為的基準測試。當從單核切換到雙核時,速度提升30%是一個較好的成績,符合預期。然而,從雙核切換到四核時,處理速度只取得0-11%的提升。在雙核處理器上進行相似的測試,從單核切換到雙核時,處理速度提升高達50%。
另一方面,如前文分析PC 處理器時提到的,不論處理器有多少個內核,頻率提高總是有益于提升軟件性能。當對多核處理器方案進行比較時,這一點很重要,因為處理器內核增加會對頻率產(chǎn)生負面影響。互連線和存儲器等共享資源沖突,高速緩存、一致性電路的擴展受限,這些因素都會限制多核處理器的頻率提升。為提升多核處理器的總體頻率,需要使用軟件多核處理方法補償多核處理器降低的頻率。例如,我們在以前的折衷分析 [5]中提到,四核處理器的頻率比雙核處理器降低約27%,軟件必須有70%的代碼實現(xiàn)并行化,才能使四核處理器的性能優(yōu)于雙核處理器,這是一個很大的比例,幾乎沒有應用軟件能夠達到這個水平,當然不是通過原生并行,因為取得如此高的平行化,需要特殊的專門的并行化工作。
前文提到軟件并行化程度很低,所以速度較快的雙核處理器可輕松戰(zhàn)勝速度較慢的四核處理器,這種現(xiàn)象在網(wǎng)絡瀏覽器中特別明顯,如圖5 所示,為了與1.4GHz 的雙核處理器比較,我們人為的將四核處理器的配置降至1.2GHz,從圖中可以看出,即便兩者頻率相差很小,低于20%,速度較快的雙核處理器始終優(yōu)于速度較慢的四核處理器。
我們對手機的其它重要應用軟件進行了類似的測試,例如,視頻游戲、程序啟動時間和多媒體功能,每次都取得相似的結果:在頻率相同的條件下,CPU 從雙核進化到四核,性能提升很小或根本沒有提升;當速度相差15-20%時,速度較快的雙核總能擊敗速度較慢的四核。
從正面看,智能手機搭載四核處理器應當會刺激軟件開發(fā)人員更有效地利用四核處理器,希望比PC 業(yè)在最近10 年做得更成功。智能手機的可用資源比PC 機的可用資源更敏感,即使移動處理器無限接近PC 處理器,兩者之間還有很大差距。在軟件方面,在移動移動平臺上運行級的應用軟件還有很大的壓力,綜合以上,再加上更低的功耗限制和更激烈的市場競爭環(huán)境,這些應該給軟件開發(fā)人員足夠的動機,投入更多的資源提高多核處理器的利用率。
多媒體是一個令人關注的領域,這個領域通常對處理性能要求嚴格,多媒體軟件自然適合并行化。擴增實境、計算攝影學、手勢識別等令人興奮的新應用領域都將應用并行處理技術,因為這些功能的穩(wěn)定性不適合硬件加速。在這些應用領域,多核處理器也有競爭技術,通用圖形處理器(GPGPU)同樣是可編程多核處理器解決方案,不同的是,GPGPU 將代碼映射到GPU 而不是CPU。目前,GPGPU 的編程難度比多核CPU 更大,但是GPU 硬件發(fā)展速度很快,編程模型和工具也取得很大進展,因此,目前發(fā)展趨勢還不明朗。
異構多核處理技術
移動異構多核處理器的設計原理是,使用高性能但功耗高的處理器執(zhí)行要求嚴格的應用任務,使用速度慢但高能效的處理器運行要求不高的任務。目前市場上已經(jīng)有異構四核處理器平臺,例如,NVIDIA 的 Tegra 3 采用的Variable SMP [6]技術,采用 ARM big.LITTLE[7]解決方案的異構多核處理器預計不久就會上市。這個想法當然很好,但是成功還需要一些時間;像比較雙核與四核處理器一樣,簡單的解決方案只要可行,總是被優(yōu)先選用,特別是涉及復雜的軟件修改時,簡單的解決方案總是勝出。我們稍后將分析如何利用 FD-SOI 硅技術以更簡單、更有效的方式達到同樣的效果。
異構多核處理器使軟硬件都變得十分復雜,圖6 所示是ARM big.LITTLE 硬件解決方案。
硬件變復雜的主要原因是,處理器高速緩存只有保持一致性,才能用于智能手機操作系統(tǒng)假設的共享存儲器系統(tǒng),為此,AMR 在互聯(lián)線上引入了ARM ACE 接口技術,但這卻提高了硬件復雜程度,導致緩存一致性流量增加。
在軟件方面,如果把架構的全部潛力都發(fā)揮出來,系統(tǒng)異質管理對于操作系統(tǒng)可能是一件非常復雜的任務。理論上,操作系統(tǒng)應該有足夠高的智能,能夠區(qū)別要求條件不同的應用任務,將其分配給大處理器或小處理器執(zhí)行。為限制在昂貴的集群器間移植軟件,這些決策應該相對穩(wěn)定。同時,應用軟件可能會突然改變行為,系統(tǒng)必須能夠迅速做出響應,這需要提高動態(tài)電壓和頻率,而且在兩個集群器上單獨進行,增加要考慮的功率狀態(tài)的數(shù)量。不僅今天的操作系統(tǒng)無法提供發(fā)揮多核處理器的全部潛能所需的先進復雜技術,而且錯誤的決策在實際應用中可能會適得其反,大量的軟件移植會引起用戶可見的系統(tǒng)故障,錯誤決策引起性能降低或浪費電能。
完美地支持異構多核處理器需要多年的研發(fā)活動和優(yōu)調技術。
為了限制系統(tǒng)做出錯誤決策的風險,研發(fā)人員開發(fā)出了中間解決方案,但是,該解決辦法需要以降低多核處理器潛能利用率為代價。例如,某個解決方案通過專屬方式使用大小 集群器,即不是并行處理,而是根據(jù)系統(tǒng)總體負荷從一個集群器切換至另一個集群器,以避免智能映射每個獨立軟件線程變得更加復雜,這種方法的缺點是沒有并行使用集群器,所以沒有發(fā)揮多核處理器的全部潛能。
另一個最新的方法是把大小處理器整合成一對固定的處理器,操作系統(tǒng)負責管理每個大小處理器,將其視為一個電壓/頻率工作點擴展的單一抽象處理器,這種方法的缺點是在集群器之間頻繁移植軟件具有一定的風險,抽象處理器的工作模式配對不是原生的,因為在硬件上,工作點是由集群器實現(xiàn)的,而非大小處理器對。
總之,異構多核處理器當然是一項前景不錯的技術,特別是在移動市場。然而,因為技術復雜,特別是在軟件方面,這項技術需要經(jīng)過多年的研發(fā)和優(yōu)調才會發(fā)揮出全部的潛能。
評論