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".