热门问题
时间线
聊天
视角

分區全局地址空間

来自维基百科,自由的百科全书

Remove ads

計算機科學中,分區全局地址空間(partitioned global address space:PGAS)是一種並行編程模型。在PGAS模型中,多個SPMD線程或進程分享出它們地址空間的一部份,從而共享出一個劃分了分區的全局地址空間,對於每個線程或進程在其中都有對它是局部性的那一部份[1]

簡介

PGAS模型試圖將針對分布式內存英語Distributed memory系統的如MPI那樣的SPMD英語SPMD編程樣式,和共享內存系統的數據參照語義二者的好處結合起來。PGAS模型相較分布式共享內存有所創新,共享內存空間的一部份可以對特定線程或進程有「親和性」,從而利用上參照局部性。這也比傳統共享內存方式的一個平直地址空間要更具現實性,因為特定於硬件的數據局部性比如NUMA,可以在劃分地址空間中進行建模。

PGAS模型是SHMEM英語SHMEM[2]Unified Parallel CCoarray Fortran英語Coarray FortranChapel英語ChapelX10英語X10 (programming language)Fortress英語Fortress (programming language)Split-C英語Split-CGlobal Arrays英語Global Arrays、UPC++[3]、Coarray C++[4]、DASH[5]的基礎。自從Fortran 2008,這個模型被集成為標準Fortran語言的一部份。

PGAS模型的一個變體是異步分區全局地址空間(asynchronous partitioned global address space:APGAS),它允許建立局部和遠程異步任務二者[6]。使用了這個模型的兩個編程語言是Chapel英語ChapelX10英語X10 (programming language)

Remove ads

其他例子

參見

引用

外部連結

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads