目前選擇四核處理器移動平臺并不是明智之舉
我們正處于移動計算時代的過渡期,每天都有令人震撼的設備發(fā)布,移動計算性能不斷提高,令人充滿期待。
移動平臺目前正在經(jīng)歷如PC機之前一樣的演變路線:單核處理器的頻率一路攀升,達到最大允許功耗的極限;為了繼續(xù)提升計算性能,并保持合理的功耗,處理器廠商又推出了多核處理器。
意法middot;愛立信早在2009年就推出了雙核處理器平臺,是第一批推出雙核處理器的芯片廠商,其NovaThor平臺開發(fā)計劃也是基于ARM雙核處理器。根據(jù)公司的分析報告,現(xiàn)有的軟件以及近期上市的軟件還不能充分發(fā)揮四核技術(shù)的優(yōu)勢。從最高可達頻率和內(nèi)存訪問開銷角度看,增加內(nèi)核不是沒有代價的。只有很好地平衡加核做法與軟件運行能力,才能充分利用加核后所提升的硬件并行處理能力。
本文將通過對比的方式探討頻率較高的雙核架構(gòu)與頻率較低的四核架構(gòu)的優(yōu)缺點。不過,芯片技術(shù)和軟件處理的折衷解決方案正在迅速發(fā)展,而且,愛立信也將根據(jù)技術(shù)未來發(fā)展趨勢調(diào)整產(chǎn)品計劃。在本文中,我們把討論的焦點放在性能上,功耗問題只稍加提示。事實上,在執(zhí)行高性能任務時,四核處理器的頻率和電壓都較低,因此節(jié)能省電效果更好;但是,如果不執(zhí)行高性能任務,四核就失去了省電的特色。
多核是需要有代價的
目前大多數(shù)最新的移動平臺所使用的多核架構(gòu)是對稱多核處理系統(tǒng)(Symmetric Multi Processing, SMP),其特點是多個內(nèi)核完全相同,且訪問系統(tǒng)資源(包括內(nèi)存)面臨相同的開銷。此外,運行SMP功能的操作系統(tǒng)的基本需求是多核必須共享一個內(nèi)存空間。為確保多個物理內(nèi)存之間的一致性來實現(xiàn)共享內(nèi)存空間,還需要配備專用電路。在今天的多核處理器中,每個內(nèi)核都有各自的一級高速緩存,每個內(nèi)核的一級高速緩存必須保持相互一致,而且還要與唯一的多核共用的二級高速緩存保持一致。內(nèi)存一致性硬件位于高速緩存的重要運行通道內(nèi),因此,該硬件在很大程度上決定了多核架構(gòu)的擴展性。增加內(nèi)核不可避免地導致一致性協(xié)議的額外管理,產(chǎn)生額外的延遲,從而對性能造成負面影響。這就是為什么SMP架構(gòu)不能無限地擴展的原因,即使在超級計算機上, 也不能無限擴展。
不斷增加的1級/2級高速緩存數(shù)據(jù)流量和共用2級高速緩存而產(chǎn)生的數(shù)據(jù)擁堵問題也限制了多核處理技術(shù)的擴展性能。每增加一個內(nèi)核,就需要更大的芯片面積和更高的2級高速緩存容量。這進一步增加了芯片布局限制,并在內(nèi)存分層結(jié)構(gòu)內(nèi)部引起訪問延遲。
意法·愛立信的實驗表明,對于典型負載,當處理器從雙核變成四核時,每增加一個內(nèi)核,每核性能將會受到25-30%影響,雖然這是內(nèi)核頻率損失和在系統(tǒng)的不同部分浪費更多的時鐘周期的綜合影響,但是,我們可以將其簡化為等效的頻率降低。
軟件的擴展性
只有把軟件設計成并行運行才能充分發(fā)揮多核處理器的優(yōu)勢。軟件并行應用分為兩類:并行應用軟件和多任務處理。并行應用遵循著名的Amdahl定律,如方程式1所示:
如果處理器數(shù)量N給定,我們利用這個方程式可以確定一個應用軟件能夠取得的最高加速比S,其中P代表并行運行應用在軟件中所占的百分比,即P隨著處理器數(shù)量增加而線性提高((1-P)是串行運行應用的百分比)。我們特別關(guān)注的是,對于一個對于給定的應用軟件(即P值已知),何時才是改用四核處理器的最佳時機。對于一個給定的應用軟件,有一個很有趣的分析方法:合并一個四核處理器與一個雙核處理器的可達加速比,并考慮前文描述的硬件額外開銷因素,把硬件對相關(guān)頻率F的影響考慮進去,即當Fquad * S4> Fdual * S2時,四核性能占優(yōu)。
圖1所示是用比較S4/S2比與Fdual/Fquad的方法解上面的不等式。藍色橫線代表Fdual/Fquad = 1.37,這個數(shù)值對應四核處理器每核25-30%的額外性能開銷。這條線與S4/S2曲線相交于P=70%的點,這意味著,應用軟件的并行占比必須超過70%,才能把四核處理器的優(yōu)勢發(fā)揮出來,否則,四核性能比不上速度高出25-30%的雙核處理器。在現(xiàn)階段P>70%這個比例太大了!這意味著70%的應用代碼都要很好地并行運行,這是非常罕見的。
圖1: 當Fquad * S4> Fdual * S2時,S4/S2,F(xiàn)dual/Fquad對比
有人可能提出,如果單核與雙核解決方案對比,結(jié)論也是同樣的,這在理論是正確的,但是,實際數(shù)值卻讓我們得出相反的結(jié)論:圖2中的紅線與圖1中的紅線相同,而綠線則代表單核與雙核的加速比特性。兩條線的走勢相同,但是,綠線總是在紅線上方延伸,結(jié)果P值比雙核與四核曲線的P值小很多,在這種情況下,速度較慢的雙核優(yōu)于速度較快的單核。此外,架構(gòu)從單核轉(zhuǎn)向雙核的性能代價也比從兩核轉(zhuǎn)向四核低很多,進一步將P的閾值降到一個合理的數(shù)值(大約30-35%)。
圖2:比較單核對雙核(綠色曲線)與雙核對四核(紅色曲線)的加速比提高幅度
我們繼續(xù)比較雙核和四核處理器:根據(jù)經(jīng)驗,并行比例超過70%的應用軟件是很少的。多媒體應用軟件和某些視頻應用是一個例外,考慮到它們需要的大量并行處理和優(yōu)化計算,其P值非常高,甚至達到了90-95%。但是,我們所討論的上下文有其特殊性:移動平臺的相關(guān)多媒體功能幾乎全都是硬件加速,導致這種特殊性的原因是:沒有任何其它方式能夠達到所需的性能并且/或者移動平臺的功耗是受限的。非硬件加速的多媒體應用軟件確實可充分發(fā)揮四核處理器的優(yōu)勢,但是,它們會很快耗盡任何一種移動設備的電池,因此非硬件加速的使用是有疑問的。
網(wǎng)頁瀏覽器是推動移動計算性能提高的主要力量之一。今天的網(wǎng)頁瀏覽器能夠在雙核處理器上取得1.4-1.5的加速比,對應的P值在55-65%之間,仍遠低于70%閾值。另外,實際的應用情況甚至要比理論更差,因為在今天的網(wǎng)頁瀏覽器內(nèi)并不能找到Amdahl定律定義的并行百分比P。事實上,大多數(shù)加速比來自關(guān)聯(lián)的支持活動,例如,用戶界面、多媒體、網(wǎng)絡等,某些活動會分幾個線程執(zhí)行,因此,這些系統(tǒng)級的并行活動讓雙核處理器優(yōu)勢(1.4-1.5的加速比)得以充分發(fā)揮。
即便我們在網(wǎng)頁瀏覽中使用Amdahl定律,由于所涉及的并行算法之間的相互差異,我們也無法在四核處理器上得出1.8-2.0的理論加速比。事實上,我們傾向于四核處理器的1.6-1.7的理論加速比,這個比值對應一個更具實際意義的50-55%的等效P值。即使移動多核處理器的處理優(yōu)勢將會極大地推進網(wǎng)頁瀏覽器的并行化機制,但是,鑒于所涉及軟件的復雜性,這個過程肯定需要一段相當長的時間。
視頻游戲是另一類值得考慮的計算密集型應用軟件。與網(wǎng)頁瀏覽器相似,,今天的大多數(shù)商業(yè)游戲引擎并非并行且不適用于Amdahl定律。我們發(fā)現(xiàn),有些游戲具有與網(wǎng)頁瀏覽器一樣的系統(tǒng)級特性,從而在雙核處理器上能取得很好的加速比,當然,其P 值仍然低于推動四核處理器應用的門限值。
此外,移動視頻游戲的瓶頸是圖形處理,而不是CPU。因此,目前,四核這一點激勵因素不足以讓軟件廠商在如此復雜的系統(tǒng)的并行化工程上花費大力氣。我們預計這種情況會逐漸改觀,但是還是尚需時日。
多任務處理的任務量有多大?
多任務處理是軟件并行化的另一個推動力,當然,多任務處理肯定受益于多核處理器。多任務處理指同時處理多個相互關(guān)聯(lián)性很小或無關(guān)聯(lián)的粗粒活動。多任務處理的例子很多,例如,一邊聽音樂一邊上網(wǎng)或進行多頁瀏覽(現(xiàn)代的多頁瀏覽實現(xiàn)方法將針對不同的頁面分支出不同的進程。)。
因為多任務處理完全取決于并發(fā)任務的數(shù)量和屬性,所以并沒有類似Amdahl定律一樣的數(shù)學公式來幫助我們確定其加速比。我們需要設法找到貌似合理的能夠把下一代2 GHz雙核處理器發(fā)揮到極限的用例,一邊聽音樂一邊做其它事情當然是一個很普通的用例,但是播放音
評論