Fast, Faster, Fastest: Linux rules supercomputing
Summary: Just as surely as Microsoft rules the desktop with Windows and Apple rules tablets with the iPad so Linux rules supercomputers of every type and sort.
A few decades back I was working at Goddard Space Flight Center. I'm sorry to say that I left just before some people I'd met, Don Becker and Thomas Sterling, built the first Linux cluster, Beowulf. They didn't know it, but by making a cheap cluster from 16 486DXs processors and 10Mbps Ethernet, they were creating the ancestor to today's Linux supercomputers. Now, not 20 years later, well over 90% of the world top 500 supercomputers are running Linux.
The new supercomputer champion of champions, according to the TOP500 list of the world's top supercomputers is Sequoia. This IBM BlueGene/Q system installed at the Department of Energy's Lawrence Livermore National Laboratory achieved an impressive 16.32 petaflop per second (Pflop/s) on the Linpack benchmark using 1,572,864 cores." That's 16.32 quadrillion floating-point operations per second). The operating system? Linux of course.
Second place goes to Japan's Fujitsu's "K Computer." It's installed at the RIKEN Advanced Institute for Computational Science (AICS) in Kobe, Japan, with 10.51 Pflop. It uses 705,024 SPARC64 processing cores. The hardware may be Sun/Oracle in design, but the operating system is Linux, not Solaris or OpenSolaris.
A look at IBM's Sequoia - the world's fastest supercomputer (photos)
Indeed, Solaris isn't on the top supercomputer list at all and OpenSolaris only has one system. Microsoft does a little better than that. There are two top 500 supercomputers that run Windows HPC 2008. The only operating system that even pretends to give Linux any competition if IBM's house brand of Unix: AIX with 22 systems, aka 4.4% of the world's fastest supercomputers.
If you just glance at the Top 500 chart you might be fooled into thinking Linux isn't quite as dominant as it really is. If you look closer though you'll see that after AIX instead of the customized Linux that makes up the bulk of the list, there are numerous specific Linux distributions. At the top of this list you'll find SUSE Linux Enterprise Server 9 with 11 systems; SLES 10 with 8; and Cray Linux with 7. The supercomputer world really does belong to Linux.
What's even more amazing than Linux's total domination of supercomputing is how fast these Linux-powered thinking machines are getting faster. Only six-months ago, in the last round-up of supercomputers, the combined performance of all the supercomputers was 74.2 Pflop/s. Now, the total performance of all the systems on the list is 123.4 Pflop/s. Can you say fast? I knew you could!
To look at another way, 20 of the supercomputers on the latest list reached performance levels of 1 Pflop/s or more. The first supercomputer to break the petaflop barrier, IBM's RoadRunner running Linux of course, only did it in 2008 The No. 500 machine on the list? Its 60.8 teraflop/s would have made it number 332 last year.
Looking ahead, the next goal to crack will be exaflop supercomputers (PDF Link). An Exaflop is a thousand petaflops.
Since Sequoia just cracked 16 Pflop/s that may sound like a goal for the 2020s or even the 2030s. Intel thinks it can get supercomputers there with its new Xeon Phi processor family by 2018. I'm not sure they'll be able to do it that fast. I do know though what operating system the first exaflop capable supercomputer will be running though. It will be running Linux.
Related Stories:
IBM cools supercomputer with hot water
U.S. IBM supercomputer is world's fastest: Does it matter?
U.S. IBM supercomputer is world's fastest: It does matter
Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback
Finally something related to Linux and Open Source....
What is the inate charactersitic of Linux . . .
The most attractive characteristic for supercomputer developers:
Full source, modular, zero royalties, HPC community support, unix-style...
Nothing else comes close, the same reasons it is dominating embedded. It requires detailed technical understanding, a resource common in these areas (unlike the enterprise IT support desk).
Add commercial support, reliability and scalability and you've got what underpins it's growing popularity for servers.
Desktop belongs to windows (specifically WIN32), but this market is challenged with the rise of mobile tech - too early to call the winner (Android performing very well).
Linux is the kernel
On the other hand, *BSD, OpenSolaris
are stable and good but do not support as many architectures and features as Linux.
So it is the combination of highly modular, scalable, robust, configurable, stable, well documented kernel and applications.
At the same time, quite a few applications (for computational biology, in particular ) cannot run on Windows.
@daftkey, the kernel expert[quote]"Linux is actually one of the only OS's left in existence that still uses a monolithic kernel architecture, which is why this type of work needs to be done in the kernel in the first place."[/quote]
Well, Linux (and *BSD) can be build with a humongous amount of different configuration parameters (modules). 3 options exist for modules : in the kernel, loadable module and a built against the headers . Whatever is done, none is an existing option for the NT-type kernel of MS Windows. Because..... the source is not available for most people, even fewer people can actually build it (what compiler, what parameters? configs anyone?) You can only take MS' word on this. It's like the super-luminous neutrinos experiment. Some claimed to have observed them, other checked and did not approve. It is this ability to be able to verify claims that is also essential in kernel architecture theory. Same is with supercomputers.[quote]"For most other OS's, a badly behaving driver or module would be a service on top of the kernel, rather than the kernel itself."[/quote]That's theory. Remember that Darwin and NT are hybrid. When you install a printer on Windows (Vista, I remember) you have to reboot the machine, so what is about userland here? Many times drivers on Windows are not available at place, Linux(*BSD) just loads the the driver dynamically. Granting various rights on some hardware might be insecure in many cases.
What kind of printer?
Didn't install that many, have you.
@anothercanuck, only QNX does it better than Linux and did it first (1982)
http://en.wikipedia.org/wiki/QNX#History
"Unlike Linux, QNX does not implement POSIX as an add-on layer. The QNX microkernel was designed from the beginning to support POSIX realtime facilities, including threads."
"As a microkernel OS, QNX Neutrino is fundamentally open to customization. This is because most OS-level service drivers, file systems, and protocol stacks exist as user-space applications outside the kernel, except for a few core services (e.g. scheduling, timers, interrupt handling) that reside in the kernel space. As a result, developing custom drivers and applications specific OS extensions does not require specialized kernel debuggers or kernel gurus. In fact, as userspace programs, OS extensions become as easy to develop as standard applications, since they can be debugged with standard, source-level tools familiar to every developer."
http://software.intel.com/en-us/articles/embedded-development-qnx-or-linux/
QNX isn't popular in HPC, has restrictive license and requires royalties
"Modular" is actually one thing Linux is not...
"The Linux kernel has been modularly designed from the ground up so anyone can add new (and disable badly behaved existing) functions/drivers/routines for any of the numerous supported architectures."
Linux is actually one of the only OS's left in existence that still uses a monolithic kernel architecture, which is why this type of work needs to be done in the kernel in the first place.
For most other OS's, a badly behaving driver or module would be a service on top of the kernel, rather than the kernel itself.
Actually, it is "fairly modular".
The only thing monolithic about it is the memory model used.
QNX possibly better form a technological standpoint.
Because some people's definition of "better" is based on technical superiority, not political or financial superiority.
Which is better?
In the HPC world, another 1000 nodes is far more important.
The question was "Why do supercomputers use Linux?"
Linux does have user space drivers/apps, as well, but user space software can never match the speed of a kernel based software, due to a minimum of 1 extra software layer. User space software's primary goal is isolating the processes from each other and from the kernel/hardware, i.e. security. The primary goal of supercomputer developers is speed, hence kernel based.
@daftkey
You do not seem to have done much development, so I will let the monolithic thing slide. The Linux kernel can be configured to be as small as 2Mb or as large as 1G. Only takes about 5 minutes to change the config. Working on supercomputers means creating a lot of new software. Despite what you may believe, software doesn't always perform as expected during development. That is why the ability to easily disable chunks of software is important. It's not like there are a lot of supercomputers out there, and one programmer cannot wait for another who is having an issue with a difficult task, to test his software. For consumer desktops, you're right, but that's not the dicussion here.
Don't get me wrong here I am not trying to be anti MS but
Pagan jim
If you look, windows doesn't rule the tablet.
Fast, Faster, Fastest: Linux rules supercomputing
Linux pales next to QNX for modularity
QNX, the world's best Real Time OS
Open source is the future...