Windows Cluster Hits a Petaflop, But Linux Retains Top-5 Spot
Twice a year, Top500.org publishes a list of supercomputing benchmarks from sites around the world; the new results are in. Reader jbrodkin writes "Microsoft says a Windows-based supercomputer has broken the petaflop speed barrier, but the achievement is not being recognized by the group that tracks the world's fastest supercomputers, because the same machine was able to achieve higher speeds using Linux. The Tokyo-based Tsubame 2.0 computer, which uses both Windows and Linux, was ranked fourth in the world in the latest Top 500 supercomputers list. While the computer broke a petaflop with both operating systems, it achieved a faster score with Linux, denying Microsoft its first official petaflop ranking."
Also in Top-500 news, reader symbolset writes with word that "the Chinese Tianhe-1A system at the National Supercomputer Center in Tianjin takes the top spot with 2.57 petaflops. Although the US has long held a dominant position in the list things now seem to be shifting, with two of the top spots held by China, one by Japan, and one by the US. In the Operating System Family category Linux continues to consolidate its supercomputing near-monopoly with 91.8% of the systems — up from 91%. High Performance Computing has come a long way quickly. When the list started as a top-10 list in June of 1993 the least powerful system on the list was a Cray Y-MP C916/16526 with 16 cores driving 13.7 RMAX GFLOP/s. This is roughly the performance of a single midrange laptop today."
It is interesting that there are 6 new entrants in the top 10. Even more interesting is the fact that GPGPU accelerated supercomputers are clearly outclassing classical supercomputers such as Cray. I suspect we might be seeing something like a paradigm shift, such as when people moved from custom interconnect to GbE and infiniband. Or when custom processors began to be replaced by Commercial Off The Shelf processors.
Legally obligatory sig : My opinions are my own... etc etc
Well, it says the hardware ran linux at X speed, and windows at less than X speed...
Actually the article doesn't say that. The hardware was different: the Linux configuration had more nodes than the Windows configuration. This *might* have been for some technical reason, or it might have been for some extraneous reason (e.g., they have better things to do with this beast than run benchmarks on it).
In any case, the difference between the Windows and Linux scores was for practical purposes insignificant. It was a *benchmark*, not a real computation. Even if the benchmark is pretty good, the mix of resources used by a real program won't match it exactly (e.g. an app that uses less floating point calculations but more memory allocations might see a very different result).
Microsoft's aim is not to run on research clusters, but to make inroads into businesses that have in-house Windows system administration and programming capabilities and might have use for high performance computing. If so, the linpack benchmark is probably close to irrelevant for many applications.
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
Wait, what?
Have you ever paid attention to the OS trends in the Top500? All the proprietary OSes are disappearing. It used to be nearly all proprietary Unix and BSD. Now it's 91 percent Linux.
Here's a graph showing the demise of Unix in the Top500
http://www.top500.org/overtime/list/36/osfam
Linux doesn't scale? It fits in toasters and supercomputers. I think that's pretty good scaling if you ask me.
You could probably make the argument in 1991 when Linus smote the ground and came up with the kernel, but not anymore. You could probably even make that argument before kernel 2.0. But since then? Claiming that Linux doesn't scale well just makes you look like a Microsoft fanboy whistling while walking past the graveyard at best.
--
BMO
Yet it powers most of the top 500 supercomputers and can run on embedded platforms. If that's poor scalability, I want to know what's good scalability.
SSC
Well... "being able to run more nodes" is also a function of software. It's called scalability.
Being able to throw more nodes at a problem would certainly be a "feature" for HPC.
A Pirate and a Puritan look the same on a balance sheet.
Over the next 10 years I think we will see China, India, and other growing economies surpass the US in technology and science research, just as the US surged ahead of the "old world" countries in Europe post World War 2. More Phds, more papers, more discoveries.
As life gets more comfortable and stable for a country, in terms of things like health, energy, and infrastructure, the focus always moves away from this kind of technology advancement and onto the arts, literature, and social concerns.
Try asking someone in Europe how important they think it is for Germany, or France or the UK to have a leading position in terms of supercomputing capability. It just doesn't feature on the radar for them.
The same will become true for the US over the next decade.
From TFA: "I'm not sure why the tests were run on a different number of nodes".
No one anywhere, except in your imagination, said Windows wasn't *able* to run on the extra nodes.
They didn't run the Windows benchmark with all available nodes. I'd assume they didn't have licenses for every node but the researchers made it sound like they had some sort of nerdgasm because the machine could benchmark running Windows on par with Linux (only a 5% margin on a smaller cluster).
Not really. Yes, there is something of an arms race for the top500, but even after the top500 no longer lists a system it will almost certainly still be in use by someone for practical purposes other than benchmarking.
XML is like violence. If it doesn't solve the problem, use more.
no possible reason to want to write custom, non GUI software from scratch on Windows
That's a bit excessive! It does have some nice things going for it, including a fairly nice API that's been binary and source compatible for decades. There's end-to-end Unicode support in all APIs, a nice event logging and tracing system, a nice performance monitoring system (WMI), various asynchronous file and socket APIs, including advanced copy-less APIs that can tie TCP streams to specific CPU cores, etc...
Unlike Linux, Windows has a built-in volume snapshot system that supports application quiescing (not just cache flushing), exportable snapshots, advanced access-list support that is standard and consistent, etc...
Really, the biggest issue with Windows is that the source is closed, so if you need something special for a cluster, you're out of luck. "patch tuesday" is only an issue on networks which are not controlled, and a supercomputer would use a dedicated, isolated network.
For HPC clusters, wouldn't you want something simple like a NIS domain? What advantage does Windows offer here? Further, what parallel programming support does Microsoft offer?
And, since the nodes in the cluster are headless anyway, and the code is going to be written to POSIX and MP standards anyway, what advantage does Microsoft offer AT ALL compared to Linux or BSD?
Linux, of course, offers early adopter support in this area. It tends to prevail simply because of the other clusters. You know it can work, and can cross-share experience. Windows? Not so much. And, if the Windows API doesn't help, the tools don't help (sure, they may not hinder, either), there is no compelling reason to build such a thing.
Unless Microsoft funds it (I would like to see the OS bill for Windows on a 10,000+ processor node cluster).
Strangely, I would have expected Microsoft to fund at least one cluster in the top 5, just for name. Now, I haven't looked in a few months, but the last time I did look (Jaguar was still #1), a Windows based cluster didn't even break into the top 10.
Just another "Cubible(sic) Joe" 2 17 3061
And you know for a fact that they hadn't added nodes to the cluster between when they ran it on windows and on linux, or that some nodes weren't down for service or other maintenance, moving, or a million other potential reasons?
I don't pretend to know why when I don't. You pretend to know why when you don't.
The point is to NOT have anybody to code it at all.