分區全局地址空間
![本頁使用了標題或全文手工轉換](http://images.weserv.nl/?url=//upload.wikimedia.org/wikipedia/commons/thumb/c/cd/Zh_conversion_icon_m.svg/35px-Zh_conversion_icon_m.svg.png)
在計算機科學中,分區全局地址空間(partitioned global address space:PGAS)是一種並行編程模型。在PGAS模型中,多個SPMD線程或進程分享出它們地址空間的一部份,從而共享出一個劃分了分區的全局地址空間,對於每個線程或進程在其中都有對它是局部性的那一部份[1]。
簡介
PGAS模型試圖將針對分布式內存系統的如MPI那樣的SPMD編程樣式,和共享內存系統的數據參照語義二者的好處結合起來。PGAS模型相較分布式共享內存有所創新,共享內存空間的一部份可以對特定線程或進程有「親和性」,從而利用上參照局部性。這也比傳統共享內存方式的一個平直地址空間要更具現實性,因為特定於硬件的數據局部性比如NUMA,可以在劃分地址空間中進行建模。
PGAS模型是SHMEM[2]、Unified Parallel C、Coarray Fortran、Chapel、X10、Fortress、Split-C、Global Arrays、UPC++[3]、Coarray C++[4]、DASH[5]的基礎。自從Fortran 2008,這個模型被集成為標準Fortran語言的一部份。
PGAS模型的一個變體是異步分區全局地址空間(asynchronous partitioned global address space:APGAS),它允許建立局部和遠程異步任務二者[6]。使用了這個模型的兩個編程語言是Chapel和X10。
其他例子
參見
- 並行編程模型
- 非阻塞同步
- 非統一內存訪問(NUMA)
- 處理器親和性
- 唯Cache內存架構(COMA)
引用
- ^ Cristian Coarfă; Yuri Dotsenko; John Mellor-Crummey, "An Evaluation of Global Address Space Languages: Co-Array Fortran and Unified Parallel C" (頁面存檔備份,存於網際網路檔案館)
- ^ OpenSHMEM. [2019-12-12]. (原始內容存檔於2019-12-09).
The Programming Models and Languages team is focused on developing the OpenSHMEM programming model for extreme scale systems. ……Currently, the team partners with NVIDIA, University of Tennessee, Knoxville, Florida State University and Paratools. …… UCX provides communication interfaces, and protocols for efficiently implementing parallel programming models such as MPI, OpenSHMEM, and task-based models.
- ^ UPC++ (頁面存檔備份,存於網際網路檔案館)
- ^ Coarray C++ (頁面存檔備份,存於網際網路檔案館)
- ^ DASH (頁面存檔備份,存於網際網路檔案館)
- ^ Tim Stitt, "An Introduction to the Partitioned Global Address Space (PGAS) Programming Model" (頁面存檔備份,存於網際網路檔案館)
- ^ Epiphany Architecture Reference (PDF). [2019-12-11]. (原始內容存檔 (PDF)於2017-09-22).
The Epiphany architecture defines a multicore, scalable, shared-memory, parallel computing fabric. It consists of a 2D array of compute nodes connected by a low-latency mesh network-on-chip. ……Local memory in each mesh node that provides 32 Bytes/cycle of sustained bandwidth and is part of a distributed, shared memory system.
外部連結
- 官方網站
- An Introduction to the Partitioned Global Address Space Model (頁面存檔備份,存於網際網路檔案館)
- Programming in the Partitioned Global Address Space Model (頁面存檔備份,存於網際網路檔案館) (2003)
|