Mesures du flux CME pour concevoir des récepteurs HFT à faible latence
Résumé
Cette étude examine l’arrivée des paquets de données de marché CME et des transactions du moteur d’appariement, puis s’appuie sur ces mesures pour élaborer des recommandations de conception de récepteurs de trading haute fréquence. Ses données proviennent de plus d’un an d’observations du contrat E-mini Nasdaq-100 à échéance la plus proche, avec les horodatages de la bourse pour les paquets et les transactions, et une vérification sur un récepteur de production en temps réel.
Les auteurs constatent que les pics de transactions sont déterminés par le moteur d’appariement, tandis que l’éditeur espace les paquets sortants à environ 7.5 microsecondes d’intervalle. Si un récepteur traite les paquets dans cet intervalle, les arrivées ne créent pas de file d’attente et un seul thread est privilégié. Au-delà de ce temps de traitement, le rythme des pics peut produire une longue traîne de mise en file d’attente ; répartir le traitement entre deux threads peut réduire cette traîne si cela raccourcit l’étape la plus lente, mais augmente la latence du traitement courant. À proximité de l’intervalle de l’éditeur, l’étude attribue la latence résiduelle de la traîne aux paquets contenant plusieurs messages et à la variabilité du temps de traitement. Ces conclusions concernent le flux mesuré et les conditions du récepteur étudié ; elles n’établissent pas que la même architecture de threads soit optimale pour tous les systèmes.
Idées clés
- Dans les arrivées groupées observées, les pics de transactions du moteur d’appariement comptent davantage que le regroupement des paquets.
- Dans le cadre mesuré, un récepteur qui traite les paquets dans l’intervalle de l’éditeur évite les files d’attente dues aux arrivées.
- Une conception à deux étapes avec threads peut réduire la traîne de latence de mise en file d’attente si elle raccourcit l’étape goulot d’étranglement.
- À proximité de l’intervalle de l’éditeur, le coût par message et la variabilité du temps de traitement comptent davantage que le nombre de threads.
Étiquettes
Texte intégral
# Packets, Transactions and Queues: Design Principles for HFT Systems from a Measurement Study of CME Market Data # Packets, Transactions and Queues: Design Principles for HFT Systems from a Measurement Study of CME Market Data HFT systems are conventionally built as a single-threaded event loop, on the rule that every thread hop adds latency. We test that rule against a measurement study of more than a year of CME market data for the NQ front-month contract, following every packet and matching-engine transaction through the feed's two exchange timestamps, and checking the results against a live production receiver. Packets arrive in near-critical self-exciting clusters that belong to the matching engine's transactions, not to how the exchange packs them. The engine often processes consecutive transactions within a fraction of a microsecond, while the market-data publisher sends at most one packet per publisher period of about 7.5 microseconds, so a burst reaches the receiver as a train of packets one period apart. This yields design principles for HFT systems. First, a receiver that handles each packet within one publisher period never queues on arrivals, however bursty the market; there one thread is best. Second, above that period a queueing tail appears, driven by the timing of transactions, not by packet rate or size, and two threads can be better than one: splitting the servicing chain into two stages on separate threads removes most of the tail at the cost of one hop on the median. Third, only the slowest stage matters, so a split pays only if it shortens it. Fourth, just under the period, where the production receiver runs, the remaining tail comes from multi-message packets and variable service times, and the levers are cost per message and spread of service, not thread count. An analytic framework, a burst-limit throughput identity and an exact reduction of the tandem to a single bottleneck server, supports these results.
Reproduit dans son intégralité avec attribution, conformément à la licence de la source. Licence: abstract CC0
Ce résumé a été rédigé par l’agent de recherche de Stratmill à partir de la source originale ; il n’en est pas une copie.