Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> 電腦軟件教程 >> 服務器技術 >> 關於服務器 >> 服務器三大體系SMP、NUMA、MPP介紹

服務器三大體系SMP、NUMA、MPP介紹

日期:2017/2/8 10:24:43      編輯:關於服務器

  從系統架構來看,目前的商用服務器大體可以分為三類,即對稱多處理器結構(SMP:Symmetric Multi-Processor),非一致存儲訪問結構(NUMA:Non-Uniform Memory Access),以及海量並行處理結構(MPP:Massive Parallel Processing)。它們的特征分別描述如下:

  SMP(Symmetric Multi-Processor)

  所謂對稱多處理器結構,是指服務器中多個CPU對稱工作,無主次或從屬關系。各CPU共享相同的物理內存,每個 CPU訪問內存中的任何地址所需時間是相同的,因此SMP也被稱為一致存儲器訪問結構(UMA:Uniform Memory Access)。對SMP服務器進行擴展的方式包括增加內存、使用更快的CPU、增加CPU、擴充I/O(槽口數與總線數)以及添加更多的外部設備(通常是磁盤存儲)。

  SMP服務器的主要特征是共享,系統中所有資源(CPU、內存、I/O等)都是共享的。也正是由於這種特征,導致了SMP服務器的主要問題,那就是它的擴展能力非常有限。對於SMP服務器而言,每一個共享的環節都可能造成SMP服務器擴展時的瓶頸,而最受限制的則是內存。由於每個CPU必須通過相同的內存總線訪問相同的內存資源,因此隨著CPU數量的增加,內存訪問沖突將迅速增加,最終會造成CPU資源的浪費,使 CPU性能的有效性大大降低。實驗證明,SMP服務器CPU利用率最好的情況是2至4個CPU。

  

服務器,SMP,NUMA,MPP
  
  圖1.SMP服務器CPU利用率狀態

  NUMA(Non-Uniform Memory Access)

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

  

服務器,SMP,NUMA,MPP

  圖2.NUMA服務器CPU模塊結構


  NUMA服務器的基本特征是具有多個CPU模塊,每個CPU模塊由多個CPU(如4個)組成,並且具有獨立的本地內存、I/O槽口等。由於其節點之間可以通過互聯模塊(如稱為Crossbar Switch)進行連接和信息交互,因此每個CPU可以訪問整個系統的內存(這是NUMA系統與MPP系統的重要差別)。顯然,訪問本地內存的速度將遠遠高於訪問遠地內存(系統內其它節點的內存)的速度,這也是非一致存儲訪問NUMA的由來。由於這個特點,為了更好地發揮系統性能,開發應用程序時需要盡量減少不同CPU模塊之間的信息交互。利用NUMA技術,可以較好地解決原來SMP系統的擴展問題,在一個物理服務器內可以支持上百個CPU。比較典型的NUMA服務器的例子包括HP的Superdome、SUN15K、IBMp690等。

  但NUMA技術同樣有一定缺陷,由於訪問遠地內存的延時遠遠超過本地內存,因此當CPU數量增加時,系統性能無法線性增加。如HP公司發布Superdome服務器時,曾公布了它與HP其它UNIX服務器的相對性能值,結果發現,64路CPU的Superdome (NUMA結構)的相對性能值是20,而8路N4000(共享的SMP結構)的相對性能值是6.3。從這個結果可以看到,8倍數量的CPU換來的只是3倍性能的提升。

  
服務器,SMP,NUMA,MPP

  圖3.MPP服務器架構圖
Copyright © Windows教程網 All Rights Reserved