Where Is It Going?

The long-term vision for iceoryx2 is to provide a zero-copy data plane that goes beyond efficient communication between processes on a single operating system. The goal is to make the same data plane available across the heterogeneous hardware and software architectures found in modern embedded systems.

looking for funding in implementation available * proof of concept iceoryx2 App iceoryx2 App iceoryx2 App ROS 2 App DDS App ROS 2 App ROS 2 Tool Tunnel Zenoh smoltcp Gateway ROS 2 DDS MQTT IDL & Data Model FlatBuffers Protobuf rmw_iceoryx2 Rust C C++ C# Python Go Lua Java Zig iceoryx2 Bare Metal* A-Core / R-Core Hypervisor Partitions* Operating Systems Android* Linux macOS FreeBSD QNX VxWorks* Windows GPU FPGA Hardware Architectures x86_64 x86_32 AArch64 ARMv7 RISC-V

The iceoryx2 zero-copy data plane across heterogeneous systems

Additional Platforms

Modern systems combine different operating systems, programming languages, and processor architectures.

iceoryx2 already supports a broad range of them, but the goal is to extend this further:

  • more operating systems

  • more programming-language bindings

  • more hardware architectures

Applications should be able to use the same communication concepts across these environments instead of introducing a different communication technology for every platform.

Zero-Copy Beyond POSIX Processes

Shared memory provides efficient zero-copy communication between processes that can access the same memory.

Modern embedded architectures, however, increasingly consist of multiple memory domains. Applications may run on heterogeneous CPU cores, inside separate hypervisor partitions, or use accelerators such as GPUs.

The goal is to extend the data plane across these boundaries, including:

  • communication between application and real-time cores

  • communication across hypervisor partitions

  • direct data exchange between CPUs and GPUs

The underlying memory mechanism may change, and in some cases a copy may be unavoidable, but applications should continue to use the same iceoryx2 communication model.

A Data Plane Easy to Extend

iceoryx2 is intended to remain a data plane rather than grow into a framework that defines the complete software stack.

The goal is therefore to make it increasingly easy to combine iceoryx2 with the technologies that surround the data movement layer.

This includes integration with common data models and IDLs as well as tunnels and gateways for different network protocols. Applications can select the technologies that best fit their architecture while using iceoryx2 as the common zero-copy foundation underneath.

The goal is to expand the capabilities and reach of the data plane without giving up its lean architecture, predictable behavior, and flexibility.

Further Reading

Fundamentals: Gateways and Tunnels

Learn how iceoryx2 can connect the local data plane to networks and other communication technologies.

Gateways and Tunnels
Fundamentals: Cross-Language Support

Learn how applications written in different languages communicate through iceoryx2.

Cross-Language Support
Get Started with iceoryx2

Build and run your first iceoryx2 application.

Quickstart