以前在參加軟考的時候復(fù)習(xí)計(jì)算機(jī)硬件知識,書中總會提到NUMA這個東東,。由于沒有實(shí)際接觸過,,感覺迷迷糊糊的,。我的理解就是幾臺服務(wù)器,CPU和內(nèi)存全部通過NUMA體系能夠統(tǒng)一對外提供服務(wù),,比如IBM X3950系列服務(wù)器的堆疊技術(shù)(IBM Enterprise X-Architecture),,最多可以4臺服務(wù)器捆綁來做VM(假設(shè)每臺服務(wù)器是4顆4核的CPU,,那么總共可以提供4*4*4=64顆CPU的計(jì)算能力,,相當(dāng)驚人哦)
今天在MS的博客堂又看到了NUMA的實(shí)際應(yīng)用: ………… 之前很多人都認(rèn)為MS的產(chǎn)品只能使用在中小企業(yè),,進(jìn)不了企業(yè)級市場,,MS的東西都是在PC server上來實(shí)現(xiàn),,無法和IBM的主機(jī)系統(tǒng)來PK。隨著硬件的不斷發(fā)展,,PC Server的優(yōu)勢也漸漸體現(xiàn)出來了,,但是很多時候用戶還是希望能夠有更強(qiáng)大的PC Server來運(yùn)行他們的系統(tǒng)。IBM的主機(jī)可以有數(shù)千顆CPU肯定比只有幾十顆CPU的PC Server快很多,。但是現(xiàn)在的PC Server也可能做到幾百顆的CPU,這樣就要看看微軟的產(chǎn)品是否支持了,。 硬件已經(jīng)趨向使用多條系統(tǒng)總線,,每條系統(tǒng)總線為一小組處理器提供服務(wù)。每組處理器都有自己的內(nèi)存,,并可能有自己的 I/O 通道,。但是,每個 CPU 都可以通過一致的方式訪問與其他組關(guān)聯(lián)的內(nèi)存,。每個組稱為一個“NUMA 節(jié)點(diǎn)”,。NUMA 節(jié)點(diǎn)中的 CPU 數(shù)量取決于硬件供應(yīng)商。訪問本地內(nèi)存比訪問與其他 NUMA 節(jié)點(diǎn)關(guān)聯(lián)的內(nèi)存快,。這就是“非一致性內(nèi)存訪問體系結(jié)構(gòu)”名稱的由來,。 在 NUMA 硬件上,有些內(nèi)存區(qū)域與其他區(qū)域位于不同的物理總線上,。由于 NUMA 同時使用本地內(nèi)存和外部內(nèi)存,,因此,訪問某些內(nèi)存區(qū)域的時間會比訪問其他內(nèi)存區(qū)域的要長,。“本地內(nèi)存”和“外部內(nèi)存”通常用于引用當(dāng)前正在運(yùn)行的線程,。本地內(nèi)存是指與當(dāng)前正在運(yùn)行線程的 CPU 位于同一節(jié)點(diǎn)上的內(nèi)存,。任何不屬于當(dāng)前正在運(yùn)行的線程所在的節(jié)點(diǎn)的內(nèi)存均為外部內(nèi)存。外部內(nèi)存也稱為“遠(yuǎn)程內(nèi)存”,。訪問外部內(nèi)存的開銷與訪問本地內(nèi)存的開銷比率稱為 NUMA 比率,。如果 NUMA 比率為 1,則它是對稱多處理 (SMP),。比率越高,,訪問其他節(jié)點(diǎn)內(nèi)存的開銷就越大。不支持 NUMA 的 Windows 應(yīng)用程序(包括 SQL Server 2000 SP3 及更低版本)有時在 NUMA 硬件上的執(zhí)行效果非常差,。 NUMA 的主要優(yōu)點(diǎn)是伸縮性,。NUMA 體系結(jié)構(gòu)在設(shè)計(jì)上已超越了 SMP 體系結(jié)構(gòu)在伸縮性上的限制,。通過 SMP,所有的內(nèi)存訪問都傳遞到相同的共享內(nèi)存總線,。這種方式非常適用于 CPU 數(shù)量相對較少的情況,,但不適用于具有幾十個甚至幾百個 CPU 的情況,因?yàn)檫@些 CPU 會相互競爭對共享內(nèi)存總線的訪問,。NUMA 通過限制任何一條內(nèi)存總線上的 CPU 數(shù)量并依靠高速互連來連接各個節(jié)點(diǎn),,從而緩解了這些瓶頸狀況。 這次使用的系統(tǒng)是Unisys ES7000,,有4個NUMA節(jié)點(diǎn),,每個節(jié)點(diǎn)有4顆6核的CPU組成,總計(jì)16顆CPU,,96核,,內(nèi)存224GB,存儲超過20T,。很容易看出這套系統(tǒng)是由多臺PC Server組成的,,這樣中系統(tǒng)的擴(kuò)展性和性價(jià)比是主機(jī)系統(tǒng)無法比擬的。 |
|