How fast is a supercomputer?
Over the last two weeks, Cray has begun the installation of the Blue Waters supercomputer at the National Center for Supercomputing Applications at Illinois (see http://timelapse.ncsa.illinois.edu/pcf/inside2/index.php for live images of the installation).
Blue Waters will be the “Track 1” system for the National Science Foundation and will provide unprecedented computing power for the nation’s scientists and engineers. To provide such computational power, the system makes use of multiple levels of parallelism – large numbers of state-of-the-art multicore processors, connected with a high-performance interconnect, and including a modest fraction (a little over 10%) of nodes that include a graphics processing unit (thus most of the peak performance is in conventional multicore processors, while the GPUs can provide a significant performance boost). Also part of the system is a high performance I/O system, ensuring that moving data into and out of the system will not be a major bottleneck.
So how fast is Blue Waters? That depends on what you mean by fast. Perhaps the easiest measure is the peak performance in floating point operations per second (FLOPS). However, everyone in high performance computing knows that this number is at best a “guaranteed not to exceed” number and does not reflect the performance that is seen on applications. The next choice is the benchmark used for the Top500 list. However, this benchmark, which uses a direct algorithm to solve a large, dense linear system, is also widely understood to not reflect the performance that users of the system will see. Other benchmarks, including the HPC Challenge and Graph500 benchmarks, attempt to address these limitations by picking “better” benchmarks, but still do not typically represent the performance seen by applications.
A better measure of performance, though much more difficult to define and measure, is the sustained performance seen by the applications that run on the system. And even this is somewhat artificial (we all know how to increase the FLOPS achieved by an application by using algorithms and computations designed to increase compute intensity at the cost of computational efficiency). The real measure will be in what the system accomplishes – what new knowledge results from using Blue Waters.
So how fast will Blue Waters be? The Blue Waters team (of which I’m a member) is confident that the system will exceed a PetaFLOPS on a representative set of computationally efficient, extremely parallel applications, and we expect groundbreaking science results from the teams using the system. And that’s really all that counts.