Article Index

What Is A Supercomputer

Some difficulty in defining what is a "supercomputer" remains today. A simple definition is; supercomputing provides performance in excess of what a single machine can deliver. This definition is a bit weak, however, because the addition of multiple GPU units to a single server creates a very powerful system. Further, the advent of multi-core has also allowed a substantial amount of cores to be placed in a single server case. Perhaps a more workable definition is any computing that improves the performance of a single application above the fastest single processor/co-processor that is currently available on the market. That is, if you combine multiple CPUs/GPUs to increase Floating Point Operations per Second (FLOPS), then you have ventured in to the world of HPC. Whether you have a "true supercomputer" seems to be fading because the performance is scalable.

Basing the definition on some threshold of the worlds fastest computers like those on the Top500 List, has been suggested, but this approach is somewhat tenuous, however, because the Top500 list is based on a single benchmark. Other machines, including those that can deliver large amounts I/O, may not fair as well on the HPL benchmark and yet deliver record breaking performance in other areas.

The definition of a supercomputer has become somewhat vague and as a result picking a few fast systems to represent the spectrum of HPC computing is a bit disingenuous. Some other notions that were presented in the article also need to be cleared up. First, not all high end HPC machines are water cooled. This may change, but it is certainly not the rule. There is no need for a custom version of Linux kernels on most systems. Linux distributions, and the kernels they include are more than adequate for most clusters. There is some additional software required, such as MPI libraries and administration tools, but for the most part, stock Linux distributions work just fine. Interconnects can vary, today the most popular high performance solution is InfiniBand although a large number of production clusters use Gigabit Ethernet. The use of GPU enhanced nodes is also becoming more common. The user can often pick and choose what works best for their "supercomputer." Of course, at the very high end, there are custom components that aid in delivering the fastest possible performance, but they are often not required to get into the HPC game.

What Can I Do With A Supercomputer

As to the question; "What can I do with a supercomputer?" The answer is; "Like many things, it depends on what you want to do." Back when the first PCs arrived on the scene, the same question was asked, and a common answer was given; "not much." Software was written, and new markets developed, including games like Crysis 2, which by the way would have required a supercomputer back in the day.

If you have a need for crunching numbers, like those who programed the first computers, then there is plenty you can do with HPC. A partial list is available along with many freely available HPC Applications and Programming Tools. Many of the applications are for specialized technical domains and will not be of interest to the average computer user. These applications are, however, of great importance to students, teachers, researchers, scientists, engineers who may have access to smaller moderate HPC resources. And, writing your own applications, while harder than most programming tasks, does not take an advanced degree. There are plenty of resources on Cluster Monkey to help you get started.

Closer to your home, there are other interesting uses for HPC many of which bring Artificial Intelligence (AI) into everyday use. In case you missed it, IBM's Watson moved supercomputing from chess playing to a whole other cognitive level. Many supercomputers, like Watson, started as large costly custom machines that eventually paved the way for small affordable machines or devices. The "Cloud" may also offer some interesting chances to use supercomputers. Have you talked to Siri lately?

Finally, the barrier to entry for personal HPC is getting lower every day. Consider the The Limulus Project, which is an effort to bring true HPC capability into the desk-side market at the sub $5000 (US) price point. The project includes both hardware and software and allows individuals to run real HPC applications and do meaningful development. Given the state of HPC, the question everyone should be asked is, "What can we do with 16+ cores, 200 GFLOPS or performance, and several TBytes of storage next to our desks?"