One-Sided Communication¶
An origin specifies access to eligible memory associated with another participant, without a matching application receive for each transfer, under explicit access and completion rules.
Core Idea¶
One-sided communication lets an origin specify a read, write, or supported atomic update to another participant's eligible memory, without a matching application receive per transfer. Access rules govern ordering, completion, and visibility; naming the target does not establish usability.[^ref-e06afe0a02db]
Scope of Application¶
These cases preserve all five roles:
- MPI neighbor arrays. Each process names a neighbor's exposed window and rank/displacement, puts array elements, and uses fences. Official generic example; not a witnessed simulation.[^ref-e06afe0a02db]
- FaRM key lookup. A lookup thread reads registered bucket objects by capability/offset. Runtime lock/version checks and separate application incarnation checks qualify acceptance or retry. Reported implementation; no universal consistency guarantee.[^ref-933bc1b5d68a]
- OpenSHMEM strides. PE0 puts five strided values into PE1's symmetric target; two barriers govern observation/exit. Official listing.[^ref-9ed7f8a06970]
Clarity¶
“One-sided” identifies who describes access, rather than how many participants work. The target can expose storage or join synchronization without receiving a matching application payload per transfer. Hardware RDMA and permanent target passivity are unnecessary. Completion and visibility remain distinct.[ref-e06afe0a02db][ref-9ed7f8a06970]
Manages Complexity¶
Ask who issues, which storage is eligible, how it is located, what effect is permitted, and what warrants observation. These questions compare different APIs without equating them. They also separate an invalid target from a correctly targeted operation whose result is accepted too early.
Abstract Reasoning¶
Check eligibility before trusting an address, and completion or validation before accepting a value. If the target is wrong, repair exposure or location; if observation is premature, recover the missing contract condition. RPC invokes a remote procedure; this mechanism requests a memory effect. An internal transfer does not redefine its host service.
Knowledge Transfer¶
The operative eligibility boundary is a Boundary constituent. Transfer eligibility reasoning, not particular guarantees. No universal speed or race-freedom follows. SHMEM's broader library identity includes facilities beyond these operations.[^ref-9ed7f8a06970]
Relationships to Other Abstractions¶
Current abstraction One-Sided Communication Domain-specific
Parents (1) — more general patterns this builds on
-
One-Sided Communication is part of Boundary Prime
One-Sided Communication contains an operative boundary defining eligible target storage and the memory effects permitted across it.
Hierarchy path (1) — routes to 1 parentless root
- One-Sided Communication → Boundary
Neighborhood in Abstraction Space¶
One-Sided Communication sits in a moderately populated region (42nd percentile for distinctiveness): it has near-neighbors but no dense thicket of look-alikes.
Family — Network Security Vulnerabilities & Trust (30 abstractions)
Nearest neighbors
- Data Migration — 0.87
- Peer-to-Peer Architecture — 0.87
- Secure Channel — 0.87
- Partitioned Global Address Space — 0.87
- Geotargeting — 0.86
Computed from structural-signature embeddings · 2026-10-17
References¶
[^ref-9ed7f8a06970]: OpenSHMEM (2012). OpenSHMEM Application Programming Interface, Version 1.0 FINAL. §§2.2, 5, 6.1; §8.8 printed pp.34–36 / PDF zero-based33–35; §8.15.1 pp.54–55 / indices53–54; §§8.15.3–4 pp.57–59 / indices56–58; Appendix E Listing6 p.108 / index107. Official original specification and worked listing; the cover edition is 1.0 FINAL despite the search caption “Draft.” Later API editions are not imported.
[^ref-e06afe0a02db]: MPI Forum (2023). MPI: A Message-Passing Interface Standard, Version 4.1. §§12.1–12.2.1 printed pp.547–548 onward / PDF zero-based588–589 onward; §12.5 pp.588–589 / indices629–630; §12.5.4 pp.601–603 / indices642–644; §12.7 visibility rules pp.606–608 / indices647–649; §12.8 Example12.15 pp.618–619 / indices659–660, distinct Example12.16 p.619 / index660. Official standard and formal examples; no execution or deployment is claimed.
[^ref-933bc1b5d68a]: Dragojević, A., Narayanan, D., Hodson, O., and Castro, M. (2014). “FaRM: Fast Remote Memory.” 11th USENIX Symposium on Networked Systems Design and Implementation, pp.401–414. §2 p.402 / PDF zero-based2; §3.3 pp.405–406 / indices5–6; §3.5 p.407 / index7; §3.6 p.408 / index8; §§3.1–3.2 pp.402–405 / indices2–5; §§4.1–4.2 pp.409–410 / indices9–10. Original reported implementation; direct-read CPU and consistency claims are path-specific. Failure recovery was not evaluated.