Packets, Transactions and Queues: Design Principles for HFT Systems from a Measurement Study of CME Market Data
Durch die Analyse von über einem Jahr an CME-Marktdaten stellt diese Arbeit das konventionelle einläufige HFT-Design infrage, indem sie aufzeigt, dass ein einzelner Thread für die Paketverarbeitung innerhalb eines Teilzeitraums ausreicht, eine zweistufige Thread-Architektur jedoch die durch Transaktionsschübe verursachten Warteschlangenschwänze signifikant reduzieren kann, sofern die Aufteilung die langsamste Phase des Systems verkürzt.
Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
In der Welt des Hochfrequenzhandels, in der Computer Aktien in Bruchteilen von Sekunden kaufen und verkaufen, ist Geschwindigkeit nicht nur ein Vorteil; sie ist das gesamte Spiel. Diese Systeme arbeiten nach einer einfachen Prämisse: Wenn man Marktinformationen schneller verarbeiten kann als jeder andere, kann man von winzigen Preisunterschieden profitieren, bevor diese verschwinden. Um dies zu erreichen, bauen Ingenieure spezialisierte Software, die einem ständigen Datenstrom von den Börsen zuhört, diesen dekodiert und Entscheidungen in Mikrosekunden trifft. Jahrelang operierte die Branche nach einer strengen Regel: Behalte den kritischsten Teil dieser Software auf einem einzigen Prozessorkern. Die Logik dahinter war, dass das Verschieben von Daten zwischen verschiedenen Kernen oder „Threads“ zu langsam und riskant sei, da es Verzögerungen verursache, die das System aus dem Takt bringen würden. Dieser Ansatz behandelte die Software wie einen einzelnen, fokussierten Arbeiter, der niemals eine Aufgabe übergibt, im Glauben, dass jede Unterbrechung mehr kosten würde als die Arbeit selbst.
Dieses lang gehegte Glaubensbekenntnis stützte sich jedoch auf eine Annahme darüber, wie die Marktdaten eintreffen: dass sie als stetiger, zufälliger Strom ankommen, wie Regentropfen, die in unvorhersehbaren Intervallen fallen. Wenn dies wahr wäre, wäre der Single-Worker-Ansatz tatsächlich der schnellste. Aber was, wenn die Daten nicht zufällig eintreffen? Was, wenn sie in plötzlichen, intensiven Schüben auftreten, bei denen tausende von Aktualisierungen im Blinzeln eines Auges das System treffen? Eine neue Messstudie realer Marktdaten der Chicago Mercantile Exchange deutet darauf hin, dass die alte Regel für die geschäftigsten Momente falsch sein könnte. Durch die Verfolgung von Milliarden von Datenpaketen über mehr als ein Jahr hinweg entdeckten Forscher, dass Marktdaten nicht zufällig eintreffen. Stattdessen kommen sie in engen Clustern an, wobei ein Ereignis eine schnelle Abfolge anderer Ereignisse auslöst und so ein „selbst-exzitierendes“ Muster erzeugt. Diese Entdeckung verändert die Mathematik der Geschwindigkeit. Es stellt sich heraus, dass es die Arbeit beim Eintreffen dieser spezifischen, geclusterten Bursts tatsächlich schneller und zuverlässiger macht, die Arbeit auf mehrere Prozessoren aufzuteilen, vorausgesetzt, das System ist so konzipiert, dass es den Rhythmus der Bursts korrekt verarbeitet.
Die Forscher begannen damit, den rohen Datenstrom zu untersuchen, während er von der Matching Engine der Börse – wo Aufträge verarbeitet werden – zu den Computern der Händler reist. Sie verfolgten jedes einzelne Datenpaket und notierten exakt, wann es die Börse verließ und wann es ankam. Sie fanden heraus, dass das System der Börse wie ein Torwächter mit einer festen Geschwindigkeitsbegrenzung fungiert. Selbst wenn die Matching Engine Aufträge unglaublich schnell verarbeitet – manchmal innerhalb eines Bruchteils einer Mikrosekunde nacheinander – kann der Datenpublisher der Börse sie nicht alle gleichzeitig senden. Er sendet sie eins nach dem anderen, mit einem Mindestabstand von etwa 7,5 Mikrosekunden zwischen jedem Paket. Dies erzeugt einen Zug von Datenpaketen, die mit einem stetigen, rhythmischen Abstand am Computer des Händlers ankommen, ungeachtet dessen, wie chaotisch die Aktivität an der Quelle war.
Dieses rhythmische Eintreffen ist der Schlüssel zu den neuen Erkenntnissen. Die Forscher bauten eine Computersimulation, um zu testen, wie verschiedene Software-Designs mit diesem spezifischen Rhythmus umgehen würden. Sie verglichen den traditionellen Single-Threaded-Ansatz, bei dem ein Prozessor die gesamte Arbeit erledigt, mit einer mehrstufigen Pipeline, bei der die Arbeit sequenziell auf mehrere Prozessoren verteilt wird. In ihrer Simulation speisten sie das System mit dem exakten Timing der realen Datenpakete. Die Ergebnisse waren eindeutig: Für Aufgaben, die länger dauern als der 7,5-Mikrosekunden-Abstand zwischen den Paketen, erzeugt der Single-Threaded-Ansatz einen massiven Rückstau. Wenn ein Burst von Daten eintrifft, wird der einzelne Prozessor überfordert, und die Verzögerung für die letzten paar Pakete in dem Burst wächst auf das Vielfache der eigentlichen Aufgabe an. Diese Verzögerung ist der „Tail“, den Händler fürchten, da sie bedeutet, dass ihre Entscheidungen zu spät getroffen werden.
Im Gegensatz dazu bewältigte die mehrstufige Pipeline diese Bursts mit Leichtigkeit. Durch die Aufteilung der Arbeit konnte das System den eingehenden Paketzug parallel verarbeiten. Während der erste Prozessor das erste Paket dekodierte, arbeitete der zweite bereits am zweiten und so weiter. Dies ermöglichte es dem System, den Rückstau viel schneller abzuarbeiten und die Verzögerung für jedes Paket niedrig und konsistent zu halten. Die Simulation zeigte, dass für Aufgaben, die 16 Mikrosekunden oder länger dauern, die Aufteilung der Arbeit die Worst-Case-Verzögerungen um den Faktor zehn oder mehr reduzierte, bei nur einem minimalen Nachteil für die typischen, nicht-bursty Momente. Die Forscher bestätigten, dass diese Verbesserung nicht auf das schiere Volumen der Daten zurückzuführen war, sondern spezifisch auf die geclusterte, bursty Natur der Ankunftszeiten. Als sie die gleiche Menge an Daten zufällig eintreffen ließen, bot das Multi-Stage-System keinen Vorteil, und der Single-Threaded-Ansatz blieb effizient.
Die Studie schloss auch mehrere andere potenzielle Ursachen für die Verzögerungen aus. Sie fanden heraus, dass weder die Größe der Datenpakete noch die Anzahl der Nachrichten in ihnen der primäre Treiber für die Verlangsamung war. Selbst als sie die Daten neu arrangierten, um die Bursts zu entfernen, aber die gleiche Anzahl an Paketen beibehielten, verschwanden die massiven Verzögerungen. Dies bewies, dass das Problem rein beim Timing der Ankünfte lag. Die Forscher untersuchten auch die Börse selbst, um zu verstehen, warum die Daten in diesen Clustern eintrafen. Sie fanden heraus, dass die Matching Engine der Börse oft mehrere Aufträge fast simultan verarbeitet, wahrscheinlich weil viele Händler gleichzeitig auf dasselbe Marktereignis reagieren. Die Publisher der Börse verteilen diese jedoch zeitlich, wodurch der rhythmische Zug entsteht, den die Systeme der Händler verarbeiten müssen.
Für die Designer dieser Handelssysteme bietet das Paper einen klaren, datengestützten Leitfaden. Wenn die Verarbeitungszeit eines Systems kürzer ist als der 7,5-Mikrosekunden-Abstand zwischen den Paketen, gilt die alte Regel weiterhin: Behalte es auf einem einzelnen Thread. Es gibt keinen Vorteil darin, die Arbeit aufzuteilen, und es fügt nur unnötige Komplexität hinzu. Aber wenn die Verarbeitungszeit länger als dieser Abstand von 7,5 Mikrosekunden ist, wird der Single-Threaded-Ansatz während der Bursts scheitern, und das System sollte in mehrere Stufen unterteilt werden. Die Forscher betonen, dass das Ziel nicht darin besteht, so viele Prozessoren wie möglich zu verwenden, sondern sicherzustellen, dass der langsamste Teil des Prozesses schnell genug ist, um dem Rhythmus der Börse Schritt zu halten. Sie fanden auch heraus, dass die spezifische Anordnung der Prozessoren weniger wichtig ist als die Sicherstellung, dass die langsamste Stufe effizient gehandhabt wird.
Diese Arbeit beansprucht nicht, alle Probleme im Hochfrequenzhandel gelöst zu haben, noch legt sie nahe, dass der Single-Threaded-Ansatz obsolet ist. Sie liefert lediglich ein präzises Maß dafür, wann dieser Ansatz aufhört zu funktionieren und wann ein anderes Design notwendig wird. Durch die Messung der Realität statt der bloßen Abhängigkeit von theoretischen Modellen haben die Forscher den Ingenieuren eine konkrete Schwelle zur Orientierung gegeben. Sie haben gezeigt, dass die Natur des Datenstroms – insbesondere die Tendenz, in selbst-exzitierenden Bursts einzutreffen – die beste Methode diktiert, um die Software zu bauen, die ihn konsumiert. Die Lektion lautet, dass in der Hochgeschwindigkeitswelt der Finanzen das Verständnis des Rhythmus der Daten genauso wichtig ist wie die Geschwindigkeit des Computers selbst.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.