Back in the late 1990′s I was siting in an “Extreme Linux” meeting when some guy named Bob Young got up and talked about this thing called Red Hat Linux. Prior to Bob’s talk, it had been pretty much non-stop techno HPC stuff from some of the early movers and shakers. I still recall clearly one thing Bob had mentioned. It was conundrum of sorts. In his travels, Bob had seen everything from button-down rocket scientists to spiky-hair artists using Linux. He was trying to find the commonality between all the disparate groups. He doubted that the rocket scientists and artists ever talked and if they did their goals (and vocabulary) were surely quite different. His best guess was two things were important to everyone using Linux at the time: Ownership and Choice.
By ownership, I am sure Bob meant open source and the ability to do what you want with Linux, (i.e. design a rocket or make art). No one was going to tell you what you could or could not do with Linux. In addition, choice brought flexibility and options to the table. These two aspects have allowed Linux to grow almost anywhere. I am sure to the makers of commercial OS’s see Linux as a weed because it seems to sprout up on anything that can compute. It is highly configurable (choice) and has been placed on cell phones, game consoles, routers, old PCs, and supercomputers.
Linux is also considered an OS with which you can tinker. The ability to tinker also leads to ideas and projects that previously were not possible. Consider Linux HPC (a.k.a Beowulf Computing) which began as Linux running on some 486 processors using 10BaseT Ethernet. Like all good pioneers, these early users did not listen to conventional wisdom. They were doing something “you were not supposed to be doing.” Why put some student’s software project from Finland on a perfectly good 486 system? Fortunately for us, Tom Sterling and Don Becker answered that question with MFLOPS.
The pliable nature of Linux has allowed it to move on to many HPC platforms. Currently, GP-GPUs are all the rage and it is relatively inexpensive to coble together some old computer hardware install Linux and try a few things with the freely available toolkits from nVidia and AMD/ATI (CUDA and OpenCL). There are countless people tinkering with this idea right now. Many people were not aware that much of the early work on video card computing was done with GPUs (no General Purpose component) using languages and tools designed for graphics processing. The process was quite awkward, but worked in a big way.
Another fine example of Linux tinkering is the PS3 Cluster Guide: 1.0. This document provides step by step instruction on how to take a handful commercially available Sony PS3 game consoles and turn them into a high performance compute cluster. If you recall, the PS3 uses the Cell processor which can deliver 204 GFLOPS of single precision and 15 GFLOPS of double precision performance when used to crunch numbers. Small 8-node personal supercomputers worked quite nicely for many budget conscious scientists. Although, IBM has nixed any further development on the Cell for HPC systems, one would assume that Sony will continue to use it in its game platform. (Note: The Cell was jointly developed by Sony, Toshiba, and IBM.)
All was good in DIY Cell HPC land until Sony made this disappointing announcement. Citing “security concerns,” Sony has decided to remove the “Install other OS” feature from the PS3 with the next firmware upgrade. If I recall correctly, one of the selling points of the PS3 was the ability to buy a hard drive and run/install Linux on the system. Of course those using PS3s for astrophysics or folding proteins can just ignore the upgrade and continue crunching numbers. The problem is that future systems from Sony will not have this ability and those using the PS3 now will become a vanishing breed. Thanks Sony. Sigh.
I should mention that homebrew HPC is close to my heart (and desk). I have always been interested in how many FLOPS you can get out of low cost hardware. Back in 2005, Jeff Layton and I built the The Value Cluster and surprised a lot of people with how much performance we could get for $2500. We hit 14.90 GFLOPS running HPL which worked out to $167/GFLOPS. Jump forward to 2008 and the Limulus Personal Cluster hit $39/GFLOPS while achieving 53.44 GFLOPS running HPL. I once thought about using PS3s. Never again. I’ll choose some other low-end hardware for my new version of Limulus.
When you think about it, all those free as in speech rants about software from Richard Stallman have some merit. The ability to modify open software and run it on hardware that you purchase seems like a pretty basic freedom. At least one that should not be taken for granted. In removing choice and alienating customers from the PS3, Sony may have some master plan, but I have a more pedestrian phrase: stupid move. If the history of HPC has shown us anything it is that the ability to tinker creates markets.