Add-Innovation Home

About Add-Innovation

Contact Us

  SAS Institute logo.    What is a mainframe ?

Most people's experience with computers nowadays starts with a Personal Computer, or might have started with a micro computer. At some stage, in their professional life, many people work on a mainframe computer without fully (or even partially)  understanding the nature of the machine they are working on. This can often taint their understanding of the system on which they work, and reduce confidence and appeal.

To many people the mainframe appears as a lumbering monolith, lacking scroll bars, smooth scrolling, mouse support, and general dialogues with the look and feel of their usual operating system (e.g. Windows). Yet systems continue to be developed for the mainframe, not only to crunch billions of records of data and provide a subset for working with on the PC, but also with a front end system that necessitates using the system.

Users can be forgiven for asking why the mainframe is so unweildly when compared to the environment provided by their desktop PC. The reason is in the architecture of the mainframe, and why it is set up in that way.

To envisage a mainframe, start with your desktop PC, and strip away the keyboard, mouse, and display. Take away everything else until you're just left with the base unit. Opening up the base unit, you'd find a sound card - that can be removed as well (the only sound a mainframe can muster is to tell your desktop to go beep !).

Also take away the graphics card, and replace it with a model more akin to something you might have found on a micro computer 30 years ago. Your PC probably operates on a display resolution of 1024 by 768 pixels (786,432 dots), each of which may have a colour quality of 32 bits - i.e. up to 232 (4,294,967,296) different colours. If you're lucky, your mainframe screen will be represented by 80 characters wide, by 43 deep (3,440 characters), with up to 255 different characters available, and 16 different colours. Your PC's graphics card is capable of controlling this fantastic screen display and moving colours and dots around to animate to better than movie quality, for presentations, games and multi-media. The mainframe generally doesn't try to match this at all. It expects that the norm will be to display straight numbers or text that it has taken from some huge database, for hundreds of users at once, who may be based many miles away. Rather than try and send those billions of colours for thousands of pixels down a communications line for hundreds of users at once, in real time, it sensibly limits the display to text. It is possible for mainframes to send graphics for things such as charts to users, if their desktop PC has a mainframe "emulator" which supports this, but this feature is seldom used.

Now take the memory card that's available on your machine and replace it with a more sophisticated version that's about half the size of your desk. Most mainframe allows each of its hundreds of users around 64Mb of memory directly available.

Take out the hard disk and replace it with one about 20 times the size (my desktop PC at work has around 3.5Gb of space, a mainframe 3390 model 9 disk unit allows up to 70Gb of storage). Add another 7 read heads to this, so that the disk can be read in several places at once. Ramp up the speed that the disk operates by about 10 times because the mainframe disks operates far far faster. Multiply the result several thousand times, because most mainframe installations hold tera-bytes of storage on disk.
Add a robot which allows data to be taken off those disks and stored on slower tapes (much in the same way as you might archive data by burning it to a CD or DVD). The same robot will go and find the data for you if you ask for that data, and it will copy it back to disk for you so you can process it more quickly. When you've finished with it, it will wait until you haven't referenced it for quite a while before it copies it back.

Now multiply the number of processors in place by 8 or more. Interestingly, the processor itself isn't that much faster on the mainframe than on modern PCs. What really marks the difference is how the processor shifts data around in itself, into memory and to and from disk. The physical distance between components within the processor, and memory components is tiny on the mainframe, and the number of physical paths that allow communication is far far wider, allowing data to flood rather than trickle around the system.

What also makes a big difference is in the software and operating system itself. Efficiency, rather than presentation, is absolutely top of the agenda. As is a lean profile. When you look at how operating systems like windows have evolved, and you look at how the performance of PCs have increased staggeringly quickly, you have to question why your PC doesn't seem to run any quicker. Windows takes just as long to start or longer, and with every release it gets bigger and bigger. There's no way a copy of Windows XP would fit on a PC from 10 years ago.
An observer of processor developments year on year created "Moore's Law" : "The speed of processors doubles every 2 years" (This is sometimes mis-quoted as every 18 months, but the analogy is close enough, and has stood since the original observation back in 1965 !). By contrast, "Writh's Law" states that "Software gets slower faster than hardware gets faster.", and "Gates' Law" which states that "Commercial software generally slows by 50 percent every 18 months".
While the observations on processor advancements are also true on the mainframe, the analogy is not generally true of mainframe software. As more advanced techniques are discovered for processing data, they are usually implemented in mainframe processing as soon as possible. Mainframe routines (although not general commercial software), and operating systems are optimised by being created at a machine code (lowest, but most complicated level of providing instructions to the processor) level rather than at high level languages (which expand one very powerful instruction into hundreds of machine code instructions inefficiently).

So the mainframe has a huge capacity to process data internally. It has an operating system which can support not just many tasks at once, but hundreds of users. Each user gets their own memory allocation and service time, and the mainframe cycles through each user, servicing each one before moving on to the next. When the operating system or program has something to say, it sends some text down the communications channel to your PC, where your mainframe emulator will display it on the screen. When you've got something to say, you type on the keyboard and your instructions are sent to the mainframe.

That's why screen displays on the mainframe look comparatively basic and unfriendly, but why you get such a comparatively blistering response to processing large volumes of data. While PC's are excellent for presentation, the mainframe offers more power to process and house massive databases. To maximise on the benefits, it is preferable to combine the two forces and get the mainframe to process your large data sources, whilst using the PC to edit parameters and data and present the results. Such an innovation is described in "editting mainframe SAS data in Excel through Attachmate Extra".