從Multicore到Many-Core:體系結(jié)構(gòu)和經(jīng)驗(yàn)
您可能已經(jīng)習(xí)慣了芯片系統(tǒng)(SoC)的multicore處理器這一概念,而現(xiàn)實(shí)卻總是在不斷變化。8月份舉行的Hot Chips大會(huì)研討中,已經(jīng)清楚的表明multicore正在向many-core發(fā)展:在SoC核心位置,密切相關(guān)的處理器內(nèi)核的數(shù)量在不斷增長(zhǎng),從2個(gè)或者4個(gè)增加到8個(gè)、16個(gè),甚至是很多,很多。
本文引用地址:http://2s4d.com/article/189778.htm這種增長(zhǎng)僅是摩爾定律發(fā)展的另一階段,系統(tǒng)開(kāi)發(fā)人員還是能清楚的了解這一切嗎?從multicore發(fā)展到many-core是類(lèi)型的變化,還是僅僅是規(guī)模的變化?這種轉(zhuǎn)變能解決系統(tǒng)開(kāi)發(fā)人員面臨的問(wèn)題嗎?
為找到這些問(wèn)題的答案,我們與一些團(tuán)隊(duì)進(jìn)行了交流,他們已經(jīng)在many-coreSoC開(kāi)發(fā)上積累了一些設(shè)計(jì)經(jīng)驗(yàn)。我們向他們提出了一個(gè)簡(jiǎn)單的問(wèn)題:您的體驗(yàn)與使用multicore有什么不同嗎?對(duì)于這一簡(jiǎn)單的問(wèn)題,我們得到了各種各樣的回答。
Many-core的發(fā)展
Hot Chips的論文列出了SoC體系結(jié)構(gòu)向many-core領(lǐng)域發(fā)展的三條主要路線(xiàn)。我們從Cavium的Kin-Yip Liu在小規(guī)模無(wú)線(xiàn)基站SoC設(shè)計(jì)論文中闡述的路線(xiàn)開(kāi)始,這些設(shè)計(jì)包括微基站、微微基站和毫微微基站。
名為Octeon Fusion CNF71xx的設(shè)計(jì)如 圖1所示,包括兩個(gè)處理簇,含有四個(gè)一組的增強(qiáng)MIPS64內(nèi)核,以及圍繞一個(gè)共享L2高速緩存的各種硬件加速器,還有6個(gè)為一組的數(shù)字信號(hào)處理(DSP)內(nèi)核,每個(gè)內(nèi)核都有很多硬件加速器,這些內(nèi)核分布在共享存儲(chǔ)器交換架構(gòu)周?chē)?/p>
圖1.Cavium的Octeon Fusion體系結(jié)構(gòu)結(jié)合了CPU簇以及相連接的硬件加速器和分立的DSP內(nèi)核簇。
四個(gè)CPU還很難說(shuō)明是many-core設(shè)計(jì)。但是有兩個(gè)很好的理由讓我們的討論從這一芯片開(kāi)始。首先,增加6個(gè)DSP內(nèi)核使得芯片成為10核異構(gòu)體系結(jié)構(gòu),表面上看已經(jīng)進(jìn)入many-core領(lǐng)域。其次,更多的是在理論上,Cavium使用內(nèi)核的方式與傳統(tǒng)的multicore并不相同。
Multicore SoC將線(xiàn)程映射至內(nèi)核的方式一般是靜態(tài)的。而隨著內(nèi)核數(shù)量的增加,這種映射更具流動(dòng)性。CPU和DSP可以按數(shù)據(jù)流來(lái)劃分,也可以構(gòu)成虛擬流水線(xiàn),每一個(gè)完成復(fù)雜任務(wù)的幾級(jí)任務(wù)?;蛘?,處理器可以觀察任務(wù)序列,一旦空閑,就可以執(zhí)行新任務(wù)。不斷增強(qiáng)一個(gè)處理器的能力來(lái)完成所有數(shù)據(jù)的處理,而這一概念正在轉(zhuǎn)向由很多處理器共同完成一項(xiàng)工作——從固定硬件到軟件與加速器的組合。這種概念上的變化確定了multicore與many-core計(jì)算之間的邊界。我們看到這種變化是從本地對(duì)稱(chēng)的Octeon Fusion體系結(jié)構(gòu)開(kāi)始的。Cavium很顯然同意這一觀點(diǎn)。他們?cè)贖ot Chips上的研討表明,目前的芯片只是軟件兼容系列的開(kāi)始,這些系列能夠從單核發(fā)展到48核。
作為對(duì)比,F(xiàn)ujitsu的Takumi Maruyama發(fā)表的論文介紹了公司的16核芯片SPARC64 X將成為服務(wù)器中心處理器。SPARC64 X與Octeon共享了一個(gè)重要的體系結(jié)構(gòu)概念:16個(gè)SPARC內(nèi)核簇圍繞一個(gè)大規(guī)模內(nèi)核——24 Mbyte,共享L2高速緩存。但這也有很大的不同。這就是專(zhuān)用硬件加速器。Fujitsu將其稱(chēng)之為“芯片軟件”。Fujitsu沒(méi)有在CPU之外開(kāi)發(fā)松耦合加速器,來(lái)處理棘手的運(yùn)算問(wèn)題(在這個(gè)例子中,十進(jìn)制數(shù)學(xué)運(yùn)算、加密和數(shù)據(jù)庫(kù)函數(shù)等),而是開(kāi)發(fā)了新的RISC類(lèi)型指令來(lái)加速這些運(yùn)算,在每一CPU的浮點(diǎn)單元流水線(xiàn)中增加了必要的執(zhí)行硬件。因此,硬件加速并不能靈活的共享L2高速緩存,或者鏈接系統(tǒng)總線(xiàn),而是成為CPU不可缺少的組成部分。實(shí)際上,這些加速器增加了指令,編譯器可以將其優(yōu)化到CPU指令流中。
Intel和many-core
最后,考慮Intel的Xeon Phi,或者還可以考慮Intel資深首席工程師George Chrysos所介紹的Knights Corner,如 圖2 所示。在Chrysos有些含糊的描述中,該器件是采用了“50多個(gè)”x86處理器內(nèi)核的協(xié)處理器,還含有四個(gè)GDDR存儲(chǔ)器控制器,以及與主處理器Xeon CPU連接的PCI Express® (PCIe®)接口。每一個(gè)處理器都有自己的專(zhuān)用矢量處理單元,以及自己的512 Kbyte L2高速緩存。L2高速緩存、GDDR控制器以及PCIe控制器不是由傳統(tǒng)的交換矩陣連接的,這樣會(huì)導(dǎo)致規(guī)模非常大而在物理上無(wú)法實(shí)現(xiàn),而是由雙向環(huán)形總線(xiàn)連接。這一總線(xiàn)在每一方向上都有64字節(jié)數(shù)據(jù)通路,通過(guò)分布式標(biāo)簽方案來(lái)實(shí)現(xiàn)所有L2之間的一致性。遵從體系結(jié)構(gòu)的發(fā)展規(guī)律,Xeon Phi在內(nèi)部與早期的multicore設(shè)計(jì)非常相似,即,在PlayStation 3中首次使用的IBM Cell協(xié)處理器。
圖2.Intel的Xeon Phi是50多個(gè)x86內(nèi)核構(gòu)成的異構(gòu)陣列,這些內(nèi)核通過(guò)兩路跑道型互聯(lián)結(jié)構(gòu)連接起來(lái)。
Xeon Phi代表了從multicore向many-core的深入發(fā)展。這里,與Cell不同,沒(méi)有專(zhuān)門(mén)的加速器或者專(zhuān)用存儲(chǔ)器結(jié)構(gòu),只有相對(duì)簡(jiǎn)單的x86處理器,連接了矢量處理單元和高速緩存、DRAM控制器以及PCIe接口。所有這些芯片都專(zhuān)門(mén)用于執(zhí)行x86指令代碼。Intel展望了Xeon Phi將用于物理、化學(xué)、生物和金融分析等應(yīng)用中。
評(píng)論