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