The OnixS directConnect: CME iLink 3 Binary Order Entry Handler SDK now supports the SolarflareTM TCPDirect ultra-low latency network stack API to ensure the lowest possible latency and minimal jitter.
So what does this mean in terms of comparative performance? What benchmark performance can we expect between three different approaches of:
First, it is important to note that all OnixS direct market access SDKs, including the OnixS directConnect: CME iLink 3 Binary Order Entry Handler SDK discussed here, include reference implementation source code samples.
These are intended as fast-start reference codes for developers to review, run and adapt to the specific target deployment context. These samples include reference implementation samples include Getting Started samples for connectivity, order entry, storage persistence, SBE Decoding, session scheduling, thread pools, trading clients, and general and TCPDirect specific benchmarks.
We provide the reference implementation benchmark source code samples to encourage firms to execute the benchmarks on the target platforms near the target production deployment context. This provides real benchmark profile results rather than opaque vendor numbers.
As an example, when executing the three scenarios above, representative benchmark profiles are presented as below:
Handler Receive | min: | 34 | median: | 65 | 99th percentile: | 84 |
Handler Send | min: | 44 | median: | 46 | 99th percentile: | 60 |
Handler Send+Receive | min: | 81 | median: | 112 | 99th percentile: | 132 |
OS + Handler Send (depends on the network card, kernel bypass software, OS load) | ||||||
min: | 1782 | median: | 1945 | 99th percentile: | 3639 | |
One-Way (Round-Trip/2) | min: | 3327 | median: | 4131 | 99th percentile: | 4921 |
Handler Receive | min: | 30 | median: | 37 | 99th percentile: | 73 |
Handler Send | min: | 44 | median: | 46 | 99th percentile: | 62 |
Handler Send+Receive | min: | 76 | median: | 84 | 99th percentile: | 124 |
OS + Handler Send (depends on the network card, kernel bypass software, OS load) | ||||||
min: | 454 | median: | 571 | 99th percentile: | 693 | |
One-Way (Round-Trip/2) | min: | 2127 | median: | 2189 | 99th percentile: | 2643 |
Handler Receive | min: | 21 | median: | 23 | 99th percentile: | 34 |
Handler Send | min: | 44 | median: | 46 | 99th percentile: | 56 |
Handler Send+Receive | min: | 66 | median: | 69 | 99th percentile: | 82 |
OS + Handler Send (depends on the network card, kernel bypass software, OS load) | ||||||
min: | 198 | median: | 203 | 99th percentile: | 297 | |
One-Way (Round-Trip/2) | min: | 1804 | median: | 1954 | 99th percentile: | 2180 |
All latencies here are shown in nanoseconds.
The reference environment used for the above was:
The numbers speak for themselves with latency performance showing incremental improvements across the 3 scenarios, and the variance band for the TCPDirect 99th percentile results being much narrower – i.e. less jitter and more deterministic.
To reiterate, these are executions of the OnixS standard benchmark samples for informational comparison. If you’ve read this far, then we’d suggest that you have a closer look and try them yourself.
For more technical information on the OnixS directConnect: CME iLink 3 Binary Order Entry Handler SDK – and the SolarflareTM Onload and TCPDirect features – refer to the OnixS directConnect: CME iLink 3 Binary Order Entry Handler SDK Programming Guide.
To request a free evaluation of the OnixS directConnect: CME iLink 3 Binary Order Entry Handler SDK to support CME Globex iLink 3 and the BrokerTec migration to CME Globex, register to download an evaluation SDK.