SMP的全稱是“對稱多處理”(Symmetrical Multi-Processing)技術,是指在一個計算機上匯集了一組處理器(多CPU),各CPU之間共享內(nèi)存子系統(tǒng)以及總線結構。它是相對非對稱多處理技術而言的、是應用十分廣泛的并行技術。
在這種架構中,一臺計算機不再由單個CPU組成,而是同時由多個處理器運行操作系統(tǒng)的單一復本,并共享內(nèi)存和這臺計算機的其他資源。雖然同時使用多個CPU,但是從管理的角度來看,它們的表現(xiàn)就像一個CPU一樣,擁有一套操作系統(tǒng),系統(tǒng)將任務隊列對稱地分布于多個CPU之上,從而極大地提高整個系統(tǒng)的數(shù)據(jù)處理能力。同時,所有的處理器都可以平等地訪問內(nèi)存、I/O和外部中斷。
總的來說,在對稱多處理系統(tǒng)中,系統(tǒng)資源被系統(tǒng)中所有CPU共享,工作負載能夠均勻地分配到所有可用的處理器上。
SMP的優(yōu)勢與軟肋
按照計算機架構來分,SMP系統(tǒng)包括RISC和CISC兩大類產(chǎn)品,其中RISC類SMP系統(tǒng)常見的就是今天的小型機,如IBM pSeries等,其處理器規(guī)模涵蓋4路到64路的范圍。在CISC系統(tǒng)中我們接觸的產(chǎn)品較為廣泛,目前市場基于x86架構下的產(chǎn)品基本上采用SMP架構,如Intel至強和AMD皓龍等。
在x86架構中,我們平時所說的雙路和四路系統(tǒng),實際上是對稱多處理系統(tǒng)中CISC的一種,全稱應該是“雙路對稱多處理系統(tǒng)和四路對稱多處理系統(tǒng)”,在專業(yè)應用中具有良好性能表現(xiàn)。
隨著用戶應用水平的提高,只使用單個處理器確實已經(jīng)很難滿足許多實際應用的需求,因而各服務器廠商紛紛通過采用對稱多處理系統(tǒng)來解決這一矛盾。在國內(nèi)市場上這類機型的處理器一般以4個或8個為主,有少數(shù)有16個處理器。
從SMP的系統(tǒng)架構來看,SMP最大的優(yōu)勢在于共享內(nèi)存,對內(nèi)存統(tǒng)一編址。但也正是這一點為SMP的發(fā)展帶來很大障礙,因為共享內(nèi)存資源必然引起資源沖突。換言之,要保持SMP系統(tǒng)從2路到64路的線性或接近于線性增長,其SMP架構下的系統(tǒng)總線、高速總線等同樣需要線性增長。
如目前在雙路CPU間實現(xiàn)6.4Gb/s交換帶寬,要以同樣在64個處理器間實現(xiàn)6.4Gb/s的互連需要263×6.4Gb/s的互連帶寬,這無疑是個天文數(shù)字?未來數(shù)十年也難以實現(xiàn)。
不過仍有基于SMP 技術的64路產(chǎn)品,如IBM Power5+和HP Integrity就可以實現(xiàn)。其互連架構如上圖,它實際上按照每4~8顆處理器為一組實現(xiàn)互連,然后實現(xiàn)每組間再互連,其規(guī)模也一般超過8組,最終實現(xiàn)32~128路的整體規(guī)模。因此,不難看出,SMP系統(tǒng)的擴展性相對較差,難以做到128個以上多處理器。
目前大型SMP系統(tǒng)主要存在四個瓶頸:首先是價格昂貴,單一系統(tǒng)動輒數(shù)萬美元乃至數(shù)十萬美元;其二是系統(tǒng)擴展性較差,單一系統(tǒng)最多128顆CPU;其三是存在技術瓶頸,單獨依靠SMP難以提高計算機整體性能;其四是系統(tǒng)兼容性差,基本上不存在軟、硬件的兼容性,每種系統(tǒng)自成體系,與其他產(chǎn)品難以兼容。
那么怎樣才能在現(xiàn)有條件下實現(xiàn)計算機性能的大幅度提升呢?
集群 低成本的性能線性提升
近幾年,集群的高速發(fā)展就是一個較為有效的解決辦法。那什么是集群?集群系統(tǒng)(Cluster)是指利用網(wǎng)絡(商用或?qū)S茫⑸逃糜嬎銠C(主要是服務器)按照某種結構連接起來,在并行計算環(huán)境下支持統(tǒng)一調(diào)度的并行系統(tǒng)?;蛘呖梢院唵卫斫鉃椋合到y(tǒng)是由一組互連的整機(節(jié)點機)構成的并行或分布系統(tǒng),可作為統(tǒng)一的計算資源。
計算機集群系統(tǒng)允許使用低成本的商品化計算機來構造具有高可伸縮性和高可用性的高性能計算機網(wǎng)絡系統(tǒng),即今天所講的集群系統(tǒng)。其性能通過數(shù)年的技術研究,已經(jīng)逐漸接近甚至超越同時期同規(guī)模的大SMP系統(tǒng)。
實際上,計算機集群系統(tǒng)的實現(xiàn)得益于以下幾個方面的技術進步。最重要的動力來自CPU技術的長足發(fā)展,尤其是雙核及多核技術在x86系統(tǒng)的成功應用。像今天的AMD是成功借鑒了RISC設計思想開發(fā)出Opteron處理器,使得今天具有數(shù)萬億次運算能力、超大規(guī)模集群計算機成為了可能。
高速網(wǎng)絡技術的發(fā)展也推動了集群技術。高速網(wǎng)絡使得松散耦合系統(tǒng)之間的通訊能力大幅度提高(千兆以太網(wǎng)、Myrinet、InfiniBand等),帶有處理能力的網(wǎng)絡接口和新的通信機制有效降低了通信開銷,提高了計算機效率。
其次,并行設計環(huán)境的開發(fā)日益成熟,讓集群應用繁榮。多種可移植性并行程序環(huán)境成功進入了商業(yè)運行,如PVM、MPI等一批基于消息傳遞機制的并行程序環(huán)境可以運行在目前商業(yè)計算機系統(tǒng)平臺上,為集群技術的普及奠定了基礎。
計算機集群系統(tǒng)的發(fā)展,使得通過成熟的商業(yè)化產(chǎn)品組建的計算集群系統(tǒng)同時具備低價高性能成為可能。其組成部分主要包括節(jié)點機系統(tǒng)、網(wǎng)絡系統(tǒng)、存儲系統(tǒng)、控制系統(tǒng)、電源及散熱系統(tǒng)等。如果從整體看,集群系統(tǒng)是大型SMP系統(tǒng)的每個子系統(tǒng)商業(yè)化獨立發(fā)展的縮影,如大型SMP系統(tǒng)多采用RISC架構的處理器系統(tǒng)實現(xiàn)其計算功能,而在集群系統(tǒng)多采用基于x86架構的處理器系統(tǒng),其規(guī)模由雙路SMP系統(tǒng)發(fā)展到今天的多路SMP系統(tǒng),其性能已經(jīng)與基于RISC系統(tǒng)的處理性能抗衡。
集群系統(tǒng)的節(jié)點機本身就是一個經(jīng)濟型的SMP系統(tǒng),具備SMP所具備的優(yōu)點,并且具有得天獨厚的價格優(yōu)勢。由于構建集群系統(tǒng)核心的節(jié)點機系統(tǒng)是依托開放的商業(yè)計算機系統(tǒng),使得集群系統(tǒng)具備良好的擴展能力。如可以通過雙路、四路SMP系統(tǒng)構造傳統(tǒng)的集群系統(tǒng),也可以通過8路及8路雙核構造星群系統(tǒng),通過并行系統(tǒng)的優(yōu)化滿足用戶不斷變化的應用需求。這種系統(tǒng)的存儲系統(tǒng)和大型SMP系統(tǒng)一樣,基于SAN架構的方式實現(xiàn)。其他像網(wǎng)絡、電源及散熱系統(tǒng)也一樣,只不過采用分布式的設計思想而完成。
集群 融合SMP后取勝?
通過集群技術使我們獲得超大規(guī)模計算能力成為可能,如曙光4000A超大規(guī)模集群系統(tǒng)的實現(xiàn)。如果單純采用SMP構建同等規(guī)模的系統(tǒng),如前所述,技術上的可能性不大;如果采用多組中型SMP系統(tǒng)構建同等規(guī)模系統(tǒng),其價格遠高于同類集群系統(tǒng)不說,其實質(zhì)也與集群系統(tǒng)相同,并少了目前集群系統(tǒng)良好的兼容性。今天集群技術不斷發(fā)展,也在不斷融合大型SMP系統(tǒng)的技術,如曙光的TC1600刀片服務器系統(tǒng)就是將大型SMP系統(tǒng)融入到集群系統(tǒng)而形成的新一代集群系統(tǒng)。它與大型SMP系統(tǒng)一樣擁有強大的處理能力,同樣的系統(tǒng)可靠性設計,同樣的系統(tǒng)可管理能力;與集群系統(tǒng)一樣擁有高拓展能力以及靈活性。
從系統(tǒng)上來看,集群系統(tǒng)的發(fā)展受制于各自系統(tǒng)的發(fā)展,其子系統(tǒng)的平衡成為整體系統(tǒng)的關鍵。如8個節(jié)點16個處理器規(guī)模的傳統(tǒng)集群系統(tǒng)因子系統(tǒng)的獨立設計不一致性,導致了集群系統(tǒng)性價比下降。與此同時,基于x86的多路SMP系統(tǒng)性價比突出,具有傳統(tǒng)集群系統(tǒng)的兼容性與擴展性,也具備大型SMP系統(tǒng)的系統(tǒng)整合能力,使得小規(guī)模的傳統(tǒng)集群系統(tǒng)逐步讓位于x86多路雙核產(chǎn)品,預計在2007年將出現(xiàn)8路32核的x86 多路產(chǎn)品,將使這類產(chǎn)品的競爭力得到更大地提升。
在16~64顆處理器規(guī)模的系統(tǒng)中,這兩者因其特點不同將占據(jù)不同的市場,在64顆處理器以上規(guī)模,基本上只能通過集群系統(tǒng)實現(xiàn),依靠單一大SMP系統(tǒng)難以實現(xiàn)。
但隨著技術不斷發(fā)展,集群系統(tǒng)和大SMP系統(tǒng)也在不斷變化。大SMP系統(tǒng)也通過集群系統(tǒng)技術實現(xiàn)超大規(guī)模計算機系統(tǒng)構建,實現(xiàn)其擴展能力與運算處理能力,集群系統(tǒng)也依托SMP技術,引入大型SMP系統(tǒng)設計理念實現(xiàn)其產(chǎn)品設計,兩者呈現(xiàn)出很大的互補性。但總的趨勢來看,經(jīng)濟高效的集群產(chǎn)品將逐漸成為高性能計算機的主流,其可靠性、可管理性將有很大增強。 (作者是曙光信息產(chǎn)業(yè)(北京)有限公司技術支持中心總經(jīng)理)