The primary use for supercomputers is in scientific computing, which requires high-powered computers to perform complex calculations. Scientific organizations boast supercomputers the size of rooms for the purpose of performing calculations, rendering complex formulas, and performing other tasks which require a formidable amount of computer power.
Design
Supercomputers tradionally gained their speed over conventional computers through the use of innovative designs that allow them to perform many tasks in parallel, as well as complex detail engineering. They tend to be specialized for certain types of computation, usually numerical calculations, and perform poorly at more general computing tasks. Their memory hierarchy is very carefully designed to ensure the processor is kept fed with data and instructions at all times—in fact, much of the performance difference between slower computers and supercomputers is due to the memory hierarchy design and componentry. Their I/O systems tend to be designed to support high bandwidth, with latency less of an issue, because supercomputers are not used for transaction processing.
Supercomputer Challenges and Technologies
- •
A supercomputer generates heat and must be cooled. Cooling most supercomputers is a major High Voltage Alternating Current problem.
- •
Information cannot move faster than the speed of light between two parts of a supercomputer. For this reason, a supercomputer that is many meters across must have latencies between its components measured at least in the tens of nanoseconds. Seymour Cray's Cray supercomputer designs attempted to keep cable runs as short as possible for this reason.
- •
Supercomputers consume and produce massive amounts of data in a very short period of time. Much work is needed to ensure that this information can be transferred quickly and stored/retrieved correctly. Technologies developed for supercomputers include:
- o
Vector processing
- o
Liquid cooling
- o
NUMA (Non-Uniform Memory Access)
- o
Striped disks (the first instance of what was later called RAID, Redundant Array of Independent Disks)
- o
Parallel file systems
In many cases, a supercomputer is custom-assembled, utilizing elements from a range of computer manufacturers and tailored for its intended use. Most supercomputers run on a Linux® or Unix® operating system, as these operating systems are extremely flexible, stable, and efficient.
Supercomputers typically have multiple processors and a variety of other technological tricks to ensure that they run smoothly. One of the biggest concerns with running a supercomputer is cooling. As one might imagine, supercomputers get extremely hot as they run, requiring complex cooling systems to ensure that no part of the computer fails. Many of these cooling systems take advantage of liquid gases, which can get extremely cold. Danish company Dynamics has invented the coolest (in both senses) CPU cooler ever. It achieves this not with boring old moving air, or even dull H2O. No, the LM10 uses liquid metal: Think T1000 in your PC. Danamics claims that the cooler is more efficient than just pumping water over the components. (Danamics Technology, 2010) Unfortunately, the site only mentions “liquid metal” and not any specific kind of metal. Chemistry tells us that there are five metallic elements which are liquid at room temperature:
For cooling purposes, it looks like mercury would be best suited as it can get colder without solidifying. (Danamics Technology, 2010). Can anybody tell us if liquid metal is both a better conductor of heat and also more able to suck up and store that heat?
The actual pump mechanism is interesting, too. Instead of propellers or impellers, the metal is moved by electromagnetic induction. Danamics Corporation claims, again without details, that its “patent pending multi-string electromagnetic pump” will use a lot less power than conventional electromagnetic pumps. (Danamics Technology, 2010).
Another issue is the speed at which information can be transferred or written to a storage device, as the speed of data transfer will limit the supercomputer's performance.
The chief difference between a supercomputer and a mainframe is that a supercomputer channels all its power into executing a few programs as fast as possible, whereas a mainframe uses its power to execute many programs concurrently.