什麼是SMP,UMA,NUMA(zz)

1. 概述
  SMP稱爲共享存儲型多處理機(Shared Memory mulptiProcessors), 也稱爲對稱型多處理機(Symmetry MultiProcessors)。
  共享存儲型多處理機有三種模型:均勻存儲器存取(Uniform-Memory-Access,簡稱UMA)模型、非均勻存儲器存取(Nonuniform-Memory-Access,簡稱NUMA)模型和只用高速緩存的存儲器結構(Cache-Only Memory Architecture,簡稱COMA)模型,這些模型的區別在於存儲器和外圍資源如何共享或分佈。

  UMA多處理機模型如圖8.23所示。圖中,物理存儲器被所有處理機均勻共享。所有處理機對所有存儲字具有相同的存取時間,這就是爲什麼稱它爲均勻存儲器存取的原因。每臺處理機可以有私用高速緩存,外圍設備也以一定形式共享。


NUMA多處理機模型如圖8.24所示,其訪問時間隨存儲字的位置不同而變化。其共享存儲器物理上是分佈在所有處理機的本地存儲器上。所有本地存儲器的集合組成了全局地址空間,可被所有的處理機訪問。處理機訪問本地存儲器是比較快的,但訪問屬於另一臺處理機的遠程存儲器則比較慢,因爲通過互連網絡會產生附加時延。


COMA模型如圖8.25所示,一種只用高速緩存的多處理機。COMA模型是NUMA機的一種特例,只是將後者中分布主存儲器換成了高速緩存, 在每個處理機結點上沒有存儲器層次結構,全部高速緩衝存儲器組成了全局地址空間。遠程高速緩存訪問則藉助於分佈高速緩存目錄進行。


共享存儲系統擁有統一尋址空間,程序員不必參與數據分佈和傳輸。早期的並行處理系統幾乎都是基於總線的共享存儲系統,它們的發展得益於兩方面的原因:一個是微處理器令人難以置信的性能價格比,另一個是在基於微處理器的並行處理系統中廣泛使用的cache技術。這些因素使得將多個處理器放到同一條總線上,共享單一存儲器成爲可能,並通過cache將所有處理器訪問存儲器所需的存儲帶寬降低到可以接受的水平。cache一致性是通過監聽協議實現的。這種實現方式雖然簡單,但是阻礙了系統的擴展能力。
  到80年代中期,對可擴展的多處理器系統的需求不斷增長。基於總線的、cache一致性、共享單一存儲器的機器顯然是不可擴展的。1996年SGI Origin 2000系列服務器的推出,一種稱爲S2MP的並行計算機體系結構受到了廣泛的注意。S2MP全稱爲可擴展共享存儲多處理(Scalable Shared-memory MultiProcessing)技術。S2MP系統將大量高性能微處理器連接起來,共享一個統一的地址空間,較好地解決其他並行處理系統無法解決的問題。
  S2MP是一種共享存儲的體系結構,和大規模的消息傳遞系統相比,它支持簡單的編程模型,系統使用方便,是對SMP系統在支持更高擴展能力方面的發展。共享存儲系統降低了通信的額外開銷,因此係統也可以運行細粒度的應用。S2MP着眼於擴展性能的研究,和傳統的基於總線的共享存儲並行處理系統相比,它不存在系統中可以連接的處理器數目的總線帶寬的限制。
  S2MP作爲大規模多處理系統,主要問題仍然是解決系統的可擴展和易編程能力。S2MP系統採用分佈式存儲器技術,引入cache,降低了訪存時延。同時系統內處理器通過高速無阻塞的互連網絡連接,增加了系統的通信帶寬。這些技術保證了S2MP系統的可擴展性能。另一方面,解決編程問題的主要方法仍然是提供與單機類似的統一地址空間,因此S2MP系統採用共享存儲的存儲器模型,每個處理器結點都可以直接訪問所有的存儲單元,程序員不用在程序中顯式地控制在處理器之間分佈數據和進行通信,因而容易編程。直接訪存也使得在處理器間動態分配任務,實現負載平衡簡單了。同時,由於共享存儲系統是由小規模並行多處理器系統演變而來的,它們具有相同的編程模型,所以那些已有的並行應用問題可以很容易地移植過來運行,解決了並行處理系統的應用程序開發問題。

http://apple.upc.edu.cn/TsingHua/TsingHua012/content/chap8/section2/left18.htm

Reprinted since:http://blog.sina.com.cn/s/blog_4901f88e0100098z.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章