Mainframe Programming to Make a Comeback?
ajw1976 writes to tell us that IBM has released a series of announcements today "introducing many new software tools, academic programs, and support for outside developers." The new releases are designed to help entice programmers and businesses back to the mainframe. From the article: "The announcements, according to analysts briefed on them in advance, signal a shift from defense to offense in the company's mainframe strategy. Last month, I.B.M. introduced a machine priced at $100,000, about half the previous starting price for its mainframes, which can run up to several million dollars. The announcement of the low-end mainframe was made in China, which I.B.M. regards as a promising market for the machines."
Cool, I can dust off my old bell bottom pants and platform shoes. I knew they would come back!
All seriousness aside, I started out coding for mainframes, mostly assembly. To this day some of the most screaming and cool programs I ever wrote were on mainframes (wrote (in assembly) an on-line trouble logging system to replace a paper system back in '76).
I did lots of COBOL programming and maintenance for a major, now absorbed by increasingly corrupt larger pseudo-telcos, telco. COBOL, not the most exciting language, but the throughput and data integrity of those days I've not seen matched since (and I still love Unix as my first choice for environment).
Which brings me (and us) to what I think works in favor of mainframes having a chance at a major comeback:
This is a partial list. I've long lusted for the raw power of mainframes with the standard support and the nimble Unix utilities.
In my field (bioinformatics) data generation is far outpacing desktop computer power. I work with microarrays and in the last 5 years feature sets have increased over 1000 times with the prices moving almost as quickly in the opposite direction. We've been struggling for a while. It will soon take mainframes to process this sort of data.
The market for big computing is increasing. It's just that most tasks can now be done on small machines. One of my buddies was a numerical modeller in the '70s. In 1975 they put on a night shift in the computer center to run his jobs. By 1985 he could run the same model on his desktop in less time.
It makes sense for IBM to make less expensive mainframes. The jobs will expand to fit the computers available. If you build it they will come, etc. etc.
I recently met another co-irker who used to program mini-computers. He said his students were calling him the old fart. I pointed out that he could be right up-to-date if he just prefaced all his comments with the word 'embedded'. There are modern chips that have exactly the same architecture and instruction set that the old minis he worked on had.
There is a market for what IBM is doing and it isn't going away any time soon. It will just be done on cheaper machines.
I do not understand how IBM expects to sell mainframes when nobody knows how to use them. If I wanted to get out of the Unix/Linux biz and get into mainframes or even recommend a mainframe for use at my employer I would have to know something about using one. But I would not have any clue as to where I could go to get that kind of information or training. I have only met two mainframe knowledgable people in my whole life (among zillions of un*x people) and they are both old farts. Finding good Linux/perl/whatever people is hard enough. I can't even imagine having to recruit a mainframe person.
So where are you young mainframe people learning how to use mainframes?
Asking most programmers to appreciate mainframes must be like asking most drivers to appreciate 18-wheel big rigs -- you know they exist, and large companies rely on them, but you never really have a *need* to know what it's like to operate one.
I've always believed that mainframes have their place in the world, even when the world was announcing the era of the personal computers and the death of mainframes. But while I understood them to be highly specialized high-throughput high-reliability machines, I never had a personal experience with a mainframe operating environment. So I never truly understood what a mainframe is...
I've worked on (relatively) bigger Unix systems (8 processor SPARCservers, 4-rack Sequent NUMA-Q's, and others), but at the end of the day, they seemed no different from a single desktop Unix machine -- just faster and with more memory and storage. I've also used a VAX, briefly, during my freshman year in college. I've always imagined that VMS was closest to what a mainframe environment must be like.
So, to the folks that understand the mainframe -- what is it about them that makes them more than just faster versions of desktop machines, or even server systems that us non-mainframes are used to?
Mainframes are very good at reliably performing batch and OLTP workloads, they're hopeless at HPC - inadequate performance (even latest models) with *way* too much admin and maintenance/software cost overhead. Wrong tool for the job.
If your going to do the joke, at least do it correctly, with valid syntax.
ADD 1 TO COBOL GIVING COBOLClusters really aren't comparable.
They compete with supercomputers, not mainframes.
A lot of people confuse the two, but they're very different sorts of machines designed for very different purposes, with very different characteristics.
Supercomputers are great for intensive calculations. When you have a relatively small dataset and a very long string of operations to be performed on that dataset, you want a supercomputer.
A subset of supercomputer tasks are easily parallelised, and on that subset, in particular, a cluster can really rock.
But the weakness of clusters has always been in throughput - their ability to move large amounts of data around is rather weak.
Mainframes aren't great at intensive calculation, they don't compete with supercomputers, what they're designed for and great at (besides incredible reliability) is throughput. Those suckers can move enormous quantities of data around very very quickly.
Want to calculate more digits to pi? Break an encryption key? That's a supercomputer job, and a cluster can probably handle it fairly well.
Want to search a database that contains every transaction your company has ever had, with any customer or supplier, globally, for the past fifty years? That's a mainframe job. And neither a supercomputer nor a cluster is going to get close to a mainframe at doing it. All those hot little cpus will sit mostly idle while waiting for all the data to trickle in through a relatively narrow set of connections, while on the mainframe, all those (relatively slow) CPUs are being kept busy by a massive array of hard drives on an interface with more bandwidth to memory than most of us can even imagine.
Apples and oranges.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Friends don't let friends enable ecmascript.
I suspect you don't know what large means. 300,000 tapes. 2,048 drives. The complexity on mainframes isn't computation, it's data management. Trust me, it's a completely different world, with (solved) problems that simply do not appear in any but the largest enterprises. Those are the 400GB carts, btw.
Here's a pretty good analogy I just made up: think of how inappropriate FFT multiplication would be for most arithmetic, and how inadequate anything else is for the times when you really need it. A lot of the mutual derision between the Unix and mainframe camps was that each had (is/has?) a vastly superior toolset for their own, ahh, wavelength.
As always, all IMO. Insert "I think" everywhere grammatically possible.
I worked on Big Iron back in the seventies. Even then, the reliability of those old monsters made the present-day, top-of-the-line Wintel box look utterly pathetic. (I'm still amazed at how thoroughly the PHBs were hoodwinked.)
The problem with mainframes, however, is that they're not exactly user-friendly. The AS400 class over at the local community college still deals with the hardware via the classic text interface; fast as hell, but very limited. Users (and PHBs) would scream like banshees if they had to go back to such an interface after years of Wintel's eye-candy, and that's the simple truth.
So; envision this: When the time comes that Wintel says to you 'upgrade your workstations to Vista or DIE,' strip-out the M$ on those old boxes and install just enough of Linux and X to launch a nice, solid remote X-Windows session. Next, set-up virtualized Linux partitions on a nice hunk of Big Iron and plug the thing into your IP backbone. Have the users login via their lovely new X-Terminals into a screamingly-fast Linux session on that mainframe. Cancel the Wintel upgrade budget.
Kick the idea around; come up with other stuff, like moving your DBMS to a virtual partition on that same mainframe and have it communicate to the other sessions via a private network that never leaves the machine. Stuff like that. Sound like fun?
];)
Regards;