欧美,精品,综合,亚洲,好吊妞视频免新费观看,免费观看三级吃奶,一级a片女人自慰免费看

 首頁 > 新聞 > 專家觀點 >

新一代數(shù)據(jù)中心的分布式計算架構

2014-06-11 11:02:20   作者:   來源:中關村在線   評論:0  點擊:


  當前物理CPU正遵循摩爾定律在穩(wěn)定的高速發(fā)展,然而人類對計算能力的要求更高,一方面應用對計算能力要求超過摩爾定律的速度,另外一方面要求提高計算能力的使用效率,這都離不開軟件的協(xié)助。虛擬化和分布式都是現(xiàn)在流行的架構,他們代表著兩個不同的發(fā)展方向:虛擬化--一臺機器分成多臺機器用;分布式--多臺機器合成一臺機器用。正可謂"天下大勢,分久必合,合久必分"。

  一、分布式架構發(fā)展和現(xiàn)狀

  1. 從SMP到MPP

  從系統(tǒng)架構來看,目前的商用服務器主要分為三類,對稱多處理器結構SMP,非一致存儲訪問結構NUMA以及海量并行處理結構MPP。

  ● SMP(Symmetric Multi-Processor)

  所謂對稱多處理器結構,是指服務器中多個CPU對稱工作,無主次或從屬關系。各CPU共享相同的物理內存,每個CPU訪問內存中的任何地址所需時間是相同的,因此SMP也被稱為一致存儲器訪問結構(UMA:Uniform Memory Access)。

  SMP服務器的主要特征是共享,系統(tǒng)中所有資源(CPU、內存、I/O等)都是共享的。也正是由于這種特征,導致了SMP服務器的主要問題,那就是它的擴展能力非常有限。

  ● NUMA(Non-Uniform Memory Access)

  由于SMP在擴展能力上的限制,人們開始探究如何進行有效地擴展從而構建大型系統(tǒng)的技術,NUMA就是這種努力下的結果之一。利用NUMA技術,可以把幾十個CPU(甚至上百個CPU)組合在一個服務器內。

  NUMA服務器的基本特征是具有多個CPU模塊,每個CPU模塊由多個CPU(如4個)組成,并且具有獨立的本地內存、I/O槽口等。由于其節(jié)點之間可以通過互聯(lián)模塊(如稱為Crossbar Switch)進行連接和信息交互,因此每個CPU可以訪問整個系統(tǒng)的內存。顯然,訪問本地內存的速度將遠遠高于訪問遠地內存(系統(tǒng)內其它節(jié)點的內存)的速度,這也是非一致存儲訪問NUMA的由來。由于這個特點,為了更好地發(fā)揮系統(tǒng)性能,開發(fā)應用程序時需要盡量減少不同CPU模塊之間的信息交互。利用NUMA技術,可以較好地解決原來SMP系統(tǒng)的擴展問題,在一個物理服務器內可以支持上百個CPU。比較典型的NUMA服務器的例子即我們常說的小機例如HP的Supterdome和IBM的Power服務器。

  但NUMA的節(jié)點互聯(lián)機制是在同一個物理服務器內部實現(xiàn)的,當某個CPU需要進行遠地內存訪問時,它必須等待,這也是NUMA服務器無法實現(xiàn)CPU增加時性能線性擴展的主要原因。2013年年度備受矚目的"淘寶去IOE"的原因也在此。在IBM的小機和Oracle數(shù)據(jù)庫的組合下,淘寶通過硬件升級獲得的性能增長達到了瓶頸,無法滿足客戶的爆發(fā)性增長。

  ● MPP(Massive Parallel Processing)

  和NUMA不同,MPP提供了另外一種進行系統(tǒng)擴展的方式,它由多個SMP服務器通過一定的節(jié)點互聯(lián)網(wǎng)絡進行連接,協(xié)同工作,完成相同的任務,從用戶的角度來看是一個服務器系統(tǒng)。其基本特征是由多個SMP服務器(每個SMP服務器稱節(jié)點)通過節(jié)點互聯(lián)網(wǎng)絡連接而成,每個節(jié)點只訪問自己的本地資源(內存、存儲等),是一種完全無共享(Share Nothing)結構,因而擴展能力最好,理論上其擴展無限制(如圖1所示)。目前的技術可實現(xiàn)512個節(jié)點互聯(lián),數(shù)千個CPU。目前業(yè)界對節(jié)點互聯(lián)網(wǎng)絡暫無標準,如 NCR的Bynet,IBM的SPSwitch,它們都采用了不同的內部實現(xiàn)機制。但節(jié)點互聯(lián)網(wǎng)僅供MPP服務器內部使用,對用戶而言是透明的。

  在MPP系統(tǒng)中,每個SMP節(jié)點也可以運行自己的操作系統(tǒng)、數(shù)據(jù)庫等。但和NUMA不同的是,它不存在異地內存訪問的問題。換言之,每個節(jié)點內的CPU不能訪問另一個節(jié)點的內存。節(jié)點之間的信息交互是通過節(jié)點互聯(lián)網(wǎng)絡實現(xiàn)的,這個過程一般稱為數(shù)據(jù)重分配(Data Redistribution)。

  但是MPP服務器需要一種復雜的機制來調度和平衡各個節(jié)點的負載和并行處理過程。目前一些基于MPP技術的服務器往往通過系統(tǒng)級軟件(如數(shù)據(jù)庫)來屏蔽這種復雜性。例如NCR的Teradata就是基于MPP技術的一個關系數(shù)據(jù)庫軟件,基于此數(shù)據(jù)庫來開發(fā)應用時,不管后臺服務器由多少個節(jié)點組成,開發(fā)人員所面對的都是同一個數(shù)據(jù)庫系統(tǒng),而不需要考慮如何調度其中某幾個節(jié)點的負載。

  MPP以其優(yōu)良的擴展架構成為了分布式架構的基礎。

  圖1.MPP服務器架構圖

分享到: 收藏

專題