您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>電子百科>電腦硬件>服務(wù)器>

SMP技術(shù)

2009年12月17日 14:08 轉(zhuǎn)載 作者:佚名 用戶評(píng)論(0

SMP技術(shù)


SMP英文全稱為Symmetrical Multi-Processing,意指“對(duì)稱多處理”技術(shù),是指在一個(gè)計(jì)算機(jī)上匯集了一組處理器—即多CPU,各CPU之間共享內(nèi)存子系統(tǒng)以及總線結(jié)構(gòu)。它是相對(duì)非對(duì)稱多處理技術(shù)而言的、應(yīng)用十分廣泛的并行技術(shù)。在這種架構(gòu)中,一臺(tái)電腦不再由單個(gè)CPU組成,而同時(shí)由多個(gè)處理器運(yùn)行操作系統(tǒng)的單一復(fù)本,并共享內(nèi)存和一臺(tái)計(jì)算機(jī)的其他資源。雖然同時(shí)使用多個(gè)CPU,但是從管理的角度來看,它們的表現(xiàn)就像一臺(tái)單機(jī)一樣。系統(tǒng)將任務(wù)隊(duì)列對(duì)稱地分布于多個(gè)CPU之上,從而極大地提高了整個(gè)系統(tǒng)的數(shù)據(jù)處理能力。所有的處理器都可以平等地訪問內(nèi)存、I/O和外部中斷。在對(duì)稱多處理系統(tǒng)中,系統(tǒng)資源被系統(tǒng)中所有CPU共享,工作負(fù)載能夠均勻地分配到所有可用處理器之上。

  

  基于SMP技術(shù)的系統(tǒng)框架

  SMP應(yīng)用

  目前的SMP技術(shù)主要用在RISC服務(wù)器陣營(yíng)的多路小型機(jī)、X86服務(wù)器陣營(yíng)的多路處理系統(tǒng)以及采用部分采用虛擬CPU技術(shù)實(shí)現(xiàn)單CPU(或多CPU)虛擬多路中。

  我們平時(shí)見到的雙路CPU系統(tǒng),屬于對(duì)稱多處理系統(tǒng)中最常見的一種,通常稱為"2路對(duì)稱多處理",它在普通的商業(yè)、家庭應(yīng)用之中并沒有太多實(shí)際用途,但在專業(yè)制作,如3DMax Studio、Photoshop等軟件應(yīng)用中獲得了非常良好的性能表現(xiàn),是組建廉價(jià)工作站的良好伙伴。隨著用戶應(yīng)用水平的提高,只使用單個(gè)的處理器確實(shí)已經(jīng)很難滿足實(shí)際應(yīng)用的需求,因而各服務(wù)器廠商紛紛通過采用對(duì)稱多處理系統(tǒng)來解決這一矛盾。在國(guó)內(nèi)市場(chǎng)上這類機(jī)型的處理器一般以4個(gè)或8個(gè)為主,有少數(shù)是16個(gè)處理器。但是一般來講,SMP結(jié)構(gòu)的機(jī)器可擴(kuò)展性較差,很難做到100個(gè)以上多處理器,常規(guī)的一般是8個(gè)到16個(gè),不過這對(duì)于多數(shù)的用戶來說已經(jīng)夠用了。這種機(jī)器的好處在于它的使用方式和微機(jī)或工作站的區(qū)別不大,編程的變化相對(duì)來說比較小,原來用微機(jī)工作站編寫的程序如果要移植到SMP機(jī)器上使用,改動(dòng)起來也相對(duì)比較容易。SMP結(jié)構(gòu)的機(jī)型可用性比較差。因?yàn)?個(gè)或8個(gè)處理器共享一個(gè)操作系統(tǒng)和一個(gè)存儲(chǔ)器,一旦操作系統(tǒng)出現(xiàn)了問題,整個(gè)機(jī)器就完全癱瘓掉了。而且由于這個(gè)機(jī)器的可擴(kuò)展性較差,不容易保護(hù)用戶的投資。但是這類機(jī)型技術(shù)比較成熟,相應(yīng)的軟件也比較多,因此現(xiàn)在國(guó)內(nèi)市場(chǎng)上推出的并行機(jī)大量都是這一種。PC服務(wù)器中最常見的對(duì)稱多處理系統(tǒng)通常采用2路、4路、6路或8路處理器。目前UNIX服務(wù)器可支持最多64個(gè)CPU的系統(tǒng),如SUN公司產(chǎn)品Enterprise 10000。SMP系統(tǒng)中最關(guān)鍵的技術(shù)是如何更好地解決多個(gè)處理器的相互通訊和協(xié)調(diào)問題。

  SMP組建條件

  要組建SMP系統(tǒng),首先最關(guān)鍵的一點(diǎn)就是需要合適的CPU相配合。我們平時(shí)看到的CPU都是單顆使用,所以看不出來它們有什么區(qū)別,但是,實(shí)際上,支持SMP功能并不是沒有條件的,隨意拿幾塊CPU來就可以建立多處理系統(tǒng)那簡(jiǎn)直是天方夜談。要實(shí)現(xiàn)SMP功能,我們使用的CPU必須具備以下要求:

  1、CPU內(nèi)部必須內(nèi)置APIC(Advanced Programmable Interrupt Controllers)單元。Intel 多處理規(guī)范的核心就是高級(jí)可編程中斷控制器(Advanced Programmable Interrupt Controllers--APICs)的使用。CPU通過彼此發(fā)送中斷來完成它們之間的通信。通過給中斷附加動(dòng)作(actions),不同的CPU可以在某種程度上彼此進(jìn)行控制。每個(gè)CPU有自己的APIC(成為那個(gè)CPU的本地APIC),并且還有一個(gè)I/O APIC來處理由I/O設(shè)備引起的中斷,這個(gè)I/O APIC是安裝在主板上的,但每個(gè)CPU上的APIC則不可或缺,否則將無法處理多CPU之間的中斷協(xié)調(diào)。

  2、相同的產(chǎn)品型號(hào),同樣類型的CPU核心。例如,雖然至強(qiáng)和皓龍各自都內(nèi)置有APIC單元,想要讓它們一起建立SMP系統(tǒng)是不可能的,同時(shí),即使同屬于至強(qiáng)系列或者皓龍系列的CPU核心,而且屬于同一開發(fā)平臺(tái),也不能建立SMP系統(tǒng)--這是因?yàn)樗麄兊倪\(yùn)行指令不完全相同,APIC中斷協(xié)調(diào)差異也很大。

  3、完全相同的運(yùn)行頻率。如果要建立雙至強(qiáng)或雙皓龍系統(tǒng),必須兩顆2.8GHz或者兩顆3.0GHz處理器,不可以用一顆2.8GHz,另一顆3.0GHz來組建,否則系統(tǒng)將無法正常點(diǎn)亮。

  4、盡可能保持相同的產(chǎn)品序列編號(hào)。即使是同樣核心的相同頻率處理器,由于生產(chǎn)批次不同也會(huì)造成不可思議的問題。兩個(gè)生產(chǎn)批次的CPU作為雙處理器運(yùn)行的時(shí)候,有可能會(huì)發(fā)生一顆CPU負(fù)擔(dān)過高,而另一顆負(fù)擔(dān)很少的情況,無法發(fā)揮最大性能,更糟糕的是可能導(dǎo)致死機(jī),因此,應(yīng)該盡可能選擇同一批生產(chǎn)的處理器來組建SMP系統(tǒng)。

非常好我支持^.^

(9) 100%

不好我反對(duì)

(0) 0%

( 發(fā)表人:admin )

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?