By definition, supercomputers are the fastest and most powerful computers available, and at present, the term refers to machines with hundreds of thousands of processors. They are the superstars of the high-performance class of computers. Personal computers (PCs) small enough in size and cost to be used by an individual, yet powerful enough for advanced scientific and engineering applications, can also be high-performance computers. We define HPC as machines with a good balance among the following major elements:
- Multi-staged (pipelined) functional units.
- Multiple central processing units (CPUs) (parallel machines).
- Multiple cores.
- Fast central registers.
- Very large, fast memories.
- Very fast communication among functional units.
- Vector, video, or array processors.
- Software that integrates the above effectively.
As a simple example, it makes little sense to have a CPU of incredibly high speed coupled with a memory system and software that cannot keep up with it.
High computing and supercomputers are often associated with large, government-funded agencies or with academic institutions. However, most High-Performance Computing today is in the commercial sector, in fields such as aerospace, automotive, semiconductor design, large equipment design and manufacturing, energy exploration, and financial computing.
HPC is used in other domains in which very large computations such as fluid dynamics, electromagnetic simulations, and complex materials analysis must be performed to ensure a high level of accuracy and predictability, resulting in higher quality, and safer, more efficient products. For example, HPC is used to model the aerodynamics, thermal characteristics, and mechanical properties of an automotive sub-assembly or components to find exactly the right design that balances efficiency, reliability, cost, and safety, before spending millions of dollars prototyping a real product.
Over time, the growing use of High-Performance Computing in research and in the commercial sector, particularly in manufacturing, finance, and energy exploration, coupled with a growing catalog of Computing applications, created a trend toward HPC platforms built to handle a wider variety of workloads, and these platforms are constructed using more widely available components. This use of commodity hardware components characterizes the cluster and grid era of High Performance Computing. Clusters and grids continue to be the dominant methods of deploying High Computing in both the commercial and research/academic sectors. Economies of scale, and the need to centrally manage computing resources across large organizations with diverse requirements have resulted in the practical reality that widely divergent applications are often run on the same, shared HPC infrastructure.
High performance computing can happen on:
- workstation, desktop, laptop, smartphone!
- Linux/MacOS/Windows/… cluster
- A grid or a cloud
- Cyber Infrastructure = any combination of the above