分区全局地址空间

计算机科学中,分区全局地址空间(partitioned global address space:PGAS)是一种并行编程模型。在PGAS模型中,多个SPMD线程或进程分享出它们地址空间的一部份,从而共享出一个划分了分区的全局地址空间,对于每个线程或进程在其中都有对它是局部性的那一部份[1]

简介

PGAS模型试图将针对分布式内存系统的如MPI那样的SPMD编程样式,和共享内存系统的数据参照语义二者的好处结合起来。PGAS模型相较分布式共享内存有所创新,共享内存空间的一部份可以对特定线程或进程有“亲和性”,从而利用上参照局部性。这也比传统共享内存方式的一个平直地址空间要更具现实性,因为特定于硬件的数据局部性比如NUMA,可以在划分地址空间中进行建模。

PGAS模型是SHMEM[2]Unified Parallel CCoarray FortranChapelX10FortressSplit-CGlobal ArraysUPC++ 页面存档备份,存于Coarray C++ 页面存档备份,存于DASH 页面存档备份,存于的基础。自从Fortran 2008,这个模型被集成为标准Fortran语言的一部份。

PGAS模型的一个变体是异步分区全局地址空间(asynchronous partitioned global address space:APGAS),它允许建立局部和远程异步任务二者[3]。使用了这个模型的两个编程语言是ChapelX10

其他例子

  • Adapteva Epiphany架构是众核芯上网络的处理器,带有在核心之间可寻址到的暂存内存[4]
  • 夫琅和费协会开发的全局地址空间编程接口

参见

引用

  1. Cristian Coarfă; Yuri Dotsenko; John Mellor-Crummey, "An Evaluation of Global Address Space Languages: Co-Array Fortran and Unified Parallel C"
  2. . [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.
  3. Tim Stitt, "An Introduction to the Partitioned Global Address Space (PGAS) Programming Model" 页面存档备份,存于
  4. (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.

外部链接

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.