Monday 27 June 2011

Technology Events - State of play on Monday 27th June

An update on upcoming LMAX Technology events:

This week:
On Tuesday a number of us will be at the UCL Algorithmic Trading Conference.  Martin Thompson, CTO, will be presenting on Risk Management.

Future events:
5th October - TradeTech Architecture. Martin Thompson, CTO, will be on one of the panels.

11th October - Goto Aarhus. Martin Thompson (CTO) and Dave Farley (Head of Software Development) will be presenting the LMAX Disruptor pattern: "100K transactions per second at less than 1ms latency".

13th - 14th October - Goto Amsterdam. Martin Thompson (CTO) and Dave Farley (Head of Software Development) will be tackling the folklore surrounding high performance computing.

Wednesday 22 June 2011

Disruptor technical paper available now

An article describing the ground-breaking Disruptor pattern developed here at LMAX is now available on the Disruptor website. The paper covers the concepts outlined in presentations like How to Do 100K+ TPS at Less than 1ms Latency.

Abstract
LMAX was established to create a very high performance financial exchange. As part of our work to accomplish this goal we have evaluated several approaches to the design of such a system, but as we began to measure these we ran into some fundamental limits with conventional approaches.

Many applications depend on queues to exchange data between processing stages. Our performance testing showed that the latency costs, when using queues in this way, were in the same order of magnitude as the cost of IO operations to disk (RAID or SSD based disk system) – dramatically slow. If there are multiple queues in an end-to-end operation, this will add hundreds of microseconds to the overall latency. There is clearly room for optimisation.

Further investigation and a focus on the computer science made us realise that the conflation of concerns inherent in conventional approaches, (e.g. queues and processing nodes) leads to contention in multi-threaded implementations, suggesting that there may be a better approach.

Thinking about how modern CPUs work, something we like to call “mechanical sympathy”, using good design practices with a strong focus on teasing apart the concerns, we came up with a data structure and a pattern of use that we have called the Disruptor.

Testing has shown that the mean latency using the Disruptor for a three-stage pipeline is 3 orders of magnitude lower than an equivalent queue-based approach. In addition, the Disruptor handles approximately 8 times more throughput for the
same configuration.

These performance improvements represent a step change in the thinking around concurrent programming. This new pattern is an ideal foundation for any asynchronous event processing architecture where high-throughput and low-latency
is required.

At LMAX we have built an order matching engine, real-time risk management, and a highly available in-memory transaction processing system all on this pattern to great success. Each of these systems has set new performance standards that, as far as we can tell, are unsurpassed.

However this is not a specialist solution that is only of relevance in the Finance industry. The Disruptor is a general-purpose mechanism that solves a complex problem in concurrent programming in a way that maximizes performance, and that is simple to implement. Although some of the concepts may seem unusual it has been our experience that systems built to this pattern are significantly simpler to implement than comparable mechanisms.

The Disruptor has significantly less write contention, a lower concurrency overhead and is more cache friendly than comparable approaches, all of which results in greater throughput with less jitter at lower latency. On processors at moderate clock rates we have seen over 25 million messages per second and latencies lower than 50 nanoseconds. This performance is a significant improvement compared to any other implementation that we have seen. This is very close to the theoretical limit of a modern processor to exchange data between cores.

Monday 20 June 2011

Update on Technology Events

An update on upcoming LMAX Technology events:

This week:
  • On Tuesday, some of the development team will be wandering along to the monthly London Java Community pub night. This month's theme is Development War Stories.
  • On Wednesday, Martin Thompson, CTO, will be talking about our real-time risk management at 4pm (UK time) via webinar.

Future events:
5th October - TradeTech Architecture. Martin Thompson, CTO, will be on one of the panels.

11th October - Goto Aarhus. Martin Thompson (CTO) and Dave Farley (Head of Software Development) will be presenting the LMAX Disruptor pattern: "100K transactions per second at less than 1ms latency".

13th - 14th October - Goto Amsterdam. Martin Thompson (CTO) and Dave Farley (Head of Software Development) will be tackling the folklore surrounding high performance computing.


The public calendar (viewable on the right hand side of this blog) is up to date with all the events we're attending or would like to attend.

Monday 13 June 2011

Upcoming Technology Events

Since going live last year, LMAX technologists have been attending and presenting at a number of events.  We've decided to write a weekly blog post summarising what's on the horizon to give people more of an opportunity to attend - after all, we want you guys to come and see us.

The calendar is fairly fluid, and sometimes confirmation doesn't arrive until the last minute, so things may change week by week.  However, a regular update will at least give some visibility over what's in the pipeline.


22nd June, 4pmUltra High Performance Risk Management: Informatica Webinar Featuring Martin Thompson, CTO, LMAX.

5th October - TradeTech Architecture.  Martin Thompson, CTO, will be on one of the panels.

11th October - Goto Aarhus.  Martin Thompson (CTO) and Dave Farley (Head of Software Development) will be presenting the LMAX Disruptor pattern: "100K transactions per second at less than 1ms latency".

Wednesday 8 June 2011

Upcoming LMAX Technology events

Senior LMAX techies will be presenting at a couple of events this week:

  • Tomorrow, Mike Barker will be at the STAC Performance Summit, on the panel discussion: The Future of Messaging Middleware.  He'll be using his experience as Lead Developer here to answer questions on how developers really use messaging.
  • On Friday, Dave Farley, Head of Software Development, will be presenting on Continuous Delivery at the ThoughtWorks Manchester Open Day.  Continuous Delivery is key to how LMAX can adapt quickly to change and release updates to the platform frequently and in a timely fashion.