Embodied AI Glossary中文

Zero-Copy (Shared-Memory IPC)

零拷贝Advanced

Passing large data between processes by sharing a memory location instead of copying the content.

Zero-copy refers to inter-process communication (IPC) in which the sender writes data directly into a block of shared memory that both sides can access, and the receiver gets only a reference to that memory rather than a fresh copy of it. On a robot, camera images, depth maps, and point clouds routinely run to tens or hundreds of megabytes per second; if every subscriber has to go through serialization plus a copy, CPU usage and latency both climb noticeably. Eclipse iceoryx is middleware built specifically for this; ROS 2 achieves zero-copy through loaned messages combined with iceoryx or Fast DDS's shared-memory transport, and within a single process, composable nodes can also use intra-process communication. The limitation is that it generally only works on a single machine, and works best when messages are a fixed size.

ExampleEnable Fast DDS shared-memory transport between a camera driver and a detection node in ROS 2, so 1080p images are no longer copied frame by frame, cutting end-to-end latency.

Also called
shared-memory communication, zero-copy communication
Related
Eclipse iceoryx · Composable Nodes (Components) & Intra-process Communication · Robot Operating System 2 · Data Distribution Service · Middleware · Control Latency
Sources
Eclipse iceoryx
Configure Zero Copy Loaned Messages (ROS 2 Documentation)

See it in the full glossary →