hft benchmarking; done wrong. part II
In the last post, we discussed how to better measure throughput against single message handoff latencies, which are useful when we want to benchmark trading systems.
These profiles give us a better latency characteristic of a trading system that has queue depth ~ O(1). However, we know that market data is bursty. We are interested in what affects the shape of the latency distribution under load.
Under load, latency also needs to take into consideration queuing time in the pipeline. In effect, this queuing is incurred at all the network hops, as well as the system’s NIC, kernel processing stages etc…here we only look at app-layer queues. Bursty feeds push arrival rate above instantaneous service capacity and force backlog; once backlog exists, latency becomes backlog-dependent.


