AdvancedMultiple choice
A burst on the feed · Part 4 of 4
A feed handler processes market-data messages on one core at a fixed 400 ns each, a capacity of 2.5 million messages a second. Messages normally arrive at 2 million a second into an unbounded queue, which is empty before any burst.
The strategy needs only the latest top of book for each instrument. Which change bounds that wait however long a burst lasts?
- AConflate: keep one pending update per instrument and overwrite it when a newer one arrives
- BPre-allocate a larger queue so that it never fills
- CDrop the oldest messages whenever the queue passes a threshold
- DSpread messages round-robin across two cores, which doubles capacity and so removes queueing in any burst
The worked solution is in Premium
The answer, the full working and the one idea to take away – for this and all 1,322 questions in the bank. Answer it in practice and your working is marked, with a known mistake named when you make one.
Learn the method
More systems and low latency questions
- AVX-512 registers are 512 bits wide. How many float64 values does one hold?Foundation
- A cache line is 64 bytes. How many 32-bit integers fit in one?Foundation
- A single scan reads 1 GB from main memory at a sustained 20 GB/s.Foundation
- Walking a matrix through the cache, part 1 of 3Foundation
- Traversing a linked list and traversing an array are both O(n).Applied
- An L1 data cache holds 32 KB. How many float64 values fit in it?Applied