Link Module
The Link module benchmarks cluster replication link latency, measuring the performance of the low-level transport used for replicating state between cluster members.
Overview
The Link layer provides the foundation for cluster replication in X Platform, offering:
Direct point-to-point communication between cluster members
Minimal overhead transport for state replication
Support for various network protocols (TCP, UDP, InfiniBand, etc.)
This benchmark measures the raw performance capabilities of the replication link layer.
Test Programs
StreamingSender / StreamingReceiver
Measures unidirectional throughput:
Sender Class: com.neeve.perf.link.StreamingSender Receiver Class: com.neeve.perf.link.StreamingReceiver
The sender continuously sends messages to the receiver as fast as possible, measuring maximum sustained throughput.
PingPongSender / PingPongReceiver
Measures round-trip latency:
Sender Class: com.neeve.perf.link.PingPongSender Receiver Class: com.neeve.perf.link.PingPongReceiver
The sender sends a message and waits for a response from the receiver, measuring round-trip time.
Use Cases
Streaming Test
Purpose: Measure maximum throughput Setup: Two machines connected via high-speed network Use Case: Validate network configuration and capacity
Ping-Pong Test
Purpose: Measure minimum latency Setup: Two machines connected via low-latency network Use Case: Validate network tuning and baseline latency
Running Benchmarks
Streaming Throughput Test
On Receiver Machine:
On Sender Machine:
Ping-Pong Latency Test
On Receiver Machine:
On Sender Machine:
Interpreting Results
Throughput Results
Latency Results
Network Configurations
TCP over 10GbE
Typical Results:
Throughput: 1-2M messages/second
Latency: 15-25µs round-trip
TCP over InfiniBand
Typical Results:
Throughput: 2-4M messages/second
Latency: 8-15µs round-trip
RDMA over InfiniBand
Typical Results:
Throughput: 5-10M messages/second
Latency: 2-5µs round-trip
Comparison with Higher Layers
Link layer provides the foundation for cluster replication:
Link Layer: ~10µs (raw replication transport)
Messaging Layer: ~15µs (adds SMA abstractions)
AEP Engine: ~27µs (adds transactions, persistence, full clustering with consensus)
Next Steps
Review Messaging Module for SMA layer benchmarks
Review AEP Module for end-to-end benchmarks
Return to Modules Overview for other modules
Last updated

