The democratization of HPC is unlikely to happen if every company and institution is forced to build and maintain multi-million dollar datacenters to house supercomputers. Power, cooling and space constraints as well as a shortage of system administration expertise will limit the spread of HPC datacenters.
With the concentration of computing power into blades and ever-smaller form factors, building a large datacenter has become an adventure in creative plumbing. The new 95,000 square-foot facility under construction at the University of Illinois that will house the multi-petaflop 'Blue Waters' supercomputer in 2011 is expected to cost $72.5 million (compared to the $194.4 million for the super itself). Add in lifetime power and cooling for what is certain to be a multi-megawatt system, and it's reasonable to project the facility plus operational costs will approach the original outlay for the hardware itself.
For legacy datacenters that can't expand, especially those in urban areas, the challenge is to upgrade with hardware that fits into the existing space but doesn't overload the energy and cooling capacity of the building. And for workstation-bound users who would like to move into the HPC realm, but don't have a datacenter and have no plans to build one, the problem is even more obvious.
Are there alternatives? There are two relatively recent developments that could free HPC users from their datacenter habit: personal supercomputing and cloud computing.
I realize that using the cloud to alleviate the datacenter problem seems counter-intuitive. Obviously cloud computing requires datacenters too. You're just pushing the problem somwhere else. The idea here is to get rid of on-site facilities. The big advantage is that ultra-scale datacenters can be (and often are) located where power, cooling and real estate are not at a premium, and can use economies of scale to further lower costs.
For example, Google, Microsoft and Yahoo have set up shop along the Columbia River in Oregon to tap the cheap hydro-electric power in the area. To serve its expanding cloud services, Amazon recently announced it was building three new facilities along the Columbia, along with its own 10-megawatt power substation. Google is even considering floating datacenters offshore that could be powered and cooled by the differential in ocean temperatures.
The advantages of computing in the cloud are obvious. Not only can you ditch the local datacenter, but the supercomputer as well, along with all the associated administration and maintenance costs of the hardware and system software. At the same time, you only pay for the computing you use and can scale your problem up (or down) as required.
The disadvantages are just as numerous and are well outlined in a recent article
by LSU's Thomas Sterling and Dylan Stark. In a nutshell, there are classes of HPC apps that don't map well to the cloud as it exists today, either because of limitations in the cloud infrastructure or data security issues. The former has to do with the deleterious effects of virtualization and loosely-coupled clusters on performance, especially for highly-tuned and tightly-coupled HPC applications. As far as data security goes, well let's just say Los Alamos won't be doing nuclear weapons simulations on Amazon's EC2 anytime soon.
But even the authors seem to agree that for many capacity HPC applications, like data analysis and visualization, the cloud paradigm offers a lot more flexibility than home-grown set-ups. And this model will be especially advantageous for smaller organizations and groups that have a hard time justifying a datacenter based on peak computing requirements.
A handful of HPC services already exist. Sun's Grid Compute Utility, IBM's Computing on Demand and Interactive Supercomputing's Star-P On-Demand have been available for some time. The MathWorks and Wolfram Research recently incorporated cloud computing support into MATLAB and Mathematica, respectively. And this week, Univa UD launched
an HPC virtualization capability that uses Amazon EC2. I expect to see a raft of new HPC cloud offerings in 2009.
Moving back down to Earth, the other potential datacenter killer is the personal supercomputer (PSC), which can inhabit the desktop, deskside or office closet. The current generation of PSCs is largely based on GPUs, which can now provide multi-teraflop acceleration. These machines were much in evidence at SC08, thanks in large part to the introduction of NVIDIA Tesla-equipped systems
Of course, we've seen these personal supers come and go. Just a few years ago, Tyan Computer and Orion Multisystems came out with deskside cluster machines. But these sub-teraflop machines never caught on.
The new crop of GPU-accelerated machines seem more permanent to me. For one thing, they're more powerful. At 4 teraflops (single precision) they've got some serious performance to offer. Plus, with CUDA, OpenCL, and a host of other software that is quickly becoming available from third-party tool makers, it looks like GPU computing has quickly established a new niche in the HPC ecosystem. With big-name players like Cray, Dell and Penguin Computing offering PSCs (with both Linux and Windows environments), there is a much better chance that these machines will endure.
Non-GPU PSCs are possible too. SiCortex already offers its own MIPS-based 72-core desktop system, although it's mainly positioned as a development machine for the company's larger clusters. If newcomer Convey Computer decided to shrink-wrap its new FPGA-based "hybrid core" server into a deskside or even desktop system, that could have the makings of a very interesting HPC system for personal use. For those of you who want to stick with vanilla x86 boxes, it will soon be possible to build personal multi-teraflop machines from Intel's upcoming Intel Nehalem processors. Further down the road, the manycore Larrabee processor -- or derivatives thereof -- should provide a natural computing engine for desktop teraflopping.
So which model will prevail? Here's one possible scenario: Desktop, deskside, and office systems will eat away the low and middle end of the market from below, while HPC applications requiring really large-scale parallelism will move into the cloud. For capability supercomputing applications, perhaps clouds will emerge designed specifically for high-end HPC. It's not too hard to imagine the NSF's TeraGrid and the European Commission's DEISA (Distributed European Infrastructure for Supercomputing Applications) supporting cloud services targeted for supercomputing. The U.S. DOE might develop complementary clouds for its user community.
To the extent datacenter issues inhibit HPC adoption, clouds and PSCs will look ever more attractive. I anticipate a lot of experimentation in both areas in the upcoming year.