pith. machine review for the scientific record. sign in

arxiv: 2605.04226 · v1 · submitted 2026-05-05 · 💻 cs.OS · cs.DC· cs.RO

Recognition: unknown

ipc_shared_ptr: A Publish/Subscribe-Aware Smart Pointer for Cross-Process Object Lifetime Management

Authors on Pith no claims yet

Pith reviewed 2026-05-08 17:21 UTC · model grok-4.3

classification 💻 cs.OS cs.DCcs.RO
keywords smart pointerinter-process communicationpublish-subscribezero-copyreference countingROS 2distributed memory management
0
0 comments X

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.

True zero-copy communication in publish/subscribe middleware requires subscribers to hold references to publisher-owned message objects in shared memory without preventing eventual reclamation. The paper introduces ipc_shared_ptr to handle cross-process lifetimes while correctly managing crashes and retention rules. It does so by exploiting the structural properties of pub/sub to simplify Birrell-style reference listing, so that only basic 0-to-1 transitions per subscriber ever need global coordination. The result is far less network traffic than general-purpose distributed counting. The authors also compare two reclamation strategies and show through large-scale experiments that a single-writer design keeps latency low enough for practical use.

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

These are editorial extensions of the paper, not claims the author makes directly.

  • 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

Figures reproduced from arXiv: 2605.04226 by Atsushi Yano, Koichi Imai, Shinpei Kato, Takahiro Ishikawa-Aso, Takuya Azumi.

Figure 1
Figure 1. Figure 1: Publish/subscribe system (Robot Operating System 2). view at source ↗
Figure 3
Figure 3. Figure 3: Two-level reference count structure of ipc_shared_ptr. p1, p2 denote distinct ipc_shared_ptr copies in the publisher process to the same message M; publish(p1) publishes M and invalidates all such copies. Of the three counts, only the global reference count belongs to the data plane in view at source ↗
Figure 4
Figure 4. Figure 4: E2E message flow in Agnocast. The subscriber also view at source ↗
Figure 6
Figure 6. Figure 6: Publish, receive, and E2E latency for a representative configuration ( view at source ↗
Figure 7
Figure 7. Figure 7: Latency scaling for publish (left), receive (center), and E2E (right) metrics as a function of the number of topics (top view at source ↗
Figure 8
Figure 8. Figure 8: E2E p99.9 latency heatmaps over (T, S) parameter view at source ↗
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.

Desk editor's note, referee report, simulated authors' rebuttal, and a circularity audit. Tearing a paper down is the easy half of reading it; the pith above is the substance, this is the friction.

Referee Report

1 major / 0 minor

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)
  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

1 responses · 0 unresolved

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
  1. 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

0 steps flagged

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

0 free parameters · 2 axioms · 1 invented entities

The design rests on the domain assumption that pub/sub workloads exhibit only 0<->1 reference transitions per subscriber and that crash recovery can be handled by the chosen reclaim policy without extra global state.

axioms (2)
  • domain assumption Pub/sub structural properties restrict reference-count transitions to per-subscriber 0<->1 events.
    Invoked to justify limiting global metadata updates.
  • domain assumption Crash recovery and Transient Local QoS can be satisfied by the reclaim policy without additional coordination.
    Required for the correctness claims.
invented entities (1)
  • ipc_shared_ptr no independent evidence
    purpose: Pub/sub-aware smart pointer for cross-process lifetime management
    The core contribution; no independent evidence outside the paper.

pith-pipeline@v0.9.0 · 5611 in / 1366 out tokens · 26978 ms · 2026-05-08T17:21:31.328636+00:00 · methodology

discussion (0)

Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.

Reference graph

Works this paper leans on

32 extracted references · 1 canonical work pages

  1. [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

  2. [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

  3. [3]

    Open Robotics

    (2024) ROS 2 documentation. Open Robotics. Accessed Apr. 16, 2024. [Online]. Available: https://docs.ros.org/en/rolling/

  4. [4]

    Eclipse iceoryx2,

    Eclipse Foundation, “Eclipse iceoryx2,” https://github.com/ eclipse-iceoryx/iceoryx2, 2024, accessed: 2026-03-03

  5. [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

  6. [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

  7. [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

  8. [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

  9. [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

  10. [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

  11. [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

  12. [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

  13. [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

  14. [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

  15. [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

  16. [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. [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

  18. [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

  19. [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

  20. [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

  21. [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

  22. [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

  23. [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

  24. [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

  25. [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

  26. [26]

    Practical lock-freedom,

    K. Fraser, “Practical lock-freedom,” Ph.D. dissertation, University of Cambridge, 2004, technical Report UCAM-CL-TR-579

  27. [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

  28. [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

  29. [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

  30. [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

  31. [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

  32. [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