←back to thread

837 points turrini | 1 comments | | HN request time: 0s | source
Show context
bob1029 ◴[] No.43972132[source]
We've been able to run order matching engines for entire exchanges on a single thread for over a decade by this point.

I think this specific class of computational power - strictly serialized transaction processing - has not grown at the same rate as other metrics would suggest. Adding 31 additional cores doesn't make the order matching engine go any faster (it could only go slower).

If your product is handling fewer than several million transactions per second and you are finding yourself reaching for a cluster of machines, you need to back up like 15 steps and start over.

replies(3): >>43972195 #>>43972696 #>>43973292 #
bluGill ◴[] No.43972696[source]
You are only able to do that because you are doing simple processing on each transaction. If you had to do more complex processing on each transaction it wouldn't be possible to do that many. Though it is hard for me to imagine what more complex processing would be (I'm not in your domain)
replies(1): >>43973030 #
bob1029 ◴[] No.43973030[source]
The order matching engine is mostly about updating an in-memory order book representation.

It is rarely the case that high volume transaction processing facilities also need to deal with deeply complex transactions.

I can't think of many domains of business wherein each transaction is so compute intensive that waiting for I/O doesn't typically dominate.

replies(2): >>43973177 #>>43973294 #
1. agentultra ◴[] No.43973294[source]
I work in card payments transaction processing and IO dominates. You need to have big models and lots of data to authorize a transaction. And you need that data as fresh as possible and as close to your compute as possible... but you're always dominated by IO. Computing the authorization is super cheap.

Tends to scale vertically rather than horizontally. Give me massive caches and wide registers and I can keep them full. For now though a lot of stuff is run on commodity cloud hardware so... eh.