Mischiefblog
I make apps for other people

LMAX developed a 6 million TPS retail processor…

Posted by Chris Jones
On October 30th, 2011 at 18:48

Permalink | Trackback | Links In |

Comments Off
Posted in General

LMAX developed a 6 million TPS retail processor that runs on a single node. How?
* Using the correct data structures for the task at hand (don't use an ArrayList if you should be using a LinkedList)
* Developing data structures that take advantage of the JVM (i.e., a HashMap backed by primitive long type keys)
* Keeping the working state in memory (recovery via replay)
* Abandoning existing transactional software paradigms (actors, relational databases and transactions, queues, etc.)
* Concurrent unmarshallers and marshallers using a circular list of ring to provide natural ordering and locking (Disruptors, or a multicast graph of queues for parallel consumption)
* Designing business processes to output intermediate results when external resources are required (additional lookups, verifications, etc.)
* Performance testing and tuning with the real machine's performance in mind, not assumed performance

The LMAX Architecture

The LMAX Architecture. LMAX is a new retail financial trading platform. As a result it has to process many trades with low latency. The system is built on the JVM platform and centers on a Business Lo…

Comments are closed.