Partitioned Global Address Space¶
A programming model makes eligible data referable across locality domains while exposing each location's partition or affinity and defining local and remote access.
Core Idea¶
A partitioned global address space (PGAS) is a parallel-programming model making eligible data referable across localities while exposing its partition or affinity. A language or library defines access semantics. “Global” does not expose every private datum, and “partitioned” does not equalize remote and local costs.[ref-46b401224f1e][ref-9ed7f8a06970]
Scope of Application¶
The two documented habitats use different interfaces with eligible cross-locality data and visible placement:
- Chapel language. A worked nested
onexample updatesxfrom Locale 2 whilexremains on Locale 1;onalone creates no parallel task.[^ref-46b401224f1e] - OpenSHMEM library. Listing 6 puts five selected values from PE 0's private source into PE 1's symmetric target, with barriers around observation.[^ref-9ed7f8a06970]
Both are worked examples, not observed deployments or performance measurements. A locale is one unit, not the whole model.[ref-46b401224f1e][ref-9ed7f8a06970]
Clarity¶
Ask which data are remotely eligible, where they reside, and which operation makes access valid. OpenSHMEM's private source and symmetric target differ; Chapel's remote update leaves x at home. A global reference surface alone promises neither uniform cost, automatic concurrency, nor visibility without the contract and synchronization.[ref-46b401224f1e][ref-9ed7f8a06970]
Manages Complexity¶
PGAS lets programmers refer to eligible distributed data without expressing every access as a private message, while exposing locality for placement. Its five roles are locality domains, eligible data, visible affinity, cross-domain access, and operation semantics. Compact syntax may still entail communication; the cited systems establish no universal speedup or consistency rule.[ref-46b401224f1e][ref-9ed7f8a06970]
Abstract Reasoning¶
Identify the eligible object, target affinity, access operation, and synchronization before judging legality or cost. Chapel code on Locale 2 reaches x on Locale 1; OpenSHMEM names the destination PE and symmetric target. Listing 6's count argument selects five elements despite a conflicting “ten words” comment. Neither example makes every datum remotely accessible.[ref-46b401224f1e][ref-9ed7f8a06970]
Knowledge Transfer¶
The roles transfer between Chapel's language and OpenSHMEM's library, but syntax and memory-order rules differ. Interface is an internal constituent: each PGAS model declares eligible objects, visible locality, operations, and effects through a bounded contract. A hardware locality or ordinary cross-boundary message alone lacks the full model.[ref-46b401224f1e][ref-9ed7f8a06970]
Relationships to Other Abstractions¶
Current abstraction Partitioned Global Address Space Domain-specific
Parents (1) — more general patterns this builds on
-
Partitioned Global Address Space is part of Interface Prime
Every PGAS programming model contains a bounded access interface that declares eligible remote data, visible locality, operations, and their effects.
Hierarchy path (1) — routes to 1 parentless root
Neighborhood in Abstraction Space¶
Partitioned Global Address Space sits in a moderately populated region (57th percentile for distinctiveness): it has near-neighbors but no dense thicket of look-alikes.
Family — Network Security Vulnerabilities & Trust (30 abstractions)
Nearest neighbors
- One-Sided Communication — 0.87
- Block Storage over a Network — 0.86
- Cache-Only Memory Architecture — 0.86
- Superblock (file system) — 0.86
- Internationalization–Localization Interface — 0.84
Computed from structural-signature embeddings · 2026-10-17
References¶
[^ref-46b401224f1e]: Steven J. Deitz, Bradford L. Chamberlain, Samuel Figueroa, and David Iten, “HPCC STREAM and RA in Chapel: Performance and Potential,” CUG 2009 Proceedings, HPCC STREAM and RA in Chapel: Performance and Potential. Consulted §2.1.2 locale query; §2.2 nested on x, PDF pp. 2–3; §2.3 distinction from task parallelism, PDF p. 3; §§3–4 locality/distribution implementation, PDF pp. 3–7. This is original author design and worked code, not reviewer-executed application evidence. [^ref-9ed7f8a06970]: OpenSHMEM (project authors and collaborators), OpenSHMEM Application Programming Interface Version 1.0 FINAL, 2012. Consulted §§2.1–2.2 PGAS and SHMEM, printed pp. 6–7; §§5–6 memory/execution; §8.8 strided puts; Appendix E.1 Listing 6, printed p. 108 / zero-based PDF p. 107. The listing is adapted from SGI man pages and was not reviewer-executed.