日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【大话存储】多CPU架构变迁, SMP,NUMA,MPP

發布時間:2023/12/20 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【大话存储】多CPU架构变迁, SMP,NUMA,MPP 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

多CPU架構演進

對稱多處理器結構:(SMP,Symmetric Multi-Processor)

服務器最開始的時候是單CPU,然后才進化到了雙CPU甚至多CPU的SMP架構。所謂SMP架構指的是多路CPU無主次,共享內存、總線、操作系統等。此時每個CPU訪問內存任何地址所耗費的時間是相等的。所以也稱為一致存儲器訪問結構

大家共享同樣的內存,所以擴展能力有限,因為CPU數量增加了,內存訪問沖突也會增加。為了進一步提高CPU數量的同時還能保證效率,NUMA架構出現了,將多個SMP進行松耦合。

還有一種AMP架構,不同的CPU是做不同的事的,互不干擾。

非一致存儲訪問結構:(NUMA,Non-Uniform Memory Access)

NUMA架構中,多個SMP通過Crossbar switch交換矩陣進行互聯。
每個SMP有自己的內存,同時還可以訪問其他SMP的內存,但是需要經過高速交換矩陣,很顯然SMP訪問自己的內存速度非常高,但是訪問遠端的SMP的內存還需要經過交換矩陣,延遲增加,可以看出NUMA通過犧牲內存的訪問時延來達到更高的擴展性。

總之,SMP與NUMA架構對軟件程序方面影響擴展性不大,一臺主機內都使用單一的操作系統。
缺點是CPU數量增加,訪問遠端內存的時延也會增加,性能不能線性增加。此時MPP架構就出現了。

海量并行處理結構:(MPP,Massive Parallel Processing)

MPP說白了就是將多臺獨立的主機組成集群。顯然在此架構下,每個節點都有各自的CPU、內存、IO總線、操作系統,完全松耦合。最關鍵的是MPP集群中的軟件架構也相應的改變了,這樣MPP的效率隨節點數量增加就可以線性增加了。

其實如果NUMA架構下,如果通過上層軟件來使得程序盡量少的讀取遠端的內存,NUMA效率也會線性增加。但是實際上NUMA操作系統仍然是同一個,內存仍然是全局均勻的,所以訪問遠端內存是不可避免的。

那么MPP相當于把內存強制分開,同時又改變了程序架構,這樣就可以保證海量計算下的效率線性增加。

存儲系統的演進

存儲系統與服務器CPU架構演進相同,控制器就好比CPU,后端磁盤柜就類似于內存。

  • SMP
    縱觀存儲系統的演進,一開始是單控,后來演進到雙控互為備份,此時就類似于AMP,兩個控制器各自處理自己的任務。
    然后進入到雙控并行處理的時代(HDS的AMS2000存儲系統),類似于SMP,兩個控制器可以并行的處理。
    再到后來則有多控并行對稱處理架構,Oracle的RAC集群就可以視為一種多點SMP,各種共享底層存儲的集群文件系統都屬于多點對稱SMP
  • NUMA
    同樣NUMA也出現在了存儲系統中,比如EMC的V-Max相當于多個SMP利用高速交換矩陣來共享訪問每個SMP上的內存,其中SMP就是一對控制器組成的Director,高速交換矩陣就是RapidIO
  • MPP
    • 那么IBM的XIV就屬于松耦合MPP架構,每個節點都有自己的CPU、內存、IO接口,使用外部的交換機互相通信。
    • 而HDS的VSP更像是一個緊耦合的MPP。
    • 另一種屬于MPP架構的存儲系統就是分布式文件系統,比如HDFS等。
      MPP對軟件架構變化很大,所以傳統存儲廠商很難將之前的架構演進到MPP上來。

誰才是真正的Scale-out

SMP/NUMA/MPP其實都算Scale-out,只不過程度和形態不同。
MPP架構的存儲,比如XIV,在多路大塊連續的IO下,效率反而很差。這是因為單路IO可能導致整個MPP集群中的磁盤資源全部牽動

但是如果是小塊隨機的IO,多路IO關聯很少,則性能隨節點數增加線性增加,這就好比將一個程序并行分解為多個子任務(類似于隨機小IO),因為子任務之間的關聯很少,節點之間的通信量很小,則并行執行的效率高。也就是MPP自身是share-Nothing架構,運行在上面的程序也盡可能的是Share-Nothing

SMP、NUMA、MPP各有各的好處,比如

  • SMP適用于擴展性要求不高,而又不想程序改變太大的場景。
  • MPP則適用于海量數據下的高擴展性需求場景。它需要對程序進行大量的改變,而且多流大塊連續IO場景下性能不佳。所以MPP架構廣泛的應用于互聯網的底層Key-Value分布式數據庫,這種數據庫主要應對高隨機小塊讀的場景,可以獲得非常高的性能。

參考

大話存儲II

轉載于:https://www.cnblogs.com/dy2903/p/8341268.html

總結

以上是生活随笔為你收集整理的【大话存储】多CPU架构变迁, SMP,NUMA,MPP的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。