The London Stock Exchange has agreed to acquire MillenniumIT, and will be replacing its TradElect and Infolect systems with the MillenniumIT trading system. TradElect is based on Windows Server and .NET, and was created by Microsoft and Accenture. Microsoft used to use the LSE’s system as a showcase for .NET scalability, but while it proved that .NET can work for large systems, the LSE suffered an outage in September 2008 that was rumoured to be the fault of TradElect.
I don’t know much about MillenniumIT but note that the company is a partner with Sun and Oracle and that the MillenniumIT Exchange brochure [pdf] states:
Operating System: UNIX or Linux
Database: Oracle
As Brian Bryson of IBM/Rational observes, it is short-sighted to lay the blame on the platform. Nevertheless, considering the high profile of this system and Microsoft’s active involvement it is at least an embarrassment.
The mitigation for Microsoft is that .NET has less to prove these days. Even if running a system as large and performance-critical as the London Stock Exchange was a step too far, particularly for Server 2003 and (apparently) SQL Server 2000, that doesn’t rule out Microsoft’s technology for more usual workloads; and there are improvements in Server 2008 and SQL Server 2008.
Still, I’d love to know more about why the LSE is abandoning TradElect and what the lessons are for those designing and implementing systems at this level.
The problems with TradElect are thoroughly debated in the comments here.
Update: Microsoft’s LSE Case Study from 2006 is here.
I have also received the following statement from a Microsoft spokesperson:
Microsoft continues to support some of the most demanding, mission-critical environments in the world and is constantly raising the performance bar with new solutions. Most recently, Microsoft completed three different proof-of-concept projects for a major international stock exchange that demonstrate Windows Server 2008 and Microsoft .NET can successfully support very low latency trading activities, in the 100 microsecond range using standard 1 Gigabit Ethernet. With the addition of Microsoft Network Direct, that latency is further reduced by 50%, which is industry leading performance.
For people reading my post on tradelec linked from this article: please also read the follow up post which is not linked here:
http://realitylenses.blogspot.com/2009/07/quick-follow-up-on-lse-microsoft-fiasco.html
One of the main reasons is that trading platforms are a competitive marketplace now. They now compete based on latency more than all else. Speed of execution wins. The reason this is especially relevant is due to High-Frequency Traders. They are the new market makers (what used to be the people screaming at each other on the floor of exchanges). High-Frequency Trading are computers trading with each other. This is why within the U.S., you see a war going on between electronic exchanges, and their rebates (exchanges paying HFT for trading on their markets, note this only applies to market suppliers, buyers still have to comply with NBBO).
The problem is that the LSE has been executing prices at above 25ms slower than other exchanges, sometimes to the point where it’s faster to execute in exchanges further away. If they’re that slow with execution, trading volumes will be going to other exchanges, notably Euronext. These slow speeds, probably due to the way .NET is structured, and Windows’ opaque network stack is killing them competitively (as opposed to *NIX where one can intuitively know where the buffering is — and minimize that). The real failure here isn’t Microsoft, is Accenture and LSE for throwing in people that have no idea the modern demands and throwing out the tried and true.
Please, when you says Operating System Linux, you can says Operating System GNU/Linux.
Thanks,