- On modern processors, iceoryx has a latency of less than 1 microsecond for transferring a message, regardless of that message’s size
- When combined with Eclipse Cyclone DDS, the default middleware for ROS 2, Eclipse iceoryx creates a highly robust and performant middleware proven in widely deployed automotive and mission-critical distributed systems
The Eclipse Foundation has announced the release of Eclipse iceoryx Almond, the first official release for this inter-process-communication (IPC) middleware that enables the transmission of large amounts of data in real-time. This makes it ideal for applications that need to exchange immense amounts of data with very low latency, such as automotive applications, robotics, advanced gaming, AI, and much more. By doing so, iceoryx enables new levels of responsiveness while also freeing up runtime resources for other functions within a given application.
Mike Milinkovich, executive director of the Eclipse Foundation said, “Eclipse iceoryx is a great example of open source software addressing a critical industry need. With this release, as well as other projects like Eclipse Cyclone DDS and working groups like OpenADx, I feel that the Eclipse Foundation is quickly becoming the home of developer toolchains and software for autonomous vehicles designed with safety certifications in mind.”
It added, “The technology behind Eclipse iceoryx originated in the automotive domain, and with good reason; the software in a typical, non-autonomous modern car runs over 100 million lines of code. For an autonomous vehicle, that amount of data expands quickly to between 300-500 million lines of code. That same vehicle will need to process up to 10GB/s of sensor data in order to make real-time, safety-critical decisions. Eclipse iceoryx delivers a fast, flexible, and ultra-reliable means of exchanging this amount of data between systems in real time.”
True zero-copy
On modern processors, iceoryx has a latency of less than 1 microsecond for transferring a message, regardless of that message’s size. At this speed, Eclipse iceoryx achieves what is referred to as true zero-copy. It is an end-to-end approach from publishers to subscribers without creating a single copy. Avoiding the copies on the API level is crucial when GBytes of sensor data have to be processed per second on robotics and autonomous driving systems.
It added, “In terms of flexibility, Eclipse iceoryx already supports Linux, QNX, and MacOS as operating systems as well as C and C++ as user APIs. Windows and Rust are coming soon. Even in its first release, Eclipse iceoryx is built for reliability, as the predecessor of iceoryx is running in millions of vehicles worldwide. Eclipse iceoryx is also used in the Robot Operating System (ROS 2) framework for building robot applications as a high-performance IPC transport layer, including deployments in large industrial automation systems”.
When combined with Eclipse Cyclone DDS, the default middleware for ROS 2, Eclipse iceoryx creates a highly robust and performant middleware proven in widely deployed automotive and mission-critical distributed systems. Many iceoryx maintainers come from the safety-critical automotive domain and have constructed Eclipse iceoryx with the necessary requirements for mission-critical, low-latency applications.