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
Review Link Module for transport layer benchmarks
Review AEP Module for end-to-end benchmarks
Return to Modules Overview for other modules
Last updated

