Messaging Module

The Messaging module benchmarks the SMA (Simple Messaging Architecture) layer, which provides publish-subscribe messaging abstractions on top of the link layer.

Overview

The SMA layer adds messaging semantics including:

  • Channel-based pub/sub

  • Message routing

  • Quality of Service (QoS) levels

  • Multicast support

This benchmark measures the overhead of these abstractions compared to raw link layer performance.

Test Programs

Sender

Class: com.neeve.perf.sma.Sender

Publishes messages to a channel.

Receiver

Class: com.neeve.perf.sma.Receiver

Subscribes to and receives messages from a channel.

Running Benchmarks

Basic Pub/Sub Test

On Receiver Machine:

On Sender Machine:

Interpreting Results

The SMA layer adds minimal overhead over the link layer:

  • Link Layer: ~10µs

  • SMA Layer: ~12-15µs

  • Overhead: ~2-5µs for routing and QoS

Quality of Service

Guaranteed Delivery

Ensures all messages are delivered in order:

Characteristics:

  • Reliable delivery

  • In-order processing

  • Flow control

  • Slightly higher latency

Best Effort

Allows message loss for lower latency:

Characteristics:

  • Lower latency

  • Higher throughput

  • May lose messages under load

Next Steps

Last updated