Tuesday, September 04, 2007

Hardware and software design

Supercomputers using custom CPUs traditionally gained their speed over conventional computers through the use of innovative designs that allow them to carry out many tasks in parallel, as well as complex feature engineering. They tend to be expert for certain types of computation, usually numerical calculations, and perform poorly at more general computing tasks. Their memory hierarchy is very cautiously designed to ensure the processor is kept fed with data and commands at all times—in fact, much of the performance difference between slower computers and supercomputers is due to the memory hierarchy. Their I/O systems tend to be planned to support high bandwidth, with latency less of an issue, because supercomputers are not used for transaction processing.

As with all highly parallel systems, Amdahl's law applies, and supercomputer designs devote great effort to eliminate software serialization, and using hardware to speed up the remaining bottlenecks.

No comments: