The Mainframe is (un)Dead
I grew up on big iron. I didn’t learn to program on the Apple II, like so many of my peers, or the original IBM PC under Turbo Pascal but instead on a PDP-10, then Data General Nova systems. From there I worked on Prime and a whole host of others. I actually didn’t really start writing any software for PCs until long after Windows ruled the roost. During that time, I also spent some time as a system operator, and part time systems programmer, on a few different mainframes running either MVS/XA or VM/SP.
What I’m getting to is that to me mainframes are more “normal” than PCs are, and I still wonder sometimes how people get anything done on a PC. That means I was quite interested to read IBM’s announcement of the new z10 Enterprise Class server. For those who don’t really understand what separates a mainframe from effectively any other machine, including your average UNIX machine, here’s a few specs:
- Up to 64 CP(Central Processor) modules, each running at 4.4GHz, and which can be assigned to very specialized tasks as appropriate to a specific environment
- Up to 1.5TB of RAM
- Up to 64 coupling links for building huge clusters, up to 32 of which can be InfiniBand
- Up to 1,024 ESCON or 336 FICON Express4 connections
- Up to 8 cryptographic features
Mind you, that’s one system. A Parallel Sysplex lets you tie together 32 of these systems into a single logical facility.
One of the thing that historically has escaped many people is that they see the number of CP modules, or the megahertz rating, or the MIPS rating, is that mainframes burn almost zero CPU cycles dealing with I/O, network, etc. All of this is offloaded to specialized processors. Having built a lot of high-performance gear on x86 platforms, I can tell you that trying to run huge I/O or network bandwidths tend to enter into the voodoo territory quite quickly. The traditional interrupt-driven architecture is simple, but it doesn’t scale usefully to multiple gigabits of traffic. You don’t buy a mainframe to replace a supercomputer. You buy it to replace huge databases and high-throughput applications.
I’m not saying that a mainframe is for everyone, but it is certainly a very interesting product to this day. Things that mainframe shops achieve regularly, like 99.999% true availability, are rarely, if ever, achieved in the traditional client server world. Some of this is simple process issues. Mainframe shops tend to be very regimented. The rest is simply that much of the hardware and software has thousands and thousands of man years of testing behind it.
This entry was posted at 12:02 am on 28 February 2008 and is filed under Technology. You can follow any responses to this entry through the post-specific RSS 2.0 feed.
Outperforms is always a squishy definition. I don’t think anyone would deny that the zSeries is a poor choice for compute-intensive applications, but when it comes to I/O applications, or massive numbers of concurrent sessions, it’s a totally different ball of wax. Sun is certainly further in that direction, but there’s still probably a 5-10 year gap between what Sun does today and what IBM does.
I wish more people had to work on mainframes just so they could be indoctrinated into some of the process that’s needed to keep things up. The level of planning and contingency management, even for a “simple” software patch, is light years ahead of what I see in 99.9% of IT shops.
z/OS actually offloads a huge amount besides packet management. Floating point is a bit of a misnomer, since nearly every CPU has a floating point unit. Steve Carl at BMC makes a great point on the delta:
he mainframe does not use it’s CPU’s to do I/O: It has “channel processors” separate that handle that. When a CPU wants to do I/O, it writes it to memory, taps the channel processor on the shoulder that the I/O is there in RAM ready to go, and then moves on to other work. The I/O processor takes care of getting it shoved down the channels, and does all the waiting for devices to respond to commands, etc. That last bit is why fairly slow MF processors get a lot of work done. All they do is work. No I/O breaks.
As he says “all processors wait at the same speed”. There’s no silver bullet, and the mainframe isn’t for everyone, but not understanding what it is good at is why PCs have lagged so far in hitting those kind of availability and load-bearing numbers. Mainframes regularly run at 95% utilization. Try holding a Linux box at a constant I/O and CPU load of 95% maximum and find out how well that works in many situations.
You didn’t start on big Iron. You started on a Commodore Pet. I was there.
Both comments and pings are currently closed.
Yes – the Z10 is a big machine – almost in the same league as a Sun 25K from a few years ago… ;)
Seriously: you’re right that zOS availability is a function of the control processes needed to run the thing – but bear in mind that those processes can also be applied to other gear where they produce similar results – including higher costs and unhappy users.
You should not imagine, furthermore, that process off-loading to CPs is limited to zOS and the “mainframe” hardware environment. Everybody except the x86 worlders do this to some extent – with some machines doing quite a lot of it. To cite Sun again the T2 CPU includes hardware off-loads for TCP/IP packet management, cryptology, and floating point.
Thus the big differences are operational – and the reason we do things loosely in Unix is that we can afford to – our stuff costs $0.035 for every dollar IBM wants you to spend – and outperforms the mainframe by about 2:1 at that.