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