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