簡(jiǎn)析關(guān)鍵業(yè)務(wù)領(lǐng)域商用服務(wù)器 |
發(fā)布時(shí)間: 2012/8/18 17:37:15 |
服務(wù)器技術(shù)種類從體系結(jié)構(gòu)來看,目前廣泛應(yīng)用于關(guān)鍵業(yè)務(wù)領(lǐng)域的商用服務(wù)器大體可以分為三類,即對(duì)稱多處理器結(jié)構(gòu)(SMP:SymmetricMulti-Processor),非一致存儲(chǔ)訪問結(jié)構(gòu)(NUMA:Non-UniformMemoryAccess)以及海量并行處理結(jié)構(gòu)(MPP:MassiveParallelProcessing)。 SMP結(jié)構(gòu)是指服務(wù)器中多個(gè)CPU對(duì)稱工作,無主次或從屬關(guān)系。各CPU共享相同的物理內(nèi)存,每個(gè)CPU訪問內(nèi)存中的任何地址所需時(shí)間是相同的,因此SMP也被稱為一致存儲(chǔ)器訪問結(jié)構(gòu)。對(duì)SMP服務(wù)器進(jìn)行擴(kuò)展的方式包括:增加內(nèi)存、使用更快的CPU、增加CPU、擴(kuò)充I/O、更多的外部設(shè)備(通常是磁盤存儲(chǔ))。SMP服務(wù)器的主要特征是共享,系統(tǒng)中所有資源(CPU、內(nèi)存、I/O等)都是共享的。也正是由于這種特征,導(dǎo)致了SMP服務(wù)器的主要問題,那就是它的擴(kuò)展能力非常有限:每一個(gè)共享的環(huán)節(jié)都可能造成SMP服務(wù)器擴(kuò)展時(shí)的瓶頸;對(duì)SMP而言,最受限制的是內(nèi)存,每個(gè)CPU必須通過相同的內(nèi)存總線訪問相同的內(nèi)存資源;隨著CPU數(shù)量的增加,內(nèi)存訪問沖突將迅速增加,造成CPU資源的浪費(fèi),CPU性能的有效性大大降低。 由于SMP在擴(kuò)展能力上的限制,人們開始探究如何進(jìn)行有效地?cái)U(kuò)展從而構(gòu)建大型系統(tǒng)的技術(shù),NUMA就是這種努力下的結(jié)果之一。利用NUMA技術(shù),可以把幾十個(gè)CPU(甚至上百個(gè)CPU)組合在一個(gè)服務(wù)器內(nèi)。 NUMA服務(wù)器的基本特征是:具有多個(gè)CPU模塊(或稱為BuildingBlock、節(jié)點(diǎn));每個(gè)CPU模塊由多個(gè)CPU(如4個(gè))組成,并且具有獨(dú)立的本地內(nèi)存、I/O槽口等;節(jié)點(diǎn)之間通過互連模塊進(jìn)行連接和信息交互;每個(gè)CPU可以訪問整個(gè)系統(tǒng)的內(nèi)存,顯然,訪問本地內(nèi)存的速度將遠(yuǎn)遠(yuǎn)高于訪問遠(yuǎn)地內(nèi)存(系統(tǒng)內(nèi)其他節(jié)點(diǎn)的內(nèi)存)的速度,這也是非一致存儲(chǔ)訪問NUMA的由來。由于這個(gè)特點(diǎn),為了更好地發(fā)揮系統(tǒng)性能,開發(fā)應(yīng)用程序時(shí)需要盡量減少不同CPU模塊之間的信息交互。 NUMA技術(shù)的主要問題是,由于訪問遠(yuǎn)地內(nèi)存的延時(shí)遠(yuǎn)遠(yuǎn)超過本地內(nèi)存,因此當(dāng)CPU數(shù)量增加時(shí),系統(tǒng)性能無法線性增加。 和NUMA不同,MPP提供了另外一種進(jìn)行系統(tǒng)擴(kuò)展的方式,它由多個(gè)SMP服務(wù)器通過一定的節(jié)點(diǎn)互聯(lián)網(wǎng)絡(luò)進(jìn)行連接,協(xié)同工作,完成相同的任務(wù),從用戶的角度來看是一個(gè)服務(wù)器系統(tǒng)。其基本特征如下:由多個(gè)SMP服務(wù)器(每個(gè)SMP服務(wù)器稱節(jié)點(diǎn))通過節(jié)點(diǎn)互連網(wǎng)絡(luò)連接而成,每個(gè)節(jié)點(diǎn)只訪問自己的本地資源(內(nèi)存、存儲(chǔ)等),是一種完全無共享結(jié)構(gòu);擴(kuò)展能力最好,理論上其擴(kuò)展無限制,目前的技術(shù)可實(shí)現(xiàn)512個(gè)節(jié)點(diǎn)互連。 在MPP系統(tǒng)中,每個(gè)SMP節(jié)點(diǎn)也可以運(yùn)行自己的操作系統(tǒng)、數(shù)據(jù)庫(kù)等,但和NUMA不同的是,它不存在異地內(nèi)存訪問的問題。換言之,每個(gè)節(jié)點(diǎn)內(nèi)的CPU不能訪問另一個(gè)節(jié)點(diǎn)的內(nèi)存。節(jié)點(diǎn)之間的信息交互是通過節(jié)點(diǎn)互聯(lián)網(wǎng)絡(luò)實(shí)現(xiàn)的,這個(gè)過程一般稱為數(shù)據(jù)重分配(DataRedistribution)。 MPP服務(wù)器的主要問題是:需要一種復(fù)雜的機(jī)制來調(diào)度和平衡各個(gè)節(jié)點(diǎn)的負(fù)載和并行處理過程。目前一些基于MPP技術(shù)的服務(wù)器往往通過系統(tǒng)級(jí)軟件(如數(shù)據(jù)庫(kù))來屏蔽這種復(fù)雜性;诖祟悢(shù)據(jù)庫(kù)來開發(fā)應(yīng)用時(shí),不管后臺(tái)服務(wù)器由多少個(gè)節(jié)點(diǎn)組成,開發(fā)人員所面對(duì)的都是同一個(gè)數(shù)據(jù)庫(kù)系統(tǒng),而不需要考慮如何調(diào)度其中某幾個(gè)節(jié)點(diǎn)的負(fù)載。 本文出自:億恩科技【mszdt.com】 服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |