1/7 Problem: How to scale trading/liquidation engines up to 500k/1M/10M users? 100k users are manageable, but eventually single threaded architecture will bottleneck growing number of users.https://twitter.com/paoloardoino/status/1238965074427088903 …
-
Show this thread
-
2/7 * The order book (OB) for each pair is run on a single thread, with its own I/O queues. * User data UD is deterministically sharded among different threads * Liquidation engine (LE) is a set of threads with direct mem access to user data threads (positions, balances, ..)
1 reply 0 retweets 6 likesShow this thread -
3/7 * LE interacts with OB via in-mem priority queue. * LE adds to a liquidation-order (LEO) enough meta-info for the order book thread to evaluate if liquidation should still happen, bankruptcy price, ...
1 reply 0 retweets 4 likesShow this thread -
This Tweet is unavailable.
-
That would be too inefficient. Too much locking / net etc.. involved.
0 replies 0 retweets 0 likes -
This Tweet is unavailable.
The theoretical upper limit with only in-memory tests is like 10M per order book. But that's not realistic at all. You have to consider network, memory-mapping for data replication, context switching etc. We can do up to 3/500k per pair at the moment.
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.