What is a mainframe? When, where, why use them? Can you use Linux on them?
IBM invented the mainframe. Before the mainframe, you had custom made computers starting from back when the English invented the first electronic computer. IBM invented a frame that could could hold a range of processors, memory, and input/output connections plus a framed storage approach. The main frame performed the processing and was surrounded by storage frames.
IBM's initial mainframe production run was five computers and they expected those five to last a while. American government departments immediately ordered hundreds. Some sites ordered many mainframes and clustered them. Enterprise computing was born.
Other companies started producing computers with the occasional good idea. IBM stayed ahead with constant invention. The disk drive we all use today is called a Winchester disk because IBM invented them and gave the first one the model number 3030, which is also a type of Winchester rifle.
The first IBM mainframe was released in the 1950s and the first modern mainframe in 1964, many years before Intel released their first tiny processor chip.
Almost anywhere Prior to the release of the IBM 360 in 1964, each computer was designed for one purpose, scientific analysis or data analysis or commercial processing. The IBM 360 could perform all those tasks better than any existing computer. The only requirement was good air-conditioning. Typically the mainframes went into a special room in the head office of an organisation. There were export restrictions preventing use in some countries and the cost limited their use in some other countries.
When I worked on mainframes, I travelled to so many places that I had to replace my passport because the pages were full of visa stamps. There was one problem with the work. The mainframes were always in capital cities. I rarely had the chance to visit national parks.
Why use a big expensive beast? Mainframes were always ahead of anything else for data storage and access. You could use a programmable HP calculator for a simple calculation with little data. When you needed to input a national census, you needed a mainframe. The mainframes also provided good sharing of processor facilities when other computers struggled to handle one user.
Some articles talk about Unix on mainframes. They mean little computers, not mainframes. A lot of companies branded little computers as mainframes despite not having the capabilities of a mainframe. Unix did a lot of things similar to TSO. TSO was a mainframe time sharing system invented many years before Unix. If you look at TSO then Unix, your first though is that the inventors of Unix probably worked on TSO and copied a lot of ideas. Your second thought is, why did the inventors of Unix copy so many ideas that were already obsolete? They should have done what Apple did and copy all the great ideas invented at Xerox PARC.
At one stage, IBM mainframe processors where so far into the limits of chip speed that the mainframes had to be water cooled. Think of all those people overclocking processors to make games run faster. IBM did that 30 years ago.
Today we look at 3 GHz as a processor speed limit and most multicore processors run far slower. A top of the line affordable processor might run at 2.9 GHz when using only one core but then slow down to 2.4 GHz when using all cores. IBM mainframe processors run at 5.2 GHz.
A 4 core processor is common with Intel producing processors with up to 8 cores. Sun produce Sparc processors with slightly more cores. A mainframe has 96 cores!
Now you are talking speed, 20 times as many cores with them all running twice as fast.
That database on disk is no longer a speed limit. Desktop and notebook computers usually have 2 GB or 4 GB of memory, say an average of 3 GB. A server might have 30 GB of memory. A mainframe can have 3000 GB. Your ordinary computer takes a while to read a database because the database is on a slow old disk and only a few indexes can fit in memory. A mainframe can load the whole database into memory, giving you blindingly fast access.
IBM had VM decades before the VM systems used today on desktop computers and servers. IBM were running multiple operating systems under their VM before Intel invented the processor chip that made your desktop computers and servers possible. Your big home or office computer can run perhaps 8 virtual machines. A mainframe can run 8000.
IBM released the world's first VM hardware on 1965 using a specialised operating system. In 1972, IBM released a general purpose virtual machine operating system named VM. VM made many types of conversions and upgrades easier.
You can run Linux on IBM mainframes using virtual machines. IBM is a big contributor to Linux development and IBM promotes Linux as the operating system to use under their VM. There are Web hosting companies using mainframes because they are an easy way to run thousands of Web sites with each Web site in a separate virtual machine running Linux.
Grid computing is one alternative to a mainframe and is limited by the speed of the grid connecting the individual computers. Grid computing takes you back to specialised computing for lots of processing with very little data. Some of the non mainframes sold by other companies, and mistakenly labelled as mainframes, are grid computers with the data access limitations of grid computers.
Clustering helps bring several computers into close contact for shared processing and works for Web sites where there are lots of little tasks working on similar data and mostly reading data. When you are updating data, the cluster slows down waiting for the central database. Clustering is another technology that works for some things but not others and is popular mainly because it works for many Web sites.
Database segmenting and replication are two ways to make a cluster work faster without waiting on one central database. Segmenting and replication both depend on a solid understanding of the data, the way the data is used, and the database performs segmenting or replication. You are now into the area of specialised data handling, a problem that a mainframe might solve.
Most of the stories about what is and what is not a mainframe are written by people who have never worked on a mainframe and do not understand the difference a mainframe makes. Mainframes are of most advantage when you have to perform a lot of related processing and the processing accesses a very large amount of data. Mainframes are expensive and they still solve some types of problems.