LMAX (http://www.lmax.com/) - one of the highest performance financial exchange.
Now more interesting is the presentation on InfoQ (http://www.infoq.com/presentations/LMAX). Its old from 2010, but its still interesting, its about LMAX architecture.

I went through the presentation after 4  years, and still memories are fresh and so are points which needs to considered while designing a high performance not necessarily exchange.

1. Mechanical (Memory, CPUs, Networks, Storage)
2. Keep working set in memory ( 64 bit addressing, put entire model in memory)
3. Cache friendly code, Understand memory

4. Write clean compact code
5. Model (data structures, cardinality, relationships, One class one thing, one method one thing)
6. Use Atomic variables, avoid lock.
Another point is disruptor. Linked List, Queue, or Array - all have some benefits and drawbacks. 

Know more about Disruptor here -


Popular Posts