Recognition: unknown
ipc_shared_ptr: A Publish/Subscribe-Aware Smart Pointer for Cross-Process Object Lifetime Management
Pith reviewed 2026-05-08 17:21 UTC · model grok-4.3
The pith
ipc_shared_ptr specializes distributed reference counting for pub/sub systems by restricting updates to simple per-subscriber 0-to-1 transitions.
A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.
Core claim
ipc_shared_ptr exploits pub/sub structural properties to specialize Birrell's reference listing, limiting global metadata updates to per-subscriber 0<->1 transitions and achieving an order-of-magnitude reduction in global communication over general-purpose distributed reference counting. The work examines the scalability versus simplicity tradeoff: owner-driven reclaim allows more parallelism yet introduces races from concurrent membership and reclamation, while single-writer reclaim provides structural atomicity at the cost of a central point.
What carries the argument
ipc_shared_ptr, a pub/sub-aware smart pointer that specializes reference listing so metadata updates occur only on 0-to-1 transitions for each subscriber.
If this is right
- Global communication for lifetime management drops by roughly an order of magnitude compared with standard distributed reference counting.
- Owner-driven reclamation scales with the number of processes but requires verifying a larger set of concurrent membership and reclamation races.
- Single-writer reclamation guarantees atomicity by centralizing decisions, removing most race conditions at the expense of a potential bottleneck.
- At the scale of a large application with 200 topics, two subscribers each, and 100 Hz, the single-writer approach yields lower end-to-end tail latency than the owner-driven alternative.
Where Pith is reading between the lines
- The same 0-to-1 restriction pattern could be applied to other pub/sub frameworks outside robotics to reduce cross-process coordination cost.
- Implementers could measure the exact communication reduction on hardware with higher latency interconnects to confirm the order-of-magnitude claim holds under different network conditions.
- The preference for single-writer simplicity suggests that, for many practical workloads, avoiding complex race analysis outweighs the theoretical scalability gain of fully distributed reclamation.
Load-bearing premise
The publish/subscribe model supplies enough structure that reference-count changes stay limited to straightforward 0-to-1 events per subscriber and that crashes plus retention rules can be handled without further global coordination.
What would settle it
A workload in a publish/subscribe system using ipc_shared_ptr where the volume of global reference metadata messages stays comparable to ordinary distributed counting, or where a publisher reclaims an object while a subscriber still holds a valid reference after a crash.
Figures
read the original abstract
True zero-copy Inter-Process Communication (IPC) in publish/subscribe (pub/sub) middleware such as Robot Operating System 2 (ROS 2) requires subscribers to reference message objects in publisher-owned shared memory. Objects must not be reclaimed while referenced, yet must eventually be reclaimed, with correct handling of crash recovery and Transient Local QoS retention requirements. We propose ipc_shared_ptr, a pub/sub-aware smart pointer for cross-process message lifetime management. ipc_shared_ptr exploits pub/sub structural properties to specialize Birrell's reference listing, limiting global metadata updates to per-subscriber 0<->1 transitions and achieving an order-of-magnitude reduction in global communication over general-purpose distributed reference counting. We analyze the key metadata management tradeoff: scalability versus implementation simplicity. Owner-driven reclaim offers greater scalability, but concurrent membership changes and reclamation decisions produce races that widen the correctness-verification state space. Single-writer achieves structural atomicity, eliminating this complexity at the cost of a centralized bottleneck. iceoryx2 (owner-driven reclaim) and Agnocast -- a true zero-copy ROS 2 IPC middleware sharing the publisher's heap with subscribers and adopting ipc_shared_ptr with single-writer -- embody each architecture. Comparative evaluation at the scale of Autoware -- the largest open-source ROS 2 application -- confirms that single-writer achieves sufficient scalability: at 200 topics, two subscribers per topic and 100 Hz, Agnocast's E2E p99.9 is 2.9x lower than iceoryx2's, justifying implementation simplicity over owner-driven reclaim.
Editorial analysis
A structured set of objections, weighed in public.
Referee Report
Summary. The manuscript introduces ipc_shared_ptr, a publish/subscribe-aware smart pointer for cross-process object lifetime management in zero-copy IPC for systems such as ROS 2. It specializes Birrell's reference listing by exploiting pub/sub structural properties to restrict global metadata updates to per-subscriber 0<->1 transitions, claiming an order-of-magnitude reduction in global communication compared to general-purpose distributed reference counting. The paper analyzes the scalability versus implementation simplicity tradeoff between owner-driven reclaim (iceoryx2) and single-writer (Agnocast) architectures, with the latter providing structural atomicity. A comparative latency evaluation at Autoware scale (200 topics, two subscribers per topic, 100 Hz) reports Agnocast achieving 2.9x lower E2E p99.9 latency than iceoryx2.
Significance. If the central claims hold, the work provides a practical contribution to efficient cross-process memory management in high-performance pub/sub middleware, with relevance to robotics and autonomous systems. The explicit analysis of the owner-driven versus single-writer tradeoff and the provision of two concrete implementations (iceoryx2 and Agnocast) are strengths. The latency evaluation conducted at the scale of the largest open-source ROS 2 application (Autoware) demonstrates real-world applicability and supports the choice of single-writer for sufficient scalability.
major comments (1)
- [Abstract] Abstract: The central claim that ipc_shared_ptr achieves an order-of-magnitude reduction in global communication by limiting updates to per-subscriber 0<->1 transitions, while also handling crash recovery and Transient Local QoS without additional global coordination, lacks direct empirical support. The reported evaluation measures only E2E p99.9 latency (with Agnocast 2.9x lower than iceoryx2 at 200 topics, 2 subscribers/topic, 100 Hz) but does not count metadata messages, inject crashes, or test late-joiner retention, leaving the specialization of Birrell's reference listing and the 'no additional coordination' property unvalidated.
Simulated Author's Rebuttal
We thank the referee for the constructive review and recommendation for major revision. We address the single major comment below.
read point-by-point responses
-
Referee: [Abstract] Abstract: The central claim that ipc_shared_ptr achieves an order-of-magnitude reduction in global communication by limiting updates to per-subscriber 0<->1 transitions, while also handling crash recovery and Transient Local QoS without additional global coordination, lacks direct empirical support. The reported evaluation measures only E2E p99.9 latency (with Agnocast 2.9x lower than iceoryx2 at 200 topics, 2 subscribers/topic, 100 Hz) but does not count metadata messages, inject crashes, or test late-joiner retention, leaving the specialization of Birrell's reference listing and the 'no additional coordination' property unvalidated.
Authors: We agree that the abstract would be strengthened by distinguishing design-derived properties from direct empirical measurements. The order-of-magnitude reduction is obtained by specializing Birrell reference listing to pub/sub semantics, restricting global metadata updates exclusively to per-subscriber 0<->1 transitions; this yields an analytical bound of O(S) metadata messages per object lifetime (S = subscribers) versus O(R) for general reference counting (R = total references). The bound is derived in the design section and is independent of the evaluation. The reported Autoware-scale E2E p99.9 latency comparison (2.9x improvement) serves as an end-to-end proxy for the resulting overhead reduction under realistic load. Crash recovery and Transient Local QoS retention are guaranteed by construction through local state and the single-writer/owner-driven architectures, without extra global coordination; both iceoryx2 and Agnocast implementations embody these invariants. We acknowledge, however, that the evaluation does not contain explicit metadata-message counters, fault-injection experiments, or late-joiner retention tests. In revision we will (1) add a microbenchmark quantifying global metadata traffic for both architectures and (2) expand the abstract and evaluation discussion to separate analytical guarantees from measured results. This constitutes a partial revision. revision: partial
Circularity Check
No significant circularity; design specialization stands independently
full rationale
The paper's central argument specializes Birrell's reference listing using pub/sub structural properties to restrict updates to per-subscriber 0<->1 transitions. This is presented as a direct consequence of domain assumptions (subscriber membership, Transient Local QoS, crash recovery) rather than any fitted parameter, self-definition, or self-citation chain. No equations or predictions reduce to inputs by construction; the evaluation reports measured latency under specific workloads without claiming statistical forcing or renaming of known results. The architecture tradeoff (owner-driven vs. single-writer) is analyzed for correctness and scalability without circular reduction. External citation to Birrell provides independent grounding, and no load-bearing premise collapses to prior author work.
Axiom & Free-Parameter Ledger
axioms (2)
- domain assumption Pub/sub structural properties restrict reference-count transitions to per-subscriber 0<->1 events.
- domain assumption Crash recovery and Transient Local QoS can be satisfied by the reclaim policy without additional coordination.
invented entities (1)
-
ipc_shared_ptr
no independent evidence
Reference graph
Works this paper leans on
-
[1]
Work in progress: Middleware-transparent callback enforcement in commodi- tized component-oriented real-time systems,
T. Ishikawa-Aso, A. Yano, T. Azumi, and S. Kato, “Work in progress: Middleware-transparent callback enforcement in commodi- tized component-oriented real-time systems,” inProceedings of IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS). IEEE, 2025, pp. 426–429
2025
-
[2]
The many faces of publish/subscribe,
P. T. Eugster, P. A. Felber, R. Guerraoui, and A.-M. Kermarrec, “The many faces of publish/subscribe,”ACM computing surveys (CSUR), vol. 35, no. 2, pp. 114–131, 2003
2003
-
[3]
Open Robotics
(2024) ROS 2 documentation. Open Robotics. Accessed Apr. 16, 2024. [Online]. Available: https://docs.ros.org/en/rolling/
2024
-
[4]
Eclipse iceoryx2,
Eclipse Foundation, “Eclipse iceoryx2,” https://github.com/ eclipse-iceoryx/iceoryx2, 2024, accessed: 2026-03-03
2024
-
[5]
ROS 2 Agnocast: Supporting unsized message types for true zero-copy publish/subscribe IPC,
T. Ishikawa-Aso and S. Kato, “ROS 2 Agnocast: Supporting unsized message types for true zero-copy publish/subscribe IPC,” inProceed- ings of International Symposium on Real-Time Distributed Computing (ISORC). IEEE, 2025, pp. 01–10
2025
-
[6]
A survey of distributed garbage collec- tion techniques,
D. Plainfossé and M. Shapiro, “A survey of distributed garbage collec- tion techniques,” inInternational Workshop on Memory Management. Springer, 1995, pp. 211–249
1995
-
[7]
Birrell, D
A. Birrell, D. Evers, G. Nelson, S. Owicki, and E. Wobber,Distributed garbage collection for network objects. Digital Equipment Corporation Systems Research Center, 1993
1993
-
[8]
An open approach to autonomous vehicles,
S. Kato, E. Takeuchi, Y . Ishiguro, Y . Ninomiya, K. Takeda, and T. Hamada, “An open approach to autonomous vehicles,”IEEE Micro, vol. 35, no. 6, pp. 60–68, 2015
2015
-
[9]
Autoware on board: Enabling autonomous vehicles with embedded systems,
S. Kato, S. Tokunaga, Y . Maruyama, S. Maeda, M. Hirabayashi, Y . Kitsukawa, A. Monrroy, T. Ando, Y . Fujii, and T. Azumi, “Autoware on board: Enabling autonomous vehicles with embedded systems,” in Proceedings of ACM/IEEE International Conference on Cyber-Physical Systems (ICCPS). IEEE, 2018, pp. 287–296
2018
-
[10]
About quality of service settings,
Open Robotics, “About quality of service settings,” https://docs.ros.org/ en/rolling/Concepts/Intermediate/About-Quality-of-Service-Settings. html, 2024, accessed: 2026-03-03
2024
-
[11]
About internal ROS 2 interfaces,
——, “About internal ROS 2 interfaces,” https://docs.ros.org/en/rolling/ Concepts/Advanced/About-Internal-ROS-2-Interfaces.html, 2024, ac- cessed: 2026-03-03
2024
-
[12]
Issue #2201: Primitives only zero copy transport,
ROS 2 Contributors, “Issue #2201: Primitives only zero copy transport,” https://github.com/ros2/rclcpp/issues/2201, 2023, accessed: 2026-03-03
2023
-
[13]
Autoware v1.7.1,
The Autoware Foundation, “Autoware v1.7.1,” https://github.com/ autowarefoundation/autoware/tree/1.7.1, 2025, accessed: 2026-03-03
2025
-
[14]
Distributed garbage collection using reference counting,
D. I. Bevan, “Distributed garbage collection using reference counting,” inInternational Conference on Parallel Architectures and Languages Europe. Springer, 1987, pp. 176–187
1987
-
[15]
An efficient garbage collection scheme for parallel computer architectures,
P. Watson and I. Watson, “An efficient garbage collection scheme for parallel computer architectures,” inProceedings of International Conference on Parallel Architectures and Languages Europe. Springer, 1987, pp. 432–443
1987
-
[16]
pthread_mutexattr_getrobust, pthread_mutexattr_setrobust— IEEE std 1003.1-2017,
IEEE and The Open Group, “pthread_mutexattr_getrobust, pthread_mutexattr_setrobust— IEEE std 1003.1-2017,” https://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_ mutexattr_getrobust.html, 2018, accessed: 2026-03-03
-
[17]
Announcing iceoryx2 v0.3.0,
C. Eltzschig, “Announcing iceoryx2 v0.3.0,” https://ekxide.io/blog/ iceoryx2-0-3-release/, Apr. 2024, accessed: 2026-03-03
2024
-
[18]
Create decentralized service artifacts cleanup API,
——, “Create decentralized service artifacts cleanup API,” https://github. com/eclipse-iceoryx/iceoryx2/issues/96, Jan. 2024, GitHub Issue #96, eclipse-iceoryx/iceoryx2. Accessed: 2026-03-03
2024
-
[19]
Announcing iceoryx2 v0.5.0,
——, “Announcing iceoryx2 v0.5.0,” https://ekxide.io/blog/ iceoryx2-0-5-release/, Dec. 2024, accessed: 2026-03-03
2024
-
[20]
Agnocast v2.3.0,
Autoware Foundation, “Agnocast v2.3.0,” https://github.com/ autowarefoundation/agnocast/tree/2.3.0, 2025, gitHub repository, accessed 2026-04-23
2025
-
[21]
Cros-rt: Cross-layer priority scheduling for predictable inter-process communication in ros 2,
S. Kim, J. Song, K. Lee, S. Oh, and H. S. Chwa, “Cros-rt: Cross-layer priority scheduling for predictable inter-process communication in ros 2,” inProceedings of IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS). IEEE, 2025, pp. 202–214
2025
-
[22]
Indirect reference counting: A distributed garbage col- lection algorithm,
J. M. Piquer, “Indirect reference counting: A distributed garbage col- lection algorithm,” inProceedings of the International Workshop on Parallel Architectures and Languages Europe (PARLE), ser. Lecture Notes in Computer Science, vol. 505. Springer, 1991, pp. 150–165
1991
-
[23]
Generational reference counting: A reduced- communication distributed storage reclamation scheme,
B. Goldberg, “Generational reference counting: A reduced- communication distributed storage reclamation scheme,” inProceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI). ACM, 1989, pp. 313–321
1989
-
[24]
Garbage collecting the Internet: A survey of distributed garbage collection,
S. E. Abdullahi and G. A. Ringwood, “Garbage collecting the Internet: A survey of distributed garbage collection,”ACM Computing Surveys, vol. 30, no. 3, pp. 330–373, 1998
1998
-
[25]
Hazard pointers: Safe memory reclamation for lock- free objects,
M. M. Michael, “Hazard pointers: Safe memory reclamation for lock- free objects,”IEEE Transactions on Parallel and Distributed Systems, vol. 15, no. 6, pp. 491–504, 2004
2004
-
[26]
Practical lock-freedom,
K. Fraser, “Practical lock-freedom,” Ph.D. dissertation, University of Cambridge, 2004, technical Report UCAM-CL-TR-579
2004
-
[27]
Read-copy update: Using exe- cution history to solve concurrency problems,
P. E. McKenney and J. D. Slingwine, “Read-copy update: Using exe- cution history to solve concurrency problems,” inProceedings of the International Conference on Parallel and Distributed Computing and Systems (PDCS), 1998, pp. 509–518
1998
-
[28]
Tzc: Efficient inter-process communication for robotics middleware with partial serialization,
Y .-P. Wang, W. Tan, X.-Q. Hu, D. Manocha, and S.-M. Hu, “Tzc: Efficient inter-process communication for robotics middleware with partial serialization,” in2019 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). IEEE, 2019, pp. 7805–7812
2019
-
[29]
Smart pointers and shared memory synchronisation for efficient inter-process communication in ROS on an autonomous vehicle,
C. Iordache, S. M. Fendyke, M. J. Jones, and R. A. Buckley, “Smart pointers and shared memory synchronisation for efficient inter-process communication in ROS on an autonomous vehicle,” inProceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). IEEE, 2021, pp. 6441–6448
2021
-
[30]
Eclipse iceoryx: True zero-copy inter-process- communication,
Eclipse Foundation, “Eclipse iceoryx: True zero-copy inter-process- communication,” https://github.com/eclipse-iceoryx/iceoryx, 2024, ac- cessed: 2026-03-03
2024
-
[31]
Shared memory exchange via Eclipse iceoryx — Eclipse Cyclone DDS documentation,
Eclipse Cyclone DDS contributors, “Shared memory exchange via Eclipse iceoryx — Eclipse Cyclone DDS documentation,” https://cyclonedds.io/docs/cyclonedds/latest/shared_memory/shared_ memory.html, 2024
2024
-
[32]
Flexible zero-copy IPC for processing chains in ROS 2,
X. Luo, X. Jiang, H. Liang, Y . Tang, N. Guan, and W. Yi, “Flexible zero-copy IPC for processing chains in ROS 2,”IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2025
2025
discussion (0)
Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.