2010年3月31日發(fā)布的Intel Nehalem-EX集成了8個處理器核心

多核心可以發(fā)掘程序的TLP(Thread Level Parallelism,線程級并行度),很多服務(wù)器應(yīng)用具有很不錯的TLP,然而還有一些程序線程級并行度并不高,單線程性能仍然是一個重要的指標(biāo)。

在上個世紀(jì),處理器的單線程性能通過充分發(fā)掘ILP(Instruction Level Parallelism,指令級并行度)得到了極大的發(fā)展,使用的手段就是超標(biāo)量、亂序執(zhí)行等設(shè)計,這些設(shè)計需要附加復(fù)雜的控制線路,因此一些注重功耗的領(lǐng)域–如嵌入式–還可以見到非超標(biāo)量、順序執(zhí)行設(shè)計的處理器。并且,ILP的發(fā)掘經(jīng)過數(shù)十年的發(fā)展似乎已經(jīng)到了極致,從上個世紀(jì)末到現(xiàn)在已經(jīng)沒有太大的進(jìn)步了。例如,四發(fā)射已經(jīng)成為了通用處理器最多的發(fā)射數(shù)目,因為更多的發(fā)射數(shù)量已經(jīng)不能再明顯的發(fā)掘ILP,相反,為了充分利用四發(fā)射,出現(xiàn)了如 Intel超線程在內(nèi)的各種CMT技術(shù)。

利用多核心系統(tǒng)提升單線程性能

Core Fusion,將多個核心聚合成一個大核心

仍然有一些技術(shù)希望繼續(xù)挖掘TLP和ILP,Core Fusion就是這樣的一個技術(shù),通過動態(tài)將多個核心聚合成一個大核心,可以靈活地獲得多線程性能的提升,也能提升單線程性能,然而基于前面所說的緣故,四發(fā)射已經(jīng)能基本充分地發(fā)揮ILP,更多的發(fā)射數(shù)目、更多的執(zhí)行單元和更大的L1緩存的提升并不是很明顯。Intel Barcelona Research Center提出了一種新的技術(shù):Anaphase,這個技術(shù)通過將傳統(tǒng)的單個線程在細(xì)粒度水平上分解成多個猜測線程(SpMT,Speculative multithreading)并分布到多核心處理器的多個核心上并行執(zhí)行,最終加速了原單線程的性能。

Anaphase概念圖

左:一個傳統(tǒng)的單線程,包含了四個大區(qū)塊和多個小區(qū)塊
右:Anaphase將其分成兩個猜測線程,每個線程具有若干個大區(qū)塊和小區(qū)塊

Anaphase是一種軟硬結(jié)合的方案,軟件上,編譯器負(fù)責(zé)將程序的單個線程分解為多個猜測線程并進(jìn)行標(biāo)注,硬件上,處理器通過標(biāo)注將對應(yīng)的猜測線程分布到多個CPU核心上并行執(zhí)行,并對他們進(jìn)行跟蹤、同步。Anaphase引入了一個ICMC 組件,將一系列的處理器核心聯(lián)合起來,這個稱為Tile(原意:磚、瓦)的結(jié)構(gòu)就是猜測多線程運行的基本單元。

Anaphase基于一個一個的Tile,每個Tile包括多個處理器核心和一個ICMC

ICMC架構(gòu):memFIFOS、UDT和Register Checkpointing

重排序指令上附加的POP指針

ICMC:UDT和memFIFOs

Intel巴塞羅那研究中心使用一個特制的ICC編譯器和一個周期精確的x86模擬器進(jìn)行了 Anaphase的模擬,并和Core Fusion進(jìn)行了SPEC CPU 2006的對比運算。x86模擬器模擬了下面的兩種配置:Tiny Core和Medium Core:

Medium Core就是一個通常的Core 2 Duo核心,而Tiny Core則相當(dāng)于半個Medium Core

最后Intel給出了四個配置下的數(shù)據(jù),基準(zhǔn)1則是Tiny/Medium Core下不采用CoreFusion和Anaphase技術(shù)的成績:

可以看出,Anaphase的效果非常明顯 ,在Tiny Core/Medium Core下可以分別達(dá)到41%和31%的加速比,Core Fusion技術(shù)則是28%和12%,綜合上Anaphase比Core Fusion更為有效。

Anaphase動態(tài)執(zhí)行指令分析:測試代碼大部分都可以對Anaphase進(jìn)行優(yōu)化(Optimized段)

目前Anaphase仍然處于研究階段,上面的測試是一個基于2核心的Anaphase的 Tile,而Anaphase可以支持更多的猜測線程/運行核心數(shù)量,Anaphase技術(shù)非常有潛力,唯一令筆者遺憾的就是它還不能脫離編譯器而在處理器內(nèi)完全實現(xiàn)這點了。

分享到

zhabin

相關(guān)推薦