3 ms·
The matching of orders for a single asset happens on one machine, call it matching engine. Matching is done based on price-time priority. Price is set by the tr
by LittlePeter 6y ago
The matching of orders for a single asset happens on one machine, call it matching engine. Matching is done based on price-time priority. Price is set by the trader, the time is set to the time the order was received by one of the order gateways sitting in front of the matching engine.
The order gateways' clocks are in sync, up to precision epsilon. So if you send two orders serially from same data center (to ignore effects of public Internet latencies and routing), and if they happen to be processed by different gateways, you still will see same ordering of your orders in matching engine, bar some cosmic ray events.
It is all commodity hardware running some flavor of Linux.
However this was couple years ago, they may be using ASICs and FPGAs now. The matching of orders for a single asset must still be done in single process otherwise you cannot guarantee price-time priority.