FIX Engines can have their latency reduced by up to 95% by using Speedus, Torusware flagship product available for free at https://torusware.com, in a non-intrusive way, neither changing a single line of code nor requiring any infrastructure upgrade.
This is the result of a Proof-of-Concept ran on an Intel-based high-performance Linux Server. The FIX Engine receives data from a client and then exchanges FIX messages to the market. The measured latencies are those of the client-FIX Engine connection, with both peers running in the same server. By reducing the latency (and especially the variability) in this connection, clients can reduce the latency in an environment under their control.
Next graph shows the measured latency of the baseline scenario, using TCP/IP loopback connection, against Speedus. For clarity and comparison purposes the latency results (Y axis) are normalized between 0 and 1, being 1 the peak latency in the default scenario with TCP/IP. The X axis shows the percentile latencies, plotted in a logarithmic scale, focusing on the higher percentile events which are the ones which determine the most the profitability of your business. Since these latency spikes tend to occur during busy market periods they are a good reference for showing how Speedus can reduce the most risky exposure to the markets.
The results show that Torusware Speedus reduces latency by 95% (at 99.99% percentile), and by 75% (at max latency). Finally, the usage of Speedus allowed to reduce always the baseline latency (around 25% on average).
Financial trading application might underperform significantly if inaccurate (out-of-date) prices go into the market. Furthermore, most business opportunities are found/lost at some specific times, where systems experience unpredictable high-load (e.g., when capital markets opens and closes, and online sales promotions). Thus, ensuring predictable and low latency response times is key in these businesses.
The usage of Speedus is quite straight forward, you need to:
- Copy a library, available for Linux and Solaris, in your disk
- Set LD_LIBRARY_PATH to the directory containing Speedus library
- Then start your application with Speedus preloaded.
Here you will find some examples on starting your application:
- LD_PRELOAD=libspeedus.so application
- LD_PRELOAD=libspeedus.so script.sh
- Setting LD_PRELOAD=libspeedus.so in your environment and then start your application as usual
As you can see, you do not need to change a single line of code of your application, quite interesting in case of third party applications where you can not have access to the source code, or for legacy applications, quite painful to recompile in case of any updates in the code.
For further information please contact us at info@torusware.com
About Speedus
Speedus is a high-performance socket library which is able to exchange data significantly faster (below 200 nanoseconds at the socket level) than using standard sockets, while being binary compatible with standard sockets.
About Torusware
Torusware aims to be the world leader in optimization & acceleration software for BUS (localhost, intra-server) communications for on premises and cloud applications in a completely non-intrusive way (no changes in software / hardware are required).