Today’s traders are faced with not only implementing the lowest possible latency trading server but also with the associated detailed measurement of the latency of the trades running on it. Such detailed trading server instrumentation has typically required additional costly hardware and associated support. Now, Solarflare offers the unique ability to instrument trade performance right from the Solarflare Flareon® Ultra server I/O adapter without any additional hardware.
Solarflare's Flareon Ultra adapters with the Performance Monitor license coupled with the Precision Time license enable applications using OpenOnload® to access accurate, hardware time stamps associated with the time that frames arrived at or left the server adapter. Performance Monitor enables the ability to instrument application network performance on the server with no specialized external hardware. An example use case: financial trading firms who are concerned about how long it takes to turn around trades can obtain the time stamps they need to calculate server trade latencies on a per-trade basis.
Coupled with the Precision Time license, any time stamps obtained by applications from the Linux operating system are directly comparable to those associated with incoming and outgoing frames obtained from the sockets interface. Applications can thus be instrumented using accurate software time stamps and these instrumentation points can be ingress or egress events.
Calls to the Linux Sockets Time Stamping API, produce time stamps associated with every frame (incoming and outgoing), and may be consumed by the application both in-band and out-of-band for subsequent external analysis. Additionally, these time stamps may be written to the application's log or even used by the application to measure its own performance. The Flareon Ultra adapters are not just a state-of-the-art network adapters but have the ability to simultaneously allow their networking performance to be measured.
In the diagram above, two separate OpenOnload Stacks with one sending and one receiving data each from a different port are shown. This functionality is available with a single OpenOnload stack or any currently supported number.