London Stock Exchange Rejects .NET For Open Source
ChiefMonkeyGrinder writes "This summer, the London Stock Exchange decided to move away from its Microsoft .Net-based trading platform, TradElect. Instead, they'll be using the GNU/Linux-based MillenniumIT system. The switch is a pretty savage indictment of the costs of a complex .Net system. The GNU/Linux-based software is also faster, and offers several other major benefits. The details provide some fascinating insights into the world of very high performance — and very expensive — enterprise systems. ... [R]ather than being just any old deal that Microsoft happened to lose, this really is something of a total rout, and in an extremely demanding and high-profile sector. Enterprise wins for GNU/Linux don't come much better than this."
.Net is just a specification and a bunch of languages. There is an open source implementation of .Net itself and certainly many open source projects written in C#. "Rejects windows for open source" would have been a more appropriate headline. I hope they still use some kind of language with bounds checking and type safety, given the dangers of buffer overrun exploits in a national stock trading system.
Didn't the New York Stock Exchange move over to Linux because Microsoft couldn't provide a good, low-latency RT kernel? They begged Microsoft, wanted to stay with Microsoft, and Microsoft couldn't provide them with a solution.
http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
yes.
Care to try a self-eating watermelon?
Get a web developer
TradElect platform, supplied by Accenture, has finally been answered: yes, it will. This hardly comes as a surprise â" the issue of the platformâ(TM)s speed and efficiency as well as Accentureâ(TM)s support has been a hot topic for the market in the last couple of months.
Accenture? Not exactly a low cost vendor there. Meaning, much of the "costs" of this .NET system is Accenture's high fees.
âWe want to address the entire suite of products and MillenniumIT gives us that scale.â(TM) Indeed, its offshore development centre â" âa hotbed of top graduatesâ(TM) â" with 94 per cent being top-class alumni from Sri Lanka and around the world, including MIT in the US, caters for such magnitude of scope.
Offshoring. They're going with a cheaper, although quite smart, set of folks.
Furthermore, he describes LSEâ(TM)s experience with .Net as âvery positiveâ(TM).
Ok, this looks more like changing vendors and implementation. They also want âfor more control, less costs, and the ability to build and innovateâ(TM).
This really isn't a damning of Microsoft and its technology. This is about going with a cheaper vendor and a software platform that gives them more control to suit their needs.
It's NOT me! It's the meds! I'm on 1000mg of Fukitol.
i read the article and found this.
while TradElect is based on Microsoftâ(TM)s .Net technology. The choice of the latter, which has raised quite a few eyebrows in the market, is defended by Lester. He claims that LSE is coming off TradElect not because of the .Net technology itself (although its trading speed is 2.7 milliseconds compared to Linux-based Chi-Xâ(TM)s 0.4 milliseconds), but âfor more control, less costs, and the ability to build and innovateâ(TM). Furthermore, he describes LSEâ(TM)s experience with .Net as âvery positiveâ(TM).
i will grant that the 2.7 ms benchmark is definately slower than .4 ms. However, i don't think you can benchmark the trading speed of .Net, only the trading speed of TradElect. Last time i checked msdn, there was no System.StockExchange namespace provided with the .net framework.
These articles sound more like MilleniumIT's just got a faster, nicer, cheaper product than TradElect. It sounds to me like Accenture failed, not .net
From what I understand, it was the app that sucked. Why is this then a stinging indictment of the platform?
"As God is my witness, I thought turkeys could fly." A. Carlson
Having read the article, and having traded equities on the London Stock exchange and Borsa Italiana for twenty years, I must say that I believe that the declaration that it was not a performance issue is correct.....to the point that I suspect that no amount of performance gains on Microsoft's part would have turned the scales.
Stock Exchanges are not national monopolies anymore, even if the few remaining big ones are gobbling each other. Controlling the technology involved is much more important than a slight performance hit. The London stock exchange scores a double hit on this one, since not only it will own the system, but the internals of said system will be open source, freeing it for example from limitation of sale to third parties by the US government. And anyway, when an istitution that big uses only Microsoft inhouse, is like having another stakeholder on your back, with an agenda of its own, like having you switch soon to the latest and greatest of its Server suite, if only for its publicity value. By doing the move, LSE is back to setting its own pace. I wish I could do the same on my desktop in the office.
"If a boss demands loyalty, give him integrity. But if he demands integrity, give him loyalty." (John Boyd, 1927-1997)
"Enterprise wins for GNU/Linux don't come much better than this." Enterprise wins like this are happening all the time for Linux and other free software options. What makes this unique is MS touted LSE running their system as a huge win for their solution. The fact it gets ripped out a year latter for Linux is marketing gold if free software needed to market.
They had $60M to throw into development. There's a good chance it's as fast as they could make it.
Also, Microsoft gets to crow about the awesome power of their platform when they "win" these big installations. It's only fair we get to revel in it when they stub their toe on them.
Help stamp out iliturcy.
You are incorrect, they are trading a $65 million dollar piece of software for a $30 million COMPANY. They bought the MilleniumIT company that had ALREADY IMPLEMENTED a trading platform. They bought the company for the platform, and now they control the development of the platform going forward in house. They are not trading one IT consultancy for another, as they now OWN the software and the company that built it.
However, they state the platform they bought ALREADY achieves 6 times the performance of the piece of software built by accenture (.4ms vs 2.7ms transaction times).
While I agree that this is more of an indictment of Accenture's apparently shoddy work than of .NET itself, the fact that they've had 6 years (the article states the TradElect software/project was started in 2003) and $65 million dollars thrown at the problem and haven't been able to make the software perform better does raise some eyebrows about the underlying technology as well.
As one other note, while OSS fanatics (I'm quite keen about OSS, but not quite a fanatic) go apeshit about this - This was more "switched from Accenture to running it `in house' in the form of a large team of low-paid talent in Sri Lanka" way more than it was "abandoned .NET for Linux! Rah rah rah!". The fact that people are hilariously so focused on the latter while missing the former speaks to how incredibly myopic people can be.
Wait, Microsoft + Accenture built a piss-poor platform. As you may recall, Accenture is a giant in the consulting business. Their combined efforts failed miserably.
Linux is the OS of most large trading systems. This has been covered on slashdot before.
MilleniumIT has a proven product in deployment in several exchanges. Their product is not pie-in-the-sky. It works. They've had several big wins in the past decade. They've been collaborating with Intel on optimizing their platform. Their transaction processing times are an order of magnitude better than LSE's current system.
So, I'm not sure what your angle is... are you trolling? Astroturfing? Or just spouting knee-jerk reactionism without any kind of basis in reality? A quick googling might have helped you out a bit.
"Trolls they were, but filled with the evil will of their master: a fell race..." -- J.R.R. Tolkien on Olog-hai
I bet they will use Mono to ease the transition. If they've already got a huge codebase written for .NET, wouldn't it be insane to throw it away?
They don't like the performance, or the feature set of the current codebase. They are buying an entirely new system to address those issues. It would be far more insane to keep any of it, or have to maintain it - they want it out wholesale.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
So, when Microsoft makes so much noise with press adverts & getthefacts campaigns, its 'marketing' and when FOSS supporters rejoice they are 'fanatics'!! Just STFU and get back to your windows 7 house party.
The article was clear that they were not dumping .Net just because it was .Net, but dumping the application and system that just happened to use .Net. They also dumped the out-source model and actually bought the company that makes the new product so that they would have more in-house control. The .Net thing is just a minor quibble in the big story.
The languages are merely tools; the bigger picture is about the application and the customers. The problem with Microsoft's approach to being a "solutions provider" is that they're too focused on pushing their tools and technology, with the actual application being an afterthought. That is, they're Microsoft focused, not customer focused.
At the end of the day, the London Stock Exchange could not care less what the developers think about the language they're using, or even what the operating system is. They're not trying to stick a finger in the eye of Microsoft or promote open source, they just want a product that does what they want at the best price they can get.
...allow developers...
Every time there's a discussion of .Net, .Net developers defend the framework with a list of reasons intended to demonstrate how much better/easier it is to write applications in Java (oops, I mean .Net).
_Every_ time I use one of these applications I am _very_ unimpressed.
Those too things together have me thinking that all the mediocre programmers in the world gravitate to these 'easy' languages, and, we get TradeElect.
Seriously, as an end user I give a damn how easy it is for you to crank out your ideas/applications, so please stop with the aforementioned approach to defending .Net and provide me with some examples of useful, solid, fast, not-buggy applications that can be written with .Net. As it stands right now applications written in .Net/Java/Ruby-on-Rails/etc. have no chance of making it into my infrastructure -sometimes there's an argument, but even then the guy who wrote it starts in with how easy it was to write, at which point he's lost the argument.
Samsung took back my unlocked bootloader because Google wants me to rent movies. They're both evil.
1) Your programs don't even do the same thing since some of them have multiple increments of the loop variable.
2) Your C++ program is not idiomatic STL. If it were you'd use an iterator (which is typically a pointer for vector) as the loop variable.
I'm not of the opinion that insert-high-level-language-with-GC-here is necessarily slower than insert-C-or-C++-or-whatever-here, but bullshit benchmarks aren't going to help make that case.
what other platform allows you to literally mix inline assembly within functional programming?
Delphi - since like about 1993
the right tool for the job? .NET is fantastic for many different things. In fact, I have written high end video encoder systems in .NET that performed all real time and file based management for multiple 1.5gbps streams in .NET. However for the high demand code, I used C++ and even a few lines of assembly (I can't resist it, just have to write them, helps me sleep at night).
.NET is ENTIRELY! possible and even practical. Unfortunately, in a company like Microsoft, the developer with the skill set for such a job will almost always end up on development teams for Windows, .Net itself, Visual Studio, even Office. The developers left over to write database programs for customers will be of a much lower grade. Besides, there are very few good real-time systems developers that would choose to work on a database program rather than on something more interesting, like... I don't know... shaving toe nails for old ladies. Really, database programming is what people do when they can't do anything else, it's the data-entry job of programmers.
.NET will make NO difference at this level. The flaw at this point was poorly coded SQL. After all, by distributing the load of the web traffic across 500 blade servers, there was little chance that the .NET program they were running was the problem.
Developing high performance systems using
Sometimes Java is still a modern VM environment. CLR generally IS NOT. It has some features you would consider a VM runtime system, but if anything, those features improve performance over straight out compiling the MSIL code. Ideally, it would allow trace metrics to be calculated and where branches can be predicted, long traces can be compiled without cache-misses and penalties... creating MUCH higher performance code.
As for GC. Well, unless you can develop a system that eliminates memory allocation altogether and uses no threading while doing it. Good GC based environments (like CLR/Mono) are almost always faster than straight memory allocation. I highly recommend you research it... and if you're going to try and prove it with 5 lines of code, don't waste your time. That's not a real world test. Test it instead for example with an XML parser that generates a DOM tree and then deletes/dereferences it.
As a religious non-Java programmer and a devout Java basher, I'll shoot down the "Not suitable for nuclear reactors" thing. Java is 100 times more suitable for a nuclear reactor in most cases than C or C++ since the "object model" you would use in a Java program would centralize most critical bugs to a few lines of code that can be fixed to repair the whole program instead of spending months on diddling all the little memory and pointer related bugs you're likely to encounter. Also, for applications that are heavy allocators, relocatable memory in a Java environment can cause a system written by an "average programmer" to run much longer without crashing because of one memory abuse situation or another. Almost no "average programmers" even know where to begin to deal with memory fragmentation issues, yet they DO cause tons of problems.
In the case of this trading system, it's obvious Microsoft tried throwing hardware at the problem. That was all fine and good. Hell, add 500 more web servers and use 5 over those 32 physical Xeon processor machines from Unisys to drive the database.
Instead, it's FAR more likely that abuse of the database was the real problem. Most database front ends querying data from SQL servers are written by mediocre database UI developers that have no respect for what the SQL server might actually have to do in order to process their queries. On top of that, they like to do things like create tons of views and indexes that all need to be updated constantly. Queries get SLOWED down and it doesn't matter how fast the application is, the SQL server can't keep up with the crap code on the back end.
So, while you are bla