基于CC―NUMA的多處理器系統(tǒng)研究
對(duì)于多處理器系統(tǒng),比較流行的有3種模式,對(duì)稱多處理(Symmetric Multiprocessing,SMP)模式、非均勻存儲(chǔ)訪問(wèn)(Non Uniform Memory Access,NUMA)模式、大規(guī)模并行處理(Massively Parallel Processing,MPP)模式。SMP模式即將2個(gè)或2個(gè)以上的同樣的處理器連接到一個(gè)共享的主存上。在SMP系統(tǒng)中,所有的處理器可以同時(shí)訪問(wèn)同一個(gè)物理存儲(chǔ)器,即運(yùn)行同一個(gè)操作系統(tǒng),因此也被稱為均勻性存儲(chǔ)訪問(wèn)系統(tǒng)。這種結(jié)構(gòu)比較簡(jiǎn)單,但是由于其是共享存儲(chǔ)器,容易在訪存時(shí)產(chǎn)生系統(tǒng)瓶頸,可擴(kuò)展性也比較差。MPP是分布式存儲(chǔ)器模式,可擴(kuò)展性好,但是需要并行編程和并行編譯,在軟件系統(tǒng)構(gòu)建上比較復(fù)雜,使用不便。NUMA架構(gòu)將若干個(gè)單元通過(guò)專門的互聯(lián)設(shè)備聯(lián)結(jié)在一起組成分布式和共享內(nèi)存空間。每一個(gè)處理器可以訪問(wèn)自己的存儲(chǔ)器,也可以訪問(wèn)其他處理器或者共享的存儲(chǔ)器,所有訪存有遠(yuǎn)近、時(shí)延長(zhǎng)短之分,稱為非均勻存儲(chǔ)訪問(wèn)。在某個(gè)處理器訪問(wèn)空間上比較遠(yuǎn)的存儲(chǔ)器時(shí),會(huì)有很大的時(shí)延,為了緩解這個(gè)問(wèn)題,通過(guò)高速緩存一致性使得處理器訪問(wèn)存儲(chǔ)器的幾率大大降低,在某種程度上提高了系統(tǒng)效率,這種架構(gòu)稱為CC―NUMA即一致性緩存非均勻存儲(chǔ)訪問(wèn)模式。這種架構(gòu)繼承了SMP和MPP系統(tǒng)的一些優(yōu)點(diǎn),在處理器個(gè)數(shù),內(nèi)存大小、I/O連接能力和帶寬上有很大的伸縮性,又保持了SMP系統(tǒng)單一操作系統(tǒng)、簡(jiǎn)單的應(yīng)用程序編程模式和易于管理的優(yōu)點(diǎn)。
本文引用地址:http://m.butianyuan.cn/article/202701.htm1 CC―NUMA基本架構(gòu)
CC―NUMA架構(gòu)的系統(tǒng)最出名的莫過(guò)于SGI公司的ORIGIN系列,SGI公司很好的發(fā)展和擴(kuò)展了CC―NUMA技術(shù),其基本架構(gòu)被廣泛應(yīng)用。圖1是其ORIGIN2000的基本原理圖,每一個(gè)節(jié)點(diǎn)擁有2個(gè)處理器,2個(gè)二級(jí)緩存,主存,用于互聯(lián)的HUB芯片,1個(gè)I/O接口,1個(gè)互聯(lián)網(wǎng)絡(luò)的路由器接口,它的每個(gè)節(jié)點(diǎn)可以看作是一個(gè)SMP,通過(guò)互聯(lián)網(wǎng)絡(luò)可擴(kuò)展至128個(gè)處理器的多處理器系統(tǒng)。Origin 2000的所有結(jié)點(diǎn)通過(guò)CrayLink高性能互聯(lián)網(wǎng)絡(luò)相互聯(lián)接,路由器是構(gòu)成CrayLink的基本單位,它包含6個(gè)端口,內(nèi)部采用交叉開(kāi)關(guān)實(shí)現(xiàn)端口間的全互聯(lián)。每個(gè)路由器的2個(gè)端口用于聯(lián)接結(jié)點(diǎn),其余4個(gè)端口實(shí)現(xiàn)路由器間的互聯(lián),形成互聯(lián)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。該CrayLink的半分帶寬與結(jié)點(diǎn)個(gè)數(shù)成線性遞增關(guān)系,對(duì)任意2個(gè)結(jié)點(diǎn),至少能提供兩條路徑,保證了結(jié)點(diǎn)間的高帶寬、低延遲聯(lián)接和互聯(lián)網(wǎng)絡(luò)的穩(wěn)定性和容錯(cuò)能力。
2 兩種比較新的架構(gòu)
SGI公司的Origin系列多處理器系統(tǒng)是一種比較通用的架構(gòu),但是還是比較復(fù)雜。后來(lái),分別由Corepaq公司的Alpha EV7框架的處理器Alpha 21364和AMD公司的Opteron處理器組成的CC―NUMA架構(gòu)的多處理器系統(tǒng)簡(jiǎn)單很多,這兩種處理器都是針對(duì)多處理系統(tǒng)領(lǐng)域推出的,其有著特有的專為多處理器系統(tǒng)應(yīng)用設(shè)計(jì)的處理器結(jié)構(gòu)。
2.1 Alpha 21364處理器
2000年,Compaq公司推出了Alpha處理器的第四代產(chǎn)品Alpha21364,這是一款RISC處理器,在當(dāng)時(shí)非常先進(jìn),在業(yè)內(nèi)首次在處理器內(nèi)集成了內(nèi)存控制器,特別是它還有先進(jìn)的多處理互聯(lián)功能,在建造多處理器系統(tǒng)上很方便。
21364的簡(jiǎn)化圖如圖2所示。21364是64位處理器,擁有1.5 MB的L2 CACHE,支持緩存一致性協(xié)議。內(nèi)部集成了2個(gè)RDRAM內(nèi)存控制器,在RDRAM中對(duì)于頁(yè)命中點(diǎn)對(duì)點(diǎn)的延遲是30 ns,加載應(yīng)用的延遲是75 ns,對(duì)應(yīng)高達(dá)12 GB/s的帶寬。最大的不同就是有一個(gè)路由器,有4個(gè)連接通道可與附近處理器相連,并與本地端口和I/O端口相連,每個(gè)連接通道提供6.2 GB/s的帶寬。
21364的處理器問(wèn)互聯(lián)總線提供了CC―NUMA多處理器架構(gòu)間的無(wú)粘合連接,如圖3所示。處理器間的二維拓?fù)浠ヂ?lián)架構(gòu)滿足了最遠(yuǎn)的處理器間的最小系統(tǒng)延遲設(shè)計(jì)。這種架構(gòu)可擴(kuò)展至128個(gè)處理器互聯(lián)。
2.2 Opteron處理器
AMD公司在2001年推出了其第8代處理器K8架構(gòu)的Opteron處理器。Opteron處理器基于X86系統(tǒng)架構(gòu)并對(duì)其做了根本性改善,屬于64位處理器,并兼容32位X86處理器架構(gòu)。Opteron處理器集成了內(nèi)存控制器,降低了訪存延遲,加大了訪存帶寬。Hyper―Transport(超傳輸)互連控制器也被集成到Opteron處理器內(nèi)部,在處理器和I/O子系統(tǒng)之間提供了拓展性極強(qiáng)的數(shù)據(jù)連接帶寬。在Opteron處理器內(nèi)部的數(shù)據(jù)通道為雙向16位的通訊,可以達(dá)到1 600 MT/s(每秒百萬(wàn)次傳送)的工作效率,可提供雙向?yàn)?.4 GB/s的帶寬。AMD Opteron處理器之間以及處理器同I/O子系統(tǒng)之間如何通過(guò)HyperTransport(超傳輸)技術(shù)進(jìn)行互連。處理器之間的互連采用的是一致性協(xié)議(CoherentProtocol),相反I/O連接遵循的是非一致性協(xié)議(Non―coherent Protoco1)。集成了3個(gè)HyperTransport(超傳輸)互連控制器和1個(gè)內(nèi)存控制器的處理器,需要盡可能高效地把指令和數(shù)據(jù)信息發(fā)送到相關(guān)接口。為實(shí)現(xiàn)這一需求,系統(tǒng)采用了交叉通道架構(gòu)。
評(píng)論