Mainframes (often colloquially referred to as "big iron") are large, powerful, and "expensive" computers used mainly by government institutions and large companies for bulk data processing (such as censuses, industry/consumer statistics, ERP, and bank transaction processing).
The term arose during the early 1970s with the introduction of smaller, less complex computers such as the DEC PDP series, which became known as mini(computer)s. The industry/users then coined the term "mainframe" to describe larger, earlier types (previously known simply as "computers").
Modern mainframe computers' abilities are not so much defined by their CPU speed as by their massive internal memory, high-capacity external storage, fast high-throughput I/O, high-quality internal engineering and resulting proven reliability, expensive but high-quality technical support, top-notch security, and strict backward compatibility for older software. These machines can and do run successfully for years without interruption, with repairs taking place whilst they continue to run. Mainframe vendors offer such services as off-site redundancy—if a machine does break down, the vendor offers the option to run customers' applications on their own machines (often without users even noticing the change) whilst repairs go on.
Often, mainframes support thousands of simultaneous users who gain access through "dumb" terminals and early mainframes either supported this timesharing mode or operated in batch mode where users had no direct access to the computing service, it solely providing back office functions. At this time mainframes were so called because of their very substantial size and requirements for specialised HVAC and electrical power. Nowadays mainframes support access via any user interface, including the Web.
Some mainframes have the ability to run (or "host") multiple operating systems and thereby operate not as a single computer but as a number of "virtual machines". In this role, a single mainframe can replace dozens or hundreds of smaller PCs, reducing management and administrative costs while providing greatly improved scalability and reliability. The reliability is improved because of the hardware redundancy noted above, and the scalability is achieved because hardware resources can be reallocated among the "virtual machines" as needed. This is much harder to do with PCs, because adding or removing hardware resources often requires the machine to be taken offline, and the hardware limitations are much more restrictive. When running as the host for many "virtual machines" a mainframe can provide the raw power for which they have always been valued, but also the flexibility provided by PC networks.
As of late 2004, IBM mainframes dominate the market at over 90% marketshare. Unisys still manufactures ClearPath mainframes, based on earlier Sperry and Burroughs product lines. Fujitsu is nominally still in the market, producing machines based on the former Siemens and Amdahl lines, while Hitachi has left the mainframe business (except for the zSeries 800 jointly designed with IBM). Acquisition costs vary, but new IBM mainframes start "under $200,000" (zSeries 890 Model 110, U.S. 2004 list price, excluding disk storage).
Several manufacturers produced mainframe computers in the 1960s and 1970s; in the "glory days" it was "IBM and the Seven Dwarfs": Burroughs, Control Data Corporation, General Electric, Honeywell, NCR, RCA, and Univac. The larger of the latter companies were also often referred to as "The BUNCH" from their initials (Burroughs, Univac, NCR, CDC, Honeywell).
Shrinking demand and tough competition caused a huge shakeout in the market in the early 80s—RCA sold out to Univac and GE also left; Honeywell was bought out by Bull; Univac merged with Sperry to form Sperry/Univac, which was later merged with Burroughs to form Unisys Corporation in 1986 (dubbed "dinosaurs mating"). In 1991, AT&T briefly owned NCR.
For a period of time companies found that servers based on microcomputer designs could be deployed at a fraction of the acquisition cost and offer local users much greater control over their own systems. "Dumb terminals" used for interacting with mainframe systems were gradually replaced by personal computers. Consequently, demand plummeted and new mainframe installations were restricted mainly to financial services and government. For a while, there was a consensus among industry analysts that the mainframe was a dying market as mainframe platforms were increasingly replaced by personal computer networks.
That trend started to turn around in the late 1990s as corporations found new uses for their mainframes, since they can offer web server performance similar to that of hundreds of smaller machines, but with much lower power and administration costs. The growth of e-business has also dramatically increased the number of backend transactions processed by tried-and-true mainframe software. As of late 2004, IBM's mainframe revenues are increasing even with price reductions, thanks to attractive TCOs.
Another factor currently increasing mainframe use is the development of the Linux operating system, which is capable of running on many mainframe systems, either directly or, more commonly, in virtual machines. Linux allows companies and governments to take advantage of the software and development expertise from the open source community while enjoying the low per-user costs and high reliability (and security) of mainframes.
Mainframes v. supercomputers
The distinction between supercomputers and mainframes is not a hard and fast one, but generally one can say that supercomputers focus on problems which are limited by calculation speed while mainframes focus on problems which are limited by Input/Output and reliability. As a consequence:
- Supercomputers typically exploit massive parallelism, often with thousands of processors. Mainframes range from a single central processor (CP) up to 32 CPs per frame (rack) as of late 2004. (An IBM zSeries Sysplex can span up to 16 coupled frames, however.)
- Because of the parallelism visible to the programmer, supercomputers are often quite complicated to program and require specialized, task-specific software. In contrast, mainframes hide parallelism from the programmer. (One side effect is that even older software can benefit from adding mainframe CPs.)
- Supercomputers are optimized for complicated computations that take place largely in memory, while mainframes are optimized for simple computations involving huge amounts of external data accessed from databases ("mixed workload").
- Supercomputers tend to cater to science and the military, while mainframes tend to target business and civilian government applications. Weather modeling, protein folding analysis, and digital film rendering are all tasks well suited to supercomputers. Credit card processing, bank account management, market trading, and social insurance processing are tasks well suited to mainframes. (Exception: Certain military applications require high security, a mainframe strength.)
- Supercomputers often run tasks that can tolerate interruption (e.g. global warming forecasts). Mainframes tend to run those functions that must run reliably, even for years of continuous service (e.g. airline bookings).
- Supercomputers are often purpose-built for one or a very few specific institutional tasks. Mainframes typically handle a wide variety of important, everyday tasks.
- Mainframes assiduously and thoroughly support older software (dating back to applications written in the mid-1960s, in IBM's case) alongside new software. Supercomputers tend not to have backward compatibility as a central design feature.
- Mainframes tend to have numerous ancillary service processors assisting their main central processors (for crytographic 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.
There's also some blurring of the term "mainframe" with high-end PC and UNIX servers. (Some PC and UNIX server vendors occasionally refer to their systems as "mainframes" or "mainframe-like.") That blurring of the term is not widely accepted, with the market in general agreement that true mainframes (particularly IBM zSeries) are genuinely and demonstrably different.
It has been reported that:
- 85% of all mainframe programs are written in the COBOL programming language
- 5% are written in PL/I
- 7% are written in Assembler, C or C++
- 3% are written in Java and other languages
Java use is increasing rapidly as of late 2004, and these figures are likely out-of-date. (See also zAAP, WebSphere, and Linux.) Also, mainframe COBOL has recently acquired numerous Web-oriented features, such as XML parsing, with PL/I following close behind.
- Most mainframes (rumoured to be 90%) have IBM's CICS software installed.
- In the early 1990s the media and many business and computing analysts predicted the death of the mainframe. The predictions were disproved as many companies embraced the mainframe as offering an affordable means to handle their Internet business models.
- The quality of service offered by mainframes mean they are the preferred technology for many business critical applications.
- As of late 2004, IBM claimed over 200 new (21st century) mainframe customers—that is, customers that had never previously owned a mainframe.
- IBM eServer zSeries mainframe servers