Supercomputing has become an essential tool for many users, including those working in the scientific,engineering, biomedical, and financial disciplines. Although processing capabilities continue to advance, in many cases demand is increasing at an even faster rate. Simulation and analysis problems — once intractable due to computational limitations — have become possible.
Supercomputing technology has evolved from highly specialized and custom circuitry to commodity circuits based largely upon x86 instruction-compatible processing hardware. Leveraging economies of scale lowers costs of production, amortizes research and development, and simplifies software development, as more programmers are familiar with the technologies. Indeed, many supercomputers listed on the TOP500 supercomputers site (http://www.top500.org) are aggregations of commodity processing units and parts. Programs may be easily ported from desktop Linux
® machines — which are popular platforms in development and scientific and engineering — to Linuxbased supercomputing systems.
Aggregating large numbers of processors into huge clusters and cluster-like machines, while useful, has a variety of limitations. Overcoming these limitations in order to extract the maximum performance from these systems requires extensive application of acceleration technologies. In order to understand the limitations and how acceleration technology addresses them, this paper will examine why clusters are built, and a brief history of supercomputing technology will provide context for the need for acceleration technologies.
Read More