Introducing Aeron Transport Selector
Aeron®’s approach of continuous CPU polling and immediate message processing sets the standard for high-performance messaging. However, continuous CPU usage can present a challenge for applications with less frequent workloads. Despite their sporadic activity, these applications persistently consume CPU resources by continuously polling for work.
Aeron Transport Selector enables applications to enter a ‘sleep’ mode when there are no pending messages in their subscriptions, thereby saving the CPU from spinning and wasting CPU cycles. The application is ‘woken up’ for processing by the OS, as soon as a new message arrives. Although this may cause a minor latency, it’s a reasonable compromise for applications with low data rates, particularly when there are multiple application subscriptions. The Aeron Transport Selector provides a more resource-efficient and cost-effective solution for managing data in low-activity applications.
Key Features
Aeron Transport Selector Datasheet
For a detailed overview of Aeron Transport Selector, download the datasheet:
- Introducing Aeron Transport Selector
- AeronSelector Daemon
- AeronSelector API
- Technical Details
- Operational Considerations
Components
Aeron Transport Selector consists of two major components:
Technical Details
Usage assumptions and restrictions:
- All Subscriptions within an Aeron client instance use the same Aeron Transport Selector, with a 1:1 mapping between client and selector instances.
- All Subscriptions and Images using an Aeron Transport Selector share the same application thread for data availability notifications and processing.
- Aeron Transport Selector is not thread-safe nor designed to be called from multiple threads.
- Aeron Transport Selector may introduce some latency.
Operational Considerations
- Available as an Aeron Premium component.
- Supported in the Aeron C and Java driver.
- Compatible with Linux (Ubuntu, RedHat).
- Supports C/C++ & Java clients.
