22 What is a Supercomputer?
Matthew A. Gitzendanner, Ph.D.
A “supercomputer” can seem like an intimidating resource-limited to corporations or massive projects with millions of dollars of funding. The reality is quite different. The general gist of Wikipedia’s definition of a supercomputer is that it has a higher performance than your standard computer. Most modern supercomputers, also known as clusters, combine hundreds (or thousands) of individual computers and network them together to form a cluster of computers.
Rather than standard desktop computer cases, these computers are in pizza box-shaped cases that stack nicely on top of each other in racks. High-speed networking typically connects all the computers to one or more shared filesystems (storage) that they can all access. A scheduler is often used to manage the “stuff” users want to run. The scheduler allocates resources like central processing units (CPUs), memory, and graphics processing units (GPUs) to avoid conflicts among user applications. These resources are allocated among users based on some type of algorithm.
Some supercomputers allow users to sign up to use them exclusively for a specific time slot. Researchers carefully prepare their code to maximize their time on the supercomputer and run applications that can work on a single problem across the whole cluster. More commonly, and as is the case with HiPerGator, the cluster resources are shared among many users, with the scheduler managing resources.
Feedback/Errata