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."
Now how about my desktop?
De Icaza Responds:
Nooo, wait, come back. I found a way for people ditching Windows to keep using Microsoft technologies..
Please help publicise swpat.org - the software patents wiki
1 for the good guys.
did Microsoft take down their triumphant "case report" on the original design-in?
Lacking <sarcasm> tags,
I think Microsoft needs to make sure they... Get The Facts. .... oh right
Mod me down, my New Earth Global Warmingist friends!
the first linked article in the summary is a slashdot post. is this normal?
.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.
Why is this news? Sun/Solaris dominated the high-end financial sector for ages...any exchange/trading house/equity firm/etc that is using Windows is insane IMHO. Linux is just the most recent unix platform to show up in the sector, it's not revolutionary...
I guess this would be a bad topic to bring up at a Windows7 launch party.
Nothing interesting to say...MUST...NOT...REPLY...ohtheheckwithit.
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.
The article is individuals who state that the TradElect software is slower than the Chi-X software. The highly biased author then extrapolates that .Net is slower than "GNU/Linux-based software".
They are also talking about trading a $65 Million piece of software for a $30 Million plan to write a piece of software.
The author is highly biased and inflammatory. MS's .Net framework is NOT the answer in every situation, but it is a solid platform for Windows/Web based development.
I'm all for ragging on crappy software, business practices, taxation, etc... coming out of Redmond, but honestly, pissing on the .Net framework because someone developed an application that was 2.3 milliseconds faster at a custom task is a bit asinine.
-Rick
"Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
As ironic as this is given Microsoft's big LSE advertising in the past, if they're having trouble with their current set up it's the fault of whatever programmers wrote it and not of .NET. Hopefully they'll have some better programmers working on it this time.
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.
It sounds to me like the change was due to a lower bid from a particular Sri Lankan company and not really about technology primarily.
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
Maybe I missed the part about what language and such is being used on the Linux side, but the complaints seemed to be entirely on the latency issues with Windows Server. Who is to say that when Mono is a bit more mature it wouldn't have been able to hold its own if used on a well-configured Linux box?
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)
As much as I do really believe that Linux is the right choice, the summary is not accurate. The London Stock Exchange acquired a Sri Lankan dev shop who will write the exchange software and the outsourced dev work is suddenly made a whole lot cheaper.
http://www.maxineudall.com/2010/02/should-economists-be-sued-for-malpractice.html
How disingenuous.
While it is 2.3ms faster it is also compared to 0.4ms (vs 2.7) making it 6.75 *times* faster.
Sub ms latency in trading is a critical requirement for this application and .net on windows just wasn't up to the task.
As a performance expert, this doesn't surprise me. In my opinion, current .net implementations are fundamentally unsuited to hard RT.
Ian Ameline
Hehe:) For those that are interested, they still have a InfoElect case study from 2006 posted on their site, which I believe was the the precursor to TradElect.
If you had read the earlier articles on the TradElect fiasco, you would have known that it was basically written and designed by Microsoft itself. Accenture had a very heavy involvement in the project straight from Redmond.
So yes, this is an outright condemnation of the quality of Microsoft's products.
Mart
"I know I will be modded down for this": where's the option '-1, Asking for it'?
Thank You Very Much
It's more complex than this...
Firstly, the costs will go up, not down.
That's because they don't trust the new solution to deliver, so for quite some time they will run both developments.
*If* the systems is good enough then they migrate, but the LSE track record on technology is either funny or shameful, but certainly I would count them picking your system as an "endorsement" of the same order as being Bernie Madoff's accountant...
Next of course, it is not an open source solution, Oracle is not open source, trust me on this.
The critical term here is latency, the LSE wants as much algotrading as it can get, and a barrier to this has been the fact that Accenture has been "helping". (Imagine Bernie Madoff having a system built by the Goa'uld,, powerful, evil but ultimately doomed). It will not shock any Accenture watchers that the CIO of the LSE had been an Accenture employee.
So what we have is a more interesting thing, a competition between a partly open source system and .NET.
It is possible, maybe even likely that the .NET solution will be beaten, but that has not happened yet. MS can be expected to fight back, pride intersects with commercial interests here, Oracle is no more friend of MS than Linux.
I am no fan of MS, but it saddens me when open source fanbois distort facts to make it look like they've won, even when the real story offers an opportunity to beat their "enemies" in a more conclusive way.
Dominic Connor,Quant Headhunter
I could be wrong, but IIRC the NYSE has never been a Microsoft shop for the hard-core trading systems. They may have wanted to switch to Microsoft from the previous big Unix iron, but Linux won out.
However, Microsoft got added to the DJIA as a consolation prize.
Lacking <sarcasm> tags,
...and you are sooo gonna burn in hell for that one (and, err, so will I for laughing my ass off at it).
Good show!
Quo usque tandem abutere, Nimbus, patientia nostra?
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?
moo.
Instead of the $60M software product, they bought a $30M software company which had produced a competetive product. They get the code, the customers, developers, desks, servers and office space, and the managers and executives too.
That's completely different from what you said.
Likewise,
...because someone developed an application that was 2.3 milliseconds faster at a custom task...
2.3ms faster is very significant when you're starting from a base of 2.7ms. Something like six to seven times as fast.
Help stamp out iliturcy.
Hello Rick,
The new application is not just 2.3 ms faster, it is 7x (700%) faster than .Net (0.4 ms vs 2.7 ms).
That is a huge increase in speed (wish your OS was 7x faster?).
If the LSE has totally messed up, then their customers will let them know. .Net, Vista, etc.
The same thing with Microsoft - their customers are speaking very loudly, rejecting
"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.
...when I will have seen this mentioned in the next Highly Reliable Times issue!
Ezekiel 23:20
In other news, company buys another company and uses that companies resources.
How disingenuous.
Hardly. My complaint isn't about the TradElect software's performance. It was slower. But why was it slower? Is the implementation crap? Could it be redesigned to run faster while still running from the .Net framework? Or is it the inherent lag of running inside a sandbox that prevents it from executing as fast as the "GNU/Linux" solution?
My complaint is that the author is roasting the .Net platform as compared to "GNU/Linux". That is like comparing the performance of Java to OS/2. One is a programing platform, the other is an OS.
The author quotes from the article valid complaints about the TradElect system, and then extrapolates that due to the valid concerns LSE has with TradElect, that the .Net platform is inferior in all regards. Although he never explains what programming platform he believe .Net to be inferior to.
That said, if I were working on a system that depended on sub millisecond execution of complex functionality, I probably wouldn't go with .Net either. The fact that you are running inside a VM-like sandbox explicitly means you are going to have worse performance than a natively compiled and executed application.
-Rick
"Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
The switch is a pretty savage indictment of the costs of American programmers.
Newsflash! Ditching a custom Accenture solution for an offshore offering from Sri Lanka cuts costs! News at 11.
Look guys, I'm a Microsoft basher along with the best of them (I'm a Solaris administrator), but it seems to me like most of this cost savings is delivered by offshoring and ditching a major systems integrator.
(Discloser: I also used to work for Accenture).
LOL, that was funny.
It's not necessary to be cheering for any replacement to take guilty pleasure in watching Microsoft step on their highly-advertised crank here.
Lacking <sarcasm> tags,
Good call. I haven't worked in C in almost a decade now and reversed the concepts in my mind.
I would still expect that interactions with an array stored in a block of memory being directly accessed in C++ with out bounds checking would execute faster than interacting with a generic list in .Net.
A generic list, even if it is array based, is going to be on the stack an array of pointers to other points of the stack and the heap.
Sorry about the confusion, my bust.
-Rick
"Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
My own experience with Windows 2000 indicates that the OS does not reliably provide latencies in the lower ms ranges. The project in question was a software-controlled device where the software was supposed to do various tasks with frequencies from some 10 Hz to 1000 Hz. In practice, the software (written in Borland Delphi) frequently missed its time windows.
Since the desktop and server versions of Windows are not that different, it seems plausible that Windows was the culprit rather than .net "as such".
C - the footgun of programming languages
The sad thing is that their marketing dept is still faster and more accurate than their OS and apps.
This is incorrect, just like the rest of your message. A list in a high-level language is almost always faster than a linked list in C++, because it is array-backed.
That's true right up until the moment you add one more element than the array can store, and then - boom! Memory copy.
If you are doing a lot of inserts a true linked list is better. And a trading system, is going to have a ton of updates all the time...
C++ at least gives you flexibility to chose the backing of your linked list.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
As if Accenture can't "outsource" and hire Sri Lankan developers?
They are buying the whole company in Sri Lanka, not just hiring them to build a project for them. The software in question already exists, the company in Sri Lanka already built it and is selling it today to other exchanges.
Further, your statement that its about "going with a cheaper vendor and a software platform that GIVES THEM MORE CONTROL" is very much a damning of Microsoft and its technology. With Microsoft you don't have control THEY DO. And they charge you an arm and a leg to take that control away from you...
Typical PHB and incompetent/ expensive consulting services debacle. See below for an older ComputerWorld blog entry.
_______________________________________
July 1, 2009
.NET
programs, which was created by Microsoft and Accenture, the global
consulting firm. On the back-end, it relied on Microsoft SQL Server
2000. Its goal was to maintain sub-ten millisecond response times,
real-time system speeds, for stock trades.
Steven J. Vaughan-Nichols
London Stock Exchange to abandon failed Windows platform
Anyone who was ever fool enough to believe that Microsoft software was good enough to be used for a mission-critical operation had their face slapped this September when the LSE (London Stock Exchange)'s Windows-based TradElect system brought the market to a standstill for almost an entire day. While the LSE denied that the collapse was TradElect's fault, they also refused to explain what the problem really wa. Sources at the LSE tell me to this day that the problem was with TradElect.
Since then, the CEO that brought TradElect to the LSE, Clara Furse, has left without saying why she was leaving. Sources in the City-London's equivalent of New York City's Wall Street--tell me that TradElect's failure was the final straw for her tenure. The new CEO, Xavier Rolet, is reported to have immediately decided to put an end to TradElect.
TradElect runs on HP ProLiant servers running, in turn, Windows Server 2003. The TradElect software itself is a custom blend of C# and
It never, ever came close to achieving these performance goals. Worse still, the LSE's competition, such as its main rival Chi-X with its MarketPrizm trading platform software, was able to deliver that level of performance and in general it was running rings about TradElect. Three guesses what MarketPrizm runs on and the first two don't count. The answer is Linux.
It's not often that you see a major company dump its infrastructure software the way the LSE is about to do. But, then, it's not often you see enterprise software fail quite so badly and publicly as was the case with the LSE. I can only wonder how many other Windows enterprise software failures are kept hidden away within IT departments by companies unwilling to reveal just how foolish their decisions to rely on archaic, cranky Windows software solutions have proven to be.
I'm sure the LSE management couldn't tell Linux from Windows without a techie at hand. They can tell, however, when their business comes to a complete stop in front of the entire world.
So, might I suggest to the LSE that they consider Linux as the foundation for their next stock software infrastructure? After all, besides working well for Chi-X, Linux seems to be doing quite nicely for the CME (Chicago Mercantile Exchange), the NYSE (New York Stock Exchange), etc., etc.
_______________________________________
when they touted the reason for the application to be fast enough and good enough for the LSE, THEY thought that THEIR platform was the reason it was so great.
What do YOU know about Microsoft's platform that THEY don't?
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
Well, no, servers don't need audio. o_O
Whoooa yeah! Pwnd, Microsoft!
An indictment of .NET?
I mean, I am not going to stand here and say one language or platform is better than another, but this article is disingenuous at best.
It's a blunder by the consulting company, and maybe the software they found wasn't up to snuff. They found one that is. Whether it's open source or not is irrelevant. Whether it's .NET or not is irrelevant.
If I posted a story about a .NET app replacing a traditionally open source software role, would that be an indictment of open source? No.
And no more than it is an indictment against .NET.
With that said, I find .NET pretty easy to work with (and I'm far from a programmer) but it's relatively easy and the object model is simple to follow even for novices like me. I delve more into Powershell stuff for admin tasks, but it's nice to see that the same model I can apply to VB or C#.
It's really not that bad a platform to develop on, but if this article helps you to believe that -- hey, feel free. It's usually in the developer's hand to deliver you a good product, not the platform itself.
The price is always right if someone else is paying.
These are the people that, at present, actually make the money of the world move around. They are the true kings of the world at the moment, like it or not, for better or worse. The kings of money rule the world. They aren't beholden to people who "make things" to exchange for money. They are the ones who make money... the originators, the controllers of money. There is very little that Microsoft can do in the way of tempting the money people with "more money." They only thing they care about are results that the software tools deliver.
Microsoft could have kept their place if it weren't for the fact that their business model is all about never making anything perfect. If there were perfection in their products, people would never buy a new one.
I see the usual complaints about the FOSS fanatics but with an absence of the FOSS fanatics. o_O
I can't wait for the GNU\Linux Marketing Department to make a campaign out of this!!! Oh wait ..., well, Slashdot it is then!
10b||~10b -- aah, what a question!
This is incorrect, just like the rest of your message. A list in a high-level language is almost always faster than a linked list in C++, because it is array-backed. The whole list is in one contiguous block of memory and iterating it means incrementing a pointer sizeof(int) bytes each iteration.
WTF? Are you that stupid or are you trying to be funny?
Can you tell what is the primary purpose of using a linked list?
For free: It is for adding and removing elements in the list *easily*, whatever their position is.
What happens if you insert a element in the middle of a "array-backed" list? What if you add and remove a lot of elements in the middle of such list?
This is basic stuff and just shows how futile using low-level languages is when people don't even understand why linked lists are slower than array lists...
What was a linked list, again? Does that comparison make any sense?
You are just as dumb as the others that modded you up.
From now on, it will no longer possible to take refuge in the idea that you can't get fired for keeping with Microsoft.
the CEO that brought TradElect to the LSE, Clara Furse, has
left without saying why she was leaving. Sources in the City-London's
equivalent of New York City's Wall Street--tell me that TradElect's
failure was the final straw for her tenure.
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.
Why this should be is not at all clear, but .NET is probably not the root cause. Chances are in fact that any Linux/Solaris solution would be mostly coded in Java anyway which suffers similar runtime overheads. The hardware it runs on, the network topology, how messages are passed around, dedicated switches, the database, the scalability or lack thereof in the code and countless other factors are far more significant than the underlying language.
One clear advantage of going the Linux / Unix route is that licencing is a lot cheaper and there are probably a lot more hardware options to consider too.
Which has -- what? -- to do with Microsoft's corporate response time to events that discredit one of their showcase design wins?
Lacking <sarcasm> tags,
While ChiefMonkeyGrinder would have us believe that a single corner case is a stunning indictment of the entire .NET platform, ask yourself this: Is there any platform out there that is perfect for every need? The .NET platform is a generic platform that is capable of delivering good or at least acceptable performance in most cases. However, good is not the same thing as perfect and .NET is not designed to be the perfect platform for what is essentially a real-time system in the case of a large global stock exchange. IMHO, if performance and reliability are so absolutely critical to the London Stock Exchange then they should consider a dedicated real-time platform like Integrity OS which makes absolute guarantees about execution times and meets the highest standards of reliability and up-time. Even GNU\Linux cannot deliver the same guarantees that systems in that class do (the Integrity 178B OS is used on, among other things, the F-16, F-22 and F-35 fighter jets). Of course those last few nines of reliability 99.99999%+ are really going to cost you, but it might be worth paying if downtime costs the London Stock Exchange billions of dollars per hour.
Just like they don't need Windows! *rimshot*
Audio isn't the thing holding Linux back anyway, it's loud obnoxious idiots like the GP who think Linux works exactly the same as Windows, who inevitably break something as simple as an Ubuntu install because they're too lazy/stupid to read a fucking manual and then spend all day whining about it on internet forums instead of fixing the root cause - their own ignorance.
They don't need Linux, they need OS X with its retard-proof interface and kiddy tantrum-proof aluminum-armoured hardware.
This was on Slashdot a couple times before. Accenture and Microsoft obviously botched the application developement. I wouldn't blame the tools or the platform if something goes wrong. Maybe they chose the wrong tools and platforms. Maybe not. Difficult to say.
I never knew Accenture was a software developement company. I thought they were in labor leasing. Then again, I can't help wondering. Usually when I hear of stuff that isn't allowed to go down it is some expensive Unix contract with HP (HP-UX), IBM (Aix) or SUN (Solaris). With a lot of redundancy built in. Red Hat thrives in that market, because Linux runs good on comparibly cheap x86 hardware, whereas the other three mentioned have their own fairly expensive hardware.
And then there is always the big iron. Really expensive (I only heard about it). But then again, shouldn't a stock exchange be able to afford that?
1) Don't use a POS consulting company with a reputation of failure
2) Don't use cheap off shore labor because you might get what you paid for?
This sounds like news to me /snark
"MillenniumIT system. "
Key Technical Features
Hmmm, basically that says the improvements are due to: 3 tiered architecture, MOM, Oracle, and likely a Java/JMX-ish system and some appserver cluster.
Conclusion, they switched cause of the design of the system as well as parts they used, a best of breed approach: Oracle, AppServer, MOMs. They just happen to run on Linux since those vendors focus on Linux/Unix more than MS (which offers its own stack)! Microsoft/.NET is already known not to be the fastest and most robust for those needs and hence, it's not because of GNU/Linux why the exchanged went with the new solution, it's from the best of breed approach producing a better solution. From better products and industry standard interfaces, not Gnu/Linux folks. They probably get better performance and scalability with Unix/Solaris/IBM systems run those products, but of course, the upfront costs of Linux/GNU systems is gonna be less (TCO is another problem) than a 64-cpu Sunfire system....
I'm a linux user and steer away from MS products, but heck, it much be a bash MS day on /.
But gained a lot anyway. Sure, the LSE has moved on, but the fact that a .Net application on Windows Server 2003/SQL Server 2000 could handle the LSE at all isn't a total loss for MS. I'm sure they learned a lot in this failure. Seriously, .Net 1.0 came out in 2002. In five/six years, the VM held up to a pretty high standard. Sure, the damn thing melted down for a day and getting five/six nines out of any Windows system is/will be a total black art, but doing so for a Linux system isn't a walk in the park either. There is plenty of room for this new deployment to crash. If it does, it's not an indicment of Linux; it is a statement on how hard such systems are at all levels.
Rock solid systems can be bit on both platforms. It is just a matter of if the costs and benefits are worth it. In this case, it doesn't seem the Windows solution held up. But to call this as proof on how bad MS software is seems to be hyperbole that misses the fact for a good while, it did work. Given how new all the software involved is, I'm surprised.
You can't really expect a couple of $multi-billion proprietary software giants to keep up with a spry little 400 employee Sri Lankan linux codegeek enclave. It's just not fair.
Help stamp out iliturcy.
In the past six years, there have been no production outages at the London Stock Exchange, and the new systems running on Microsoft technologies are critical to maintaining this 100 per cent reliability record. The London Stock Exchange has a mission critical programme in place with Microsoft, which covers ongoing support. Lester says: âoeOur testing regime makes us very sure Infolect will meet its targets. The level of technical failure testing was very high, and the scenarios from which we have proven resilience are extensive.â
Holy shit I almost peed. Thank you so much.
Windows 7 times slower.
Winkey shortcut mapping for 64bit windows. WinKeyPlus
Wasn't this discuss and flamed about 9 months ago? Get up to speed ChiefMonkeyGrinder.
The .NET platform is a generic platform that is capable of delivering good or at least acceptable performance in most cases.
Indeed. And this has been my point about the "new technologies" for a few years (specifically in the Stock Exchange space but also more generally). These new languages and platforms have lowered the barriers to creating average, adequate systems. If you use excellent people to do good design then you can really lower the implementation and operation costs of these systems and produce excellent applications. By excellent I mean cheap and fast and good or perhaps rather a triangle of cheap, fast and good that has much shorter vertices than the traditional model which makes the overall compromise easier to bear.
BUT, and it is a huge BUT. These systems cannot survive at the edges of performance. You give up too much control to the "framework" regardless of which one it is; .NET, Java, Smalltalk, Rails, whatever. As a result you cannot approach the limits of performance of the hardware at your disposal. Stock exchanges are, by their very nature a shared resource, minimum latency problem which means that every CPU cycle you are not using doing _real_ work is someone not getting serviced as well as the next guy. It is hoped that when you do the design and implementation right, you can take this tradeoff below the threshold of caring for the participants of your market.
At the top end of these systems you have to be using haute design and implementation to cut it.
A comparison that might shed light is cars, family sedan, Ferrari, F1. The family sedan of today is a highly efficient, cheap and really very good quality implementation of a car, but it just can't compete with a Ferrari on performance and whilst a Ferrari will get close to an F1 in many aspects of performance all the extra engineering in the F1 car is designed to wring out the last iota of performance that means that no matter how good the Ferrari is, it can _never_ get any closer to the F1 car. (As a sidelight note that the failures that result from a fault in each of these types of vehicles probably correlates to what goes wrong in the system space as well, not pretty!!).
As such, any system written within the constraints of a "Consultancy/Outsourced/Managed Code" environment simply cannot be at the leading edge of performance.
It is interesting to try and compare the characteristics of a Trading System with other more traditional HPC applications for which supercomputers would ordinarily be used as well as with other high requirement problems. I recall looking at VISAs data processing throughput and on their busiest day in history (23rd of December 2006 IIRC) they processed 180 million transactions in a day), and their IT spend was phenomenal. O can't find that data just now but in the year to June 30 2009, VISA processed just under 40 billion transactions, that translates to about 1300 per second. A stock exchange is an order of magnitude more transactions than that (perhaps more depending on how you count it) and the handful of seconds you wait at the Checkout for your VISA payment to authorise is 4 orders of magnitude longer than a stock exchange requires (10 seconds compared to 1/1000 of a second). That means that a stock exchange is constrained in two dimensions by a total of 5 orders of magnitude more demanding requirements than a system as comprehensive as VISA. I have no real experience about a climate model or nuclear simulation, but I get the feeling that it is a huge dataset issue and your "release valve" is that whilst execution time is ideally to be reduced, the simulation takes as long as it takes and you wait until it is done. CErtainly more Gigaflops than a Stock Excahnge but not as demanding in terms of the number or rigour of the contraints under which you must operate.
To make that work, you kinda need to be down at the metal.
To make sure that you also make it work 100% of the time you need to be bloody caref
"The first thing to do when you find yourself in a hole is stop digging."
If you had read the earlier articles on the TradElect fiasco, you would have known that it was basically written and designed by Microsoft itself. Accenture had a very heavy involvement in the project straight from Redmond.
I'd like to see your source for that - all the articles I've read have described the project as in-house, or developed by Accenture with support from Microsoft on the .NET platform.
So yes, this is an outright condemnation of the quality of Microsoft's products.
Except that the CIO of the LSE has gone on record as saying that TradElect saved them from a series of hostile takeovers. Further to that:
The new platform will be based on Linux and Solaris, while TradElect is based on Microsoft'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's 0.4 milliseconds), but 'for more control, less costs, and the ability to build and innovate'. Furthermore, he describes LSE's experience with .Net as 'very positive'.
So no, it's not an outright condemnation of the quality of Microsoft's products. It's about switching to a cheaper product that operates more quickly and is more flexible.
Sources: Computer Weekly, IBS Publishing.
"It does not do to leave a live dragon out of your calculations, if you live near him." - Tolkien
Why the hell would you use a linked list in a high performance app trading app? I imagine hash tables and BTrees would be more useful data structures for this kind of thing.
They're attempting the impossible - to catch up with the ongoing development of a closed platform. In addition to attempting to make everything they've already written stable, they've got to add in the features that come out with every new release - without seeing the code. They've got to implement invisible corner cases. The company they're following is not only not going to let up with the pace of change (relentless deprecation drives their profits) but is actively toying with them by reading their source code and finding the breaking corner cases, and implementing them intermittently to make the Mono platform appear weak to consumers and to make fixes impossible to find.
Mono will never be mature. For a smart guy, De Icaza sure is dumb - or devious.
Help stamp out iliturcy.
Offshoring. They're going with a cheaper, although quite smart, set of folks.
Cheaper and smarter would be a fairer assessment given the quality of the products.
Furthermore, as other posters have pointed out, Accenture could easily off-shore support for the current system: this is not about costs savings, it is because Millennium have done a better job of making a trading platform than MS and Accenture did.
Millennium already has people in London, and supporting the LSE is likely to require more people there than the current customers (AFAIK just ICAP) did, so that will narrow the element of off-shoring cost savings further.
It doesn't take a rocket scientist to work out that a GC-based, VM-based language that has layers of intermediate execution is going to be slower than is required for a trading system
I don't think that's necessarily has to be the case. I've been doing some benchmarking and disassembly and frankly, yes, if you use C++ native arrays, rather than STL, then C++ will be faster. But, if you go down the path of STL, then C++ is going to be -significantly slower-.
I have some benchmarks and dissembly comparisons here:
http://www.treatyist.com/issue1/cpp_vs_csharp_arrays.aspx
If there is a hole in how Microsoft did things, it is most likely that the consulting group they partnered with is a bunch of retards. Having a Gold membership or whatever their solution program is absolutely no guarantee that anyone works for them is remotely competent. From that we ask, what could have Accenture screwed up?
Well, they could have blindly followed a Gang O' Four Pattern but with giant XML SOAP blobs flying all over the place. They could have forgotten that SQL Server is kind of a shitty database for doing high volumes of transactions with simultaneous reporting unless you use MVCC. They might not have even known what MVCC is. They could have used BizTalk or something really stupid like that, or, maybe in the middle of it they thought they'd get their smarts on and write their own socket server for whatever reason and unwittingly rewrote a single threaded apache 1.0 because they didn't know what they are doing. We don't know.
Bottom line is, its not the language, but the architecture that matters most, in any design. The thing about Linux is, that, the out of the box LAMP stack is a surprisingly robust pattern to cookie cutter all over the place and is fairly flexible, and in any case Linux teams tend to have more real CS people who know what the hell they are doing. I would be willing to bet that if you took the winning Linux team, and said, they had to write it in Mono, they would still have come up with a solution that was pretty good.
This is my sig.
wow... i bet the gnu / open source system will be so simple that a pre-schooler could do it?
I dont buy that "because its open source it will be simpler"
The licensing model has nothing to do with the simplicity or complexity of a system.
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.
Yes, developed by Accenture with heavy MS support. Heck, even MS' case study mentions that.
And dropping TradElect for a different system means that it is worse than the other system, otherwise it would not make business sense. Cheaper is only interesting if the system is at least as good as TradElect. So, at least as good, plus cheaper, equals a better system.
What colour is the sky in your world? Or are you seeing it through a nice four-pane Window?
Mart
"I know I will be modded down for this": where's the option '-1, Asking for it'?
This is one of the successes that should be advertised in the "commercial" portal of Linux.
This should be along with other "enterprise success stories" linked in the front page of Linux.com
Along with "learn you way around Linux" in minutes.
like this guys
Seriously, the Linux.com portal must be purchased by RedHat, Novell, IBM, Canonical or other commercial Linux company, to make it a real starting point for people that come in touch with the Linux OS (being it Enterprise, Workstation or Desktop users).
Ubuntu is an African word meaning 'I can't configure Debian'
MS has not enough money anymore to corrupt key people at London stock exchange?? Like what they did at asus for the netbooks and with activision about the UT3 client and what about blizzard with WOW? Another explanation:it really does not work.
Linux audio is inconsistent. Some people want a Linux that Just Works. I know I do.
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
When I worked at a large bank a few years back I had to write a network library that would send trades and receive stock market info. Performance was the MOST critical factor of the whole project. Microseconds mattered. In the end it was written in C++ (though to be honest it was mostly C code) on linux. AFAIK its still there.
http://blogs.computerworld.com/london_stock_exchange_to_abandon_failed_windows_platform#comment-155091
Hopefully this is an example for other large organizations to move away from the expensive train of Microsoft. I own my own personal business that started in 2001, and I use Linux exclusively. It has kept me in business, and I have been able to keep costs way down because of this. Also, I can focus on the business rather than maintaining Windows servers. http://members.apex-internet.com/sa/windowslinux
"I'm posting this as AC for a good reason; I work with Accenture and Microsoft both...
.net runtime nearly a decade old)"
I believe you, I really do and your not invoking the appealing-to-authority astro-turfing/fud strategy.
"if say, PM X doesn't request Microsoft to look at problem B because they have no idea it could be a problem (because they not being of a technical background wouldn't think to think it could), then the boys in blue won't either. Sounds like this was the more of the same"
You're talking nonsense. The stock exchange system failed on one of the busiest trading days. And the system had been in place two years, enough time to have any design bugs come to light.
"there were serious holes in the system I can see already; the infrastructure was ancient (a DBMS &
Do you have any verifiable citations for the above. Why, for instance would they be using a decade old run time on a system implemented only two years previously. And if it wasn't capible of delivering, why was it ever implemented in the first place? As someone who works with both, you should have all the inside information.
'The London Stock Exchange (LSE.L) suffered its worst systems failure in eight years on Monday, forcing the world's third largest share market to suspend trading for about seven hours and infuriating its users. The problem occurred on what could have been one of London's busiest trading days of the year'
'I think the real problem wasn't .NET, but decision-makers basing their decisions on the wrong input. I've seen this happen in our own company too .. It was a bit like teen sex'
rest of waffle snipped .. :)
to MSFT.
Sorry could not resist...
Cheers,
http://en.wikipedia.org/wiki/Nelson_Muntz
"Accenture and Microsoft obviously botched the application developement. I wouldn't blame the tools or the platform if something goes wrong. Maybe they chose the wrong tools and platforms. Maybe not. Difficult to say"
Without you producing any evidence to the contrary, the obvious conclusion is that the dot.NET platform isn't robust enough for a real-time application such as the LSE. Else provide evidence as to exactly where and when 'developement' went wrong. How would you have done it differently?
Yes, developed by Accenture with heavy MS support. Heck, even MS' case study mentions that.
So, you've just completely contradicted your original assertion (developed almost exclusively by Microsoft), and you still didn't provide any source. Still, making steps towards telling the truth, so we're progressing.
And dropping TradElect for a different system means that it is worse than the other system, otherwise it would not make business sense. Cheaper is only interesting if the system is at least as good as TradElect. So, at least as good, plus cheaper, equals a better system.
Well done, you can read what I wrote. What you haven't pointed out is why dropping TradElect, a system that you now admit was not written by Microsoft, is in anyway damning of the .NET platform or Microsoft in any fashion.
"It does not do to leave a live dragon out of your calculations, if you live near him." - Tolkien
... not that I have any particular interest in pushing .Net, but there is a reason that you as an end user care about how easy it is to develop in an environment. Applications that are easy to develop cost less. So while it's no skin off your nose if a developer has to work extra hard to make an application... you will end up paying more for such an application.
so its entirely possible, but not entirely .NET
Oh, we aren't switching because Linux is better than microsoft, we really likes the .net. What a big fat pile of steaming crap! They are switching, don't say why, but squirm like little bugs when asked to disparage the beast. I will on their behalf: MICKEYSOFT SELLS CRAPWARE! LINUX ATE ITS LUNCH! My only other beef with the article comes from the word "CODES". When talking about software, a single line of code is described as a single line of code. Source code is CODE, not CODES! You don't get a hairs cut. You don't go flying on a plane through the airs, you don't say a farmer has a wheats field. What possesses the great unwashed to call it codes? (sic) I've suffered with people who fail basic numeracy, but literacy too? In the world of software, the source code is code (plural always implied, ALWAYS IMPLIED). Just like a wheat field, traveling through the air, going on a road trip (yes there are many roads you take on the trip, but its never a roads trip). Literacy people, lets get some!
You MS shills really like playing silly semantic games and twistingn words, do you not? This story has been mentioned on Slashdot before. You even commented in the original stories, like you always do to defend your masters. Since I know you read the stories, and you know I know, why don't we just drop the bullshit of you demanding I prove the Sun rises in the East?
Now sod off.
Mart
"I know I will be modded down for this": where's the option '-1, Asking for it'?
I'll take that contentless, ad hominem rant to mean you don't actually have a point of view that bears up to discussion. I will gladly sod off on that basis with a broad smile on my face.
"It does not do to leave a live dragon out of your calculations, if you live near him." - Tolkien
I mean, there were serious holes in the system I can see already; the infrastructure was ancient (a DBMS & .net runtime nearly a decade old) for example
Programmer wanted - Must have 10 years experience in .Net.
Well, it is often said that ignorance is bliss. So I quite understand how you can keep smiling while acting like a complete idiot.
Mart
"I know I will be modded down for this": where's the option '-1, Asking for it'?
I might be a complete idiot, but I'm a complete idiot with sources that agree with me. What do you have, other than rants, self-contradiction and fabricated nonsense?
Don't answer that, I almost certainly won't read it.
"It does not do to leave a live dragon out of your calculations, if you live near him." - Tolkien
Funny. I did refer to Microsoft's own case study. And it is you trying to strawman a little hyperbole in my post that makes you look like the idiot you are.
Yeah, Accenture did the actual implementation, under guidance from Microsoft. MS says that explicitly in its own case study. That is the same as 'Microsoft basically wrote TradElect', if you account for the obvious hyperbole indicated by the word 'basically'. Some of us have the intelligence to have command of more style elements than mere invective.
Unless of course you are a complete moron or a dishonest fuck, and you can't or won't read one word for context.
But hey, your posting history speaks for itself, now doesn't it? Fucking shill.
Mart
"I know I will be modded down for this": where's the option '-1, Asking for it'?
>>The only thing that seems strange is the cost disparity.
.NET applications are quick to get to the "80% done" phase. "Are you finished?" "80% done, boss!"
...which fail to perform as advertised or scale properly...
...so you buy third-party controls, which don't solve the problem...
...so you supplement the cheap wizzywig coders with real programmers, who co$t much more money...
...and you lose the source code because VSS crashes and corrupts its repository...
...and the CIO won't use SVN or Git or Mercurial, but insist on $pending much more on Micro$oft Team Foundation $erver...
...and deploying builds takes much longer because "it worked on my machine", and who needs CruiseControl.NET when the IDE is so neat!...
...and managing the servers securely requires new hardware and better trained administrators...
...which is why the project often seems to cost 200 times what was budgeted.
.NET; but the perception that "it's just so EASY!" often makes it worse.
.NET apps are cheaper to develop.
>>.NET apps are usually much cheaper to develop...
I'm not sure of that reasoning. Based on my personal experiences, I would agree that
The problem is that often that represents 20% of the total cost, and the remaining effort to get to completion is almost all cost overrun.
It starts off as a largely wizard built app, using stock controls...
None of this is unique to
I'm also not saying this is how this particular project went; just using these points to discuss the perception that
> Dude, a .reg file *is* a script. There's no difference between double-clicking on FIXSOUND.REG
> and double-clicking on sndfix.sh.
Except sndfix.sh (oir any shell script) can have conditional and branching logic, and verify the current configuration settings.
A reg file can't do that; it is always "erase and replace, no questions asked."
That's why more Windows admins are using PowerShell every day.
> My big complaint with the registry is that it's too convoluted. Config files are typically
> either in the user's home directory, the program's working directory or its installation
> directory. Registry entries could be buried under something like HKEY_LOCAL_MACHINE/SYSTEM/
> CurrentControlSet/Control/Class/{4DE36972-E325-CE11-CBFC-86753094BABE} -- how the hell
> am I supposed to remember that? (Assuming I could even find that in the first place!)
Very true, and I feel your pain.
So now we trust financial services companies and the, erm sensible decisons they make. A .Net app is no more or less expensive than any other - it's decisions that cost money and most of the time financial services companies have made the wrong one.
steven
That's a bit rich. Without proving any evidence to the contrary, you're pulling conclusions out of thin air. Else (sic) provide evidence as to exactly where and when "the dot.Net (sic) platform" isn't robust enough for a "real-time application" such as the LSE. (Real time application? Do me a lemon...)