Aeron Premium Aeron Transport Selector

Aeron Transport Selector

Optimizing CPU Utilization.

  • Aeron PremiumAvailable as an Aeron Premium component.
  • Aeron C and Java driverSupported in the Aeron C and Java driver.
  • LinuxCompatible with Linux (Ubuntu, RedHat).

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

Save CPU Cycles

Eliminates the need for constant CPU polling by allowing applications to sleep when no messages are pending.

Enhanced Efficiency

Improves data processing efficiency by performing reads on subscriptions within a specified timeout.

Resource Management

Offers a tailored approach to managing resources, making it cost-effective for low-activity applications.

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:

AeronSelector Daemon

A single-threaded application daemon that uses the Aeron C API to determine if Subscriptions and Images have data to read, communicating with all of AeronSelector APIs in use for the specified Aeron media driver.

AeronSelector API

A language-specific API for interacting with the AeronSelector daemon to determine whether data is ready to be read and processed.

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.

Aeron Premium Documentation

Explore Aeron Premium Documentation →

Aeron Premium Software Components

Aeron Premium

Aeron Cluster Standby

Ensure high-availability & fault tolerance of critical applications.

Aeron Insights Beta

Gain actionable intelligence on Aeron Cluster health and prevent service interruptions.

Aeron Transport Kernel Bypass

Unlock the full potential of your network.

Aeron Transport Security

Secure Aeron frames on the network.

SBE Domain Mapper Alpha

Increase your team’s velocity while keeping confidence in the results.

Data Retention Regulator

Manage data retention efficiently and ensure compliance with regulatory policies.

Aeron Transport Selector Datasheet