This proposal has been approved and the Eclipse iceoryx project has been created.
Visit the project page for the latest information and development.

Eclipse iceoryx

Wednesday, May 29, 2019 - 05:09 by Andreas Riexinger
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the community. Please login and add your feedback in the comments section.
Project
Parent Project
Proposal State
Created
Background

iceoryx is an inter-process communication (IPC) middleware for POSIX based operating systems. It features shared memory capabilities which allow a true zero-copy data transfer.

Originating from the automotive domain, it is crucial to transfer a huge amount of data between multiple processes to realize driver assistance systems or automated driving applications. Moreover, the same efficient communication mechanism can be applied to a broader range of use cases, e.g. in the field of robotics or game development.

Scope

Eclipse iceoryx provides algorithms and libraries for shared memory communication on POSIX operating systems.

Description

In domains like automotive, robotics or gaming, a huge amount of data must be transferred between different parts of the system. If these parts are actually different processes on a POSIX based operating system like Linux, this huge amount of data has to be transferred via an inter-process-communication (IPC) mechanism.

The mechanisms provided by the operating system, like message queues, normally require to copy the data and are subject to context switches between user and kernel space. In fact, it is often not only one but many copies of the transferred data between the sender and the receiver. If it comes to GBytes/s data exchange rates, avoiding these copies becomes a crucial factor.

iceoryx is a middleware with a zero-copy shared memory approach which is optimized for the huge data inter-process-communication.

Why Here?

The OpenADx working group is currently under preparation for becoming an official Eclipse WG. OpenADx information are currently hosted at the Eclipse Wiki.

Future Work

This project is work in progress. New features will be added, also in exchange with feedback coming from the community. The goal is to have a code base that is production ready.

This work will be presented in the automotive and robotics community. Especially, there will be a binding to the ROS2 software stack. Yet, the iceoryx middleware is a piece of functionality that can be integrated in other communication frameworks.

Project Scheduling

Initial contribution is planned for end of October 2019

Project Leads
Committers
Michael Poehnl
Mentors
Interested Parties

Hopefully many others soon.

ROS will be one of the potential partners/community

We believe that there will be some interest in the OpenADx community.

Initial Contribution

We plan to do the first contribution end of October 2019.

Code ownership is currently at Bosch.

Source Repository Type