Monday, 10 October 2011

Technical Informational Note: OnixS C++ EUREX EBS FAST Decoder Benchmarks

www.onixs.biz

Technical Informational Note:

OnixS C++ EUREX EBS FAST Decoder Benchmarks


London: Monday 10th October 2011 - OnixS offers the OnixS selfConnect C++ range of FIX Engine and FAST Encoder/Decoder class library implementations that can be used with any ANSI C++ compliant compiler to provide high performance FIX standards based solutions for mission-critical trading systems.

The FAST Encoder/Decoder implementation is used within the OnixS directConnect venue specific solutions where the venue provides FAST Encoded market data feeds. The Eurex Enhanced Broadcast Solution (Eurex EBS) is one such example.

The OnixS directConnect: Eurex EBS Market Data Handler provides functionality well beyond just the FAST Market Data decoding. Features include synchronization and recovery, full book management with full Order book depth for options and futures products, and an individual subscription/callback API model allowing the selection of specific product groups. This solution is designed to be closely coupled to automated trading strategies by offloading the book management tasks to a specialized implementation.

This OnixS Technical Informational Note describes and is specific to the Eurex EBS FAST Decoding performance profile for general reference.

What was benchmarked:

The Packet decoding is a single Eurex EBS FAST Encoded chunk that contains 3 messages. For this measurement we took a single sample FAST Encoded Packet, and decoded it 1 million times to measure the performance.

For the FGBM (Euro-Bond Futures), FSMI (SMI Futures) and FDAX (DAX Futures) Market Data Stream results we sampled the live Eurex EBS production market data streams for a 1 hour period and then analysed the performance.

Performance Profile Results:

Throughput (messages per second)
Platforms
Data Stream
Win x86
Win x64
Linux RHEL 6 x64
Packet (3 messages)
3,409,090
4,497,751
5,084,745
FGBM
2,218,132
2,856,701
3,526,895
FSMI
2,209,175

2,709,691

3,490,218
FDAX
2,255,284

3,022,018

3,432,149
Latency (nanoseconds per message)
Platforms
Data Stream
Win x86
Win x64
Linux RHEL 6 x64
Packet (3 messages)
293
222
197
FGBM
451
350
284
FSMI
453
369
287
FDAX
443
331
291



Environment:

We benchmarked on a common hardware platform using 3 different Operating System and compiler environments:

The common hardware platform was an Intel Core i7-2600 @3.4Ghz (Server equivalent Intel Xeon E3-1275) and 16Gb of DDR3 RAM @ 1333Mhz.

For Windows we used Windows 7 Ultimate 64-bit edition with Microsoft Visual C++ 2010 with the x86 and x64 test cases compiled for 32-bit and 64-bit respectively.

The Linux environment was Red Hat Enterprise Linux (RHEL) 6, 64-bit (x64) using gcc 4.4.4.

Summary:

We observed a notable throughput and latency advantage with Windows x64 over Windows x86, and further improvement with Linux RHEL 6 over both Windows x86 and x64 performance. The throughput results show Windows x64 being between 23-34% faster than Windows x86, and in turn RHEL 6 x64 being between 13-29% faster than Windows x64.

The latency performance shows a similar profile – Windows x64 being between 19-25% less than Windows x86, and RHEL 6 x64 being an additional 11-22% less.

Iterating over a single sample Eurex EBS FAST Encoded Packet shows maximum throughput in excess of 5 million messages per second on a Linux RHEL 6 x64 platform with a latency of 197 nanoseconds.

The sampled Eurex EBS Market Data Streams on RHEL x64 show throughput in the range of 3.4-3.5 million messages per second, with latency in the range of 284-291 nanoseconds.

 

This Technical InfoNote is a baseline performance profile for informational purposes only. The only performance that matters is that which users of OnixS solutions see within the target deployment platforms and context. We therefore provide the benchmark code and fast-start reference implementation source code within our standard distributions. We encourage you to execute these tests to measure and profile your own results.

Click here to download this OnixS TechInfoNote in pdf format.


- Ends -