Remove ads
来自维基百科,自由的百科全书
在电脑科学中,分区全局地址空间(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。
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.