Partitioned global address space languages

M De Wael, S Marr, B De Fraine… - ACM Computing …, 2015 - dl.acm.org
ACM Computing Surveys (CSUR), 2015dl.acm.org
The Partitioned Global Address Space (PGAS) model is a parallel programming model that
aims to improve programmer productivity while at the same time aiming for high
performance. The main premise of PGAS is that a globally shared address space improves
productivity, but that a distinction between local and remote data accesses is required to
allow performance optimizations and to support scalability on large-scale parallel
architectures. To this end, PGAS preserves the global address space while embracing …
The Partitioned Global Address Space (PGAS) model is a parallel programming model that aims to improve programmer productivity while at the same time aiming for high performance. The main premise of PGAS is that a globally shared address space improves productivity, but that a distinction between local and remote data accesses is required to allow performance optimizations and to support scalability on large-scale parallel architectures. To this end, PGAS preserves the global address space while embracing awareness of nonuniform communication costs.
Today, about a dozen languages exist that adhere to the PGAS model. This survey proposes a definition and a taxonomy along four axes: how parallelism is introduced, how the address space is partitioned, how data is distributed among the partitions, and finally, how data is accessed across partitions. Our taxonomy reveals that today’s PGAS languages focus on distributing regular data and distinguish only between local and remote data access cost, whereas the distribution of irregular data and the adoption of richer data access cost models remain open challenges.
ACM Digital Library