LMAX Architecture - Running 6 Million orders per second on Java

User avatar
newestHook
Posts: 0
Joined: Thu Jan 01, 2004 12:00 am

LMAX Architecture - Running 6 Million orders per second on Java

Post by newestHook »

This caught my eye on hack news this morning, I thought it would be notable here. It's a discussion of the LMAX architecture by Martin Fowler.

http://martinfowler.com/articles/lmax.html



Apparently this system scales up to 6 million orders per second. It doesn't give exact latency other than "low"



Plus some other resources

http://www.infoq.com/presentations/LMAX

Part of the system is open source http://code.google.com/p/disruptor/
User avatar
dgn2
Posts: 0
Joined: Thu Jan 01, 2004 12:00 am

LMAX Architecture - Running 6 Million orders per second on Java

Post by dgn2 »

Interesting, thanks for posting.
...WARNING: I am an optimal f'er
User avatar
Nonius
Posts: 0
Joined: Thu Jan 01, 2004 12:00 am

LMAX Architecture - Running 6 Million orders per second on Java

Post by Nonius »

Someone was just telling me about LMAX today. Checked out their API. Anyone ever used it? Simple due diligence on the parent doesn't paint the best picture of late...
Chiral is Tyler Durden
User avatar
signalseeker
Posts: 0
Joined: Thu Jan 01, 2004 12:00 am

LMAX Architecture - Running 6 Million orders per second on Java

Post by signalseeker »

If you watch the presentation they sure know what they are talking about. The idea of data oriented design is not completely novel even in finance (eg kx) but to be honest I was very impressed that they were able to do this on the jvm. No offense but java programmers are not exactly known for their craftiness.
The dark is light enough.
User avatar
HankScorpio
Posts: 0
Joined: Thu Jan 01, 2004 12:00 am

LMAX Architecture - Running 6 Million orders per second on Java

Post by HankScorpio »

That is because they are probably C programmers masquerading as Java programmers. They also use Azul's JVM IIRC.
East-coast supervillain Evil Smile
User avatar
dgn2
Posts: 0
Joined: Thu Jan 01, 2004 12:00 am

LMAX Architecture - Running 6 Million orders per second on Java

Post by dgn2 »

I have been very slowly working my way through Martin Fowler's 'Patterns of Enterprise Application Architecture' over the last little while. I have a leave coming up in 4 weeks and I am hoping I can try some of the patterns using 0MQ or rabbitMQ. Is anyone using/playing with 0MQ?
...WARNING: I am an optimal f'er
User avatar
signalseeker
Posts: 0
Joined: Thu Jan 01, 2004 12:00 am

LMAX Architecture - Running 6 Million orders per second on Java

Post by signalseeker »

dgn2: I am sure that is a great book but I have a feeling that it is somewhat dated especially in the context on 0MQ which inverts a lot of traditional messaging architectures. The 0MQ manual is pretty good in laying out the concepts and also very hands down, so I would start with that first.



0MQ has all the qualities that I like - minimalistic, fast, multiple language bindings. I really like it but I haven't used it in a production context. People dislike the fact that it has a lot of asserts in the code but they were supposed to be changing that.



kanucatchit here can tell you more about it.
The dark is light enough.
User avatar
dgn2
Posts: 0
Joined: Thu Jan 01, 2004 12:00 am

LMAX Architecture - Running 6 Million orders per second on Java

Post by dgn2 »

Thanks signalseeker, I will read more of the 0MQ documentation.



The book is definitely a little dated, but many of the patterns (so far) still seem applicable to me. It is more the approach that interests me. Not being an experienced developer there is so much I don't know.



What is the implication of a lot of asserts in the code?



Sorry about the thread-jack.
...WARNING: I am an optimal f'er
User avatar
FDAXHunter
Posts: 0
Joined: Thu Jan 01, 2004 12:00 am

LMAX Architecture - Running 6 Million orders per second on Java

Post by FDAXHunter »

I've used RabbitMQ. It's alright, but the problem is the Erlang part, which just makes it annoying in deployment, although it is robust as hell. Also the documentation is pretty damn annoying (or non-existent)

I can echo signalseeker's comments on 0MQ.
The Figs Protocol.
User avatar
Patrik
Posts: 0
Joined: Thu Jan 01, 2004 12:00 am

LMAX Architecture - Running 6 Million orders per second on Java

Post by Patrik »

Also have some RabbitMQ experience. Similar thoughts to FDAX. Adding that I don't think deploying the broker on windows is very common and we had to do a fair bit of digging on our own to get certain things to work or work at decent performance. And the .NET client lib not as full featured and worked through as Java one.



0MQ I've only played with so far, but like the ideas and with a bit more docs and longevity of the project would be happy to try it out in production as well.
/Patrik
Post Reply