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.


翻译:在发布/订阅中间件(如机器人操作系统2)中实现真正的零拷贝进程间通信,要求订阅者引用发布者所拥有的共享内存中的消息对象。被引用的对象必须在引用期间不被回收,同时最终仍需被回收,并正确应对崩溃恢复与瞬态本地QoS保留需求。我们提出ipc_shared_ptr,一种面向发布/订阅感知的跨进程消息生命周期管理智能指针。ipc_shared_ptr利用发布/订阅的结构特性对Birrell引用列表进行专门化,将全局元数据更新限制为每个订阅者的0<->1状态转换,相较于通用分布式引用计数,实现了全局通信量一个数量级的降低。我们分析了关键元数据管理权衡:可扩展性与实现简洁性。拥有者驱动的回收具有更高可扩展性,但并发成员变更与回收决策会产生竞态,从而扩大正确性验证的状态空间。单写入者实现了结构原子性,以集中式瓶颈为代价消除了这一复杂性。iceoryx2(拥有者驱动回收)与Agnocast——一种真正零拷贝的ROS 2 IPC中间件,共享发布者堆空间并采用单写入者ipc_shared_ptr——分别体现了两种架构。基于最大开源ROS 2应用Autoware规模的对比评估证实,单写入者能达到足够的可扩展性:在200个主题、每主题2个订阅者且频率100Hz条件下,Agnocast的端到端p99.9延迟比iceoryx2低2.9倍,验证了实现简洁性相对于拥有者驱动回收的合理性。

0
下载
关闭预览

相关内容

自己动手撸一个分布式IM(即时通讯) 系统
51CTO博客
16+阅读 · 2019年3月20日
Python推荐系统框架:RecQ
专知
12+阅读 · 2019年1月21日
NetworkMiner - 网络取证分析工具
黑白之道
16+阅读 · 2018年6月29日
推荐中的序列化建模:Session-based neural recommendation
机器学习研究会
18+阅读 · 2017年11月5日
今日头条推荐系统架构演进之路
QCon
32+阅读 · 2017年6月21日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
VIP会员
最新内容
印度精确打击与指挥架构的断层
专知会员服务
4+阅读 · 7月20日
美空军AI完成F-16战斗机自主空战历史性试飞
专知会员服务
6+阅读 · 7月20日
深入Project Maven:为何人工智能在战场上依然失灵
锻造未来士兵:外骨骼、基因工程与赛博格
专知会员服务
7+阅读 · 7月19日
《无人机蜂群通信技术研究》50页
专知会员服务
10+阅读 · 7月19日
相关VIP内容
相关资讯
相关基金
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
Top
微信扫码咨询专知VIP会员