只有把軟件設(shè)計(jì)成并行運(yùn)行才能充分發(fā)揮多核處理器的優(yōu)勢(shì)。軟件并行應(yīng)用分為兩類(lèi):并行應(yīng)用軟件和多任務(wù)處理。并行應(yīng)用遵循著名的Amdahl定律,如方程式1所示:

如果處理器數(shù)量N給定,我們利用這個(gè)方程式可以確定一個(gè)應(yīng)用軟件能夠取得的最高加速比S,其中P代表并行運(yùn)行應(yīng)用在軟件中所占的百分比,即P隨著處理器數(shù)量增加而線(xiàn)性提高((1-P)是串行運(yùn)行應(yīng)用的百分比)。我們特別關(guān)注的是,對(duì)于一個(gè)對(duì)于給定的應(yīng)用軟件(即P值已知),何時(shí)才是改用四核處理器的最佳時(shí)機(jī)。對(duì)于一個(gè)給定的應(yīng)用軟件,有一個(gè)很有趣的分析方法:合并一個(gè)四核處理器與一個(gè)雙核處理器的可達(dá)加速比,并考慮前文描述的硬件額外開(kāi)銷(xiāo)因素,把硬件對(duì)相關(guān)頻率F的影響考慮進(jìn)去,即當(dāng)Fquad * S4> Fdual * S2時(shí),四核性能占優(yōu)。
圖1所示是用比較S4/S2比與Fdual/Fquad的方法解上面的不等式。藍(lán)色橫線(xiàn)代表Fdual/Fquad = 1.37,這個(gè)數(shù)值對(duì)應(yīng)四核處理器每核25-30%的額外性能開(kāi)銷(xiāo)。這條線(xiàn)與S4/S2曲線(xiàn)相交于P=70%的點(diǎn),這意味著,應(yīng)用軟件的并行占比必須超過(guò)70%,才能把四核處理器的優(yōu)勢(shì)發(fā)揮出來(lái),否則,四核性能比不上速度高出25-30%的雙核處理器。在現(xiàn)階段P>70%這個(gè)比例太大了!這意味著70%的應(yīng)用代碼都要很好地并行運(yùn)行,這是非常罕見(jiàn)的。

圖1: 當(dāng)Fquad * S4> Fdual * S2時(shí),S4/S2,Fdual/Fquad對(duì)比
有人可能提出,如果單核與雙核解決方案對(duì)比,結(jié)論也是同樣的,這在理論是正確的,但是,實(shí)際數(shù)值卻讓我們得出相反的結(jié)論:圖2中的紅線(xiàn)與圖1中的紅線(xiàn)相同,而綠線(xiàn)則代表單核與雙核的加速比特性。兩條線(xiàn)的走勢(shì)相同,但是,綠線(xiàn)總是在紅線(xiàn)上方延伸,結(jié)果P值比雙核與四核曲線(xiàn)的P值小很多,在這種情況下,速度較慢的雙核優(yōu)于速度較快的單核。此外,架構(gòu)從單核轉(zhuǎn)向雙核的性能代價(jià)也比從兩核轉(zhuǎn)向四核低很多,進(jìn)一步將P的閾值降到一個(gè)合理的數(shù)值(大約30-35%)。
圖2:比較單核對(duì)雙核(綠色曲線(xiàn))與雙核對(duì)四核(紅色曲線(xiàn))的加速比提高幅度
我們繼續(xù)比較雙核和四核處理器:根據(jù)經(jīng)驗(yàn),并行比例超過(guò)70%的應(yīng)用軟件是很少的。多媒體應(yīng)用軟件和某些視頻應(yīng)用是一個(gè)例外,考慮到它們需要的大量并行處理和優(yōu)化計(jì)算,其P值非常高,甚至達(dá)到了90-95%。但是,我們所討論的上下文有其特殊性:移動(dòng)平臺(tái)的相關(guān)多媒體功能幾乎全都是硬件加速,導(dǎo)致這種特殊性的原因是:沒(méi)有任何其它方式能夠達(dá)到所需的性能并且/或者移動(dòng)平臺(tái)的功耗是受限的。非硬件加速的多媒體應(yīng)用軟件確實(shí)可充分發(fā)揮四核處理器的優(yōu)勢(shì),但是,它們會(huì)很快耗盡任何一種移動(dòng)設(shè)備的電池,因此非硬件加速的使用是有疑問(wèn)的。
網(wǎng)頁(yè)瀏覽器是推動(dòng)移動(dòng)計(jì)算性能提高的主要力量之一。今天的網(wǎng)頁(yè)瀏覽器能夠在雙核處理器上取得1.4-1.5的加速比,對(duì)應(yīng)的P值在55-65%之間,仍遠(yuǎn)低于70%閾值。另外,實(shí)際的應(yīng)用情況甚至要比理論更差,因?yàn)樵诮裉斓木W(wǎng)頁(yè)瀏覽器內(nèi)并不能找到Amdahl定律定義的并行百分比P。事實(shí)上,大多數(shù)加速比來(lái)自關(guān)聯(lián)的支持活動(dòng),例如,用戶(hù)界面、多媒體、網(wǎng)絡(luò)等,某些活動(dòng)會(huì)分幾個(gè)線(xiàn)程執(zhí)行,因此,這些系統(tǒng)級(jí)的并行活動(dòng)讓雙核處理器優(yōu)勢(shì)(1.4-1.5的加速比)得以充分發(fā)揮。
即便我們?cè)诰W(wǎng)頁(yè)瀏覽中使用Amdahl定律,由于所涉及的并行算法之間的相互差異,我們也無(wú)法在四核處理器上得出1.8-2.0的理論加速比。事實(shí)上,我們傾向于四核處理器的1.6-1.7的理論加速比,這個(gè)比值對(duì)應(yīng)一個(gè)更具實(shí)際意義的50-55%的等效P值。即使移動(dòng)多核處理器的處理優(yōu)勢(shì)將會(huì)極大地推進(jìn)網(wǎng)頁(yè)瀏覽器的并行化機(jī)制,但是,鑒于所涉及軟件的復(fù)雜性,這個(gè)過(guò)程肯定需要一段相當(dāng)長(zhǎng)的時(shí)間。
視頻游戲是另一類(lèi)值得考慮的計(jì)算密集型應(yīng)用軟件。與網(wǎng)頁(yè)瀏覽器相似,,今天的大多數(shù)商業(yè)游戲引擎并非并行且不適用于Amdahl定律。我們發(fā)現(xiàn),有些游戲具有與網(wǎng)頁(yè)瀏覽器一樣的系統(tǒng)級(jí)特性,從而在雙核處理器上能取得很好的加速比,當(dāng)然,其P 值仍然低于推動(dòng)四核處理器應(yīng)用的門(mén)限值。
此外,移動(dòng)視頻游戲的瓶頸是圖形處理,而不是CPU。因此,目前,四核這一點(diǎn)激勵(lì)因素不足以讓軟件廠(chǎng)商在如此復(fù)雜的系統(tǒng)的并行化工程上花費(fèi)大力氣。我們預(yù)計(jì)這種情況會(huì)逐漸改觀(guān),但是還是尚需時(shí)日。