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