The announcement of each new TOP500 list and especially those with systems that break the triple order of magnitude barrier in FLOPS tend to get me thinking about the meaning of the term “supercomputer.” This term has been with us at least since the 1970s (if you know of any earlier use, I would greatly appreciate hearing from you.) Although it has had its ups and downs over the years, the term has shown amazing ability to capture the imagination. Yet “supercomputer” has also persistently defied precise definition (much to the mortification of the author). Following is a list of definitions for supercomputer that have been proffered over the years:
- Any computer built by Seymour Cray. Although a long and impressive list of innovative system architectures can be added here, the Cray name has always been synonymous with supercomputer.
- A computer used to address the most demanding problems. This definition is closest to the mark and has had the longest staying power.
- The largest, most powerful computer available at any given time. Another definition with staying power and one that is reflected in the interest in the TOP500 list. However, this definition can be a bit exclusive and is blurred by grid, cloud, and internet computing applications (e.g., SETI at home, Folding at home, Google search).
- Any computer that turns a compute bound problem into an I/O bound problem. One of the earliest definitions, and important in that it emphasizes the need for system balance across all components.
- A computer in which the processors are provided for free to anyone willing to pay for the memory system necessary to keep those processors fed. This definition may become more important as multicore processors and accelerators come on line.
- Any computer costing more than $1M. Given the initial time frame for the definition and inflation this number is now closer to $3M.
- Any computer where the compute time is worth more than the programmer time. This is an important distinction; supercomputer class problems can/must use all of the power available to them. The importance of the applications and expense of the system generally justifies the effort at optimizing applications.
- Any computer you can’t program. You knew the job was dangerous when you took it. This definition may become more important as more heterogeneous and/or accelerator-based systems enter the market.
- A computer that is only one generation behind what the users want. This definition was provided by Neil Lincoln, the chief architect for the CDC Cyber 205 among other machines. In addition to illustrating the frustrations of both end users and systems architects, this definition highlights the ability of supercomputing requirements to keep up with if not exceed the performance increases provided by Moore’s Law.
- Any computer in the top 10, 100, 250, or 500 of the TOP500 list, depending on where your computer happens to fall. There is a little bit of P. T. Barnum inside of us all. Consider the audacity of calling it a “super” computer in the first place.
- A computer going where no computer has gone before. Why the field remains interesting, provocative and fun.
I do not claim that the above list is exhaustive (additional definitions are welcome), and while I do not find any of these definitions entirely satisfactory, I believe there is some truth in all of them.
At the risk of tilting at windmills, and perhaps adding a little more confusion to the definition, I would like to sum up the above definitions by suggesting that a supercomputer is a computer system that exhibits one or more of the following characteristics:
- Designed and/or configured to address requirements for leading edge systems performance, or to address the most demanding problems.
- Designed and/or configured to address requirements for leading edge scalability.
- Incorporates, tests and perfects new computing technologies and methodologies.
Finally as a market researcher I would like to add that supercomputers are generally associated with market creation and expansion. (I am sure Professor Barnum would agree.)