Friday, December 25, 2009

Difference between Supercomputers and Mainframes

Supercomputers are very different from mainframe computers. A supercomputer is a computer that is at the frontline of current processing capacity, particularly speed of calculation. Supercomputer can be based on any type of computer design (e.g., FPGA, vector processing,microprocessor, and GPGPU based computer).Supercomputers are used for scientific and engineering problems which are limited by processing speed and memory size, while mainframes are used for problems which are limited by input/output and reliability and for handling multiple business transactions concurrently. The differences are as follows:

  • Mainframes are measured in integer operations per second or MIPS; whereas, Supercomputers are measured in floating point operations per second or FLOPS. Example of integer operation is moving data around in memory or adding integers. Example of floating point operation is the calculation of mathematical equations in real numbers. In terms of computational ability, Supercomputers are more powerful. Mainframes are built to be reliable for transaction processing as it is commonly understood in the business world: a commercial exchange of goods, services, or money. A typical transaction would include the updating to a database system for such things as inventory control (goods), airline reservations (services), or banking (money). A transaction could refer to a set of operations including disk read/writes, operating system calls, or some form of data transfer from one subsystem to another.
  • Both types of systems offer parallel processing, although this has not always been the case. Parallel processing (i.e., multiple CPUs executing instructions simultaneously) was used in supercomputers (e.g., the Cray-1) for decades before this feature appeared in mainframes. Supercomputers typically expose parallel processing to the programmer in complex manners, while mainframes typically use it to run multiple tasks. One result of this difference is that adding processors to a mainframe often speeds up the entire workload transparently, with important exceptions of single batch jobs and CICS regions that don't run faster.
  • Supercomputers are often built to run complex algorithm in wide application area such as in industry, academic, research, government or military (e.g., nuclear simulation and modeling, life science, medicine, telecommunication, weather forecasting), while mainframes run simple algorithm to handle variety of tasks (e.g. database query, warehousing, inventory, operating system). Supercomputer uses both off-design technology (e.g.: microprocessor based cluster computer) or advanced technology (e.g., vector processing, NUMA, liquid-cooling); whereas mainframes typically form part of a manufacturer's standard model lineup.
  • Mainframes tend to have numerous ancillary service processors assisting their main central processors (for cryptographic support, I/O handling, monitoring, memory handling, etc.) so that the actual "processor count" is much higher than would otherwise be obvious. Supercomputer design tends not to include as many service processors since they don't appreciably add to raw number-crunching power.
  • Mainframes are exceptionally adept at batch processing, such as billing, owing to their heritage, decades of increasing customer expectations for batch improvements. Supercomputers are very expensive and not cost-effective just to perform batch or transaction processing.

No comments:

Post a Comment