Slashdot Mirror


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

49 of 262 comments (clear)

  1. mainframes rock by yagu · · Score: 5, Insightful

    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:

    • TCP/IP stack not builtin and assumed. In the old days, if you wanted to communicate with other architectures it was a RPITA. With internet protocol everything is easy. Now you can take the raw power and integrity of the mainframe and lace it up to foreign technology.
    • IBM's OSS/Linux participation. I don't know if IBM has completely jumped on this bandwagon, but they've made contributions, and you can "do" Unix on their mainframes. And, they have cool passthrough mechanisms, how cool is it to write a shell script that can access VSAM data? If you don't know, it is very cool.
    • Mainframes historically have gi-huge support organizations built up around them. They have backups to backups. And, it's all managed for you.
    • Mainframes are single point of support, you all know you're using the same configuration (well, to the extent you're in the same virtual system on a mainframe).
    • Mainframes aren't Windows (sorry, had to put that in for the troll mods.)

    This is a partial list. I've long lusted for the raw power of mainframes with the standard support and the nimble Unix utilities.

    1. Re:mainframes rock by EmoryBrighton · · Score: 4, Insightful

      I have heard a lot about mainfraimes (heck, I work for the gov and we rent a 3M+/year Unisys mainframe for certain sensitive databases) ... but I have never seen statistics that show *how much better* those mainframes are...

      Does anyone know of any (non VENDOR) studies & comparisons vs traditional computer architectures?

      --
      Rule 2: Writing a spec is like writing code for a brain to execute.
    2. Re:mainframes rock by AuMatar · · Score: 5, Insightful

      Mainframes are just too different a world. Its not just performance (in fact, the performance difference is due only to an insane number of cores and memory, not an inherently better chip), its reliability. Some IBM mainframes have CPUs that do every instruction twice in parallel (different cores on the chip). If the results don't match, it turns the chip off as defective and shunts the program to a backup. That kind of thing just doesn't exist in traditional architectures.

      Although in the days of clusters, I don't know if mainframes can make it. Clusters have the same edge and much lower cost. I think we're more likely to see some of the OS advantages of mainframes get ported down.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    3. Re:mainframes rock by morgan_greywolf · · Score: 5, Insightful

      Does anyone know of any (non VENDOR) studies & comparisons vs traditional computer architectures?

      Mainframes are traditional computer architecture! Unix is 'new' compared to mainframe technology.

      The modern mainframe is, in general, vastly more reliable than even the best of the best of 'big servers.' Mainframes are generally redundant to the point that you can change out thefr CPUs, memory, drives, etc. without turning the power off or rebooting the machine. Linux and Unix servers might boast about a couple of years of uptime, but many mainframe systems have been up for decades.

      Many mainframe systems can process orders of magnitude more transactions than your typical *nix system running Oracle -- even when compared to systems with SMP, gigabytes of memory and the latest in high-speed storage. In fact, the stuff that people use nowadays for high-speed, high-reliability storage -- storage area networks (SANs) -- have their roots in mainframe technology. EMC, one of the market leaders in SANs was formerly part of Data General. In fact, so does most of the rest of your high availability 'enterprise-class' technologies -- SMP, NUMA, clustering, etc. Where do you think Linux's current SMP technologies came from? IBM. Who developed them on mainframes, ported them to AIX and then eventually ported them to Linux.

      Massively-clustered systems like Google's are quickly become the norm for high-end stuff. But there are certain things that will probably always run on Big Iron. Whenever tasks are mission-critical and need to 24x7 and 'three 9's' doesn't even touch the tip of the iceberg in what you need in reliability -- you'll see mainframes running those tasks more often than not.

    4. Re:mainframes rock by molarmass192 · · Score: 3, Insightful

      Mainframes excel in throughput, if you have a sh!t load of data that needs to go through in a contiguous run, mainframes are the answer. Think IRS refunds, telco billing, utilities billing, etc. Lots of the same stuff in massive amounts. That said, mission critical, 24x7, and 3-9s are no longer the sole domain of mainframes. In fact, we cluster Solaris and Linux boxen in mission critical, 24x7, 5-9 configs (that's 5 minutes downtime a year ... think network hiccup) at virtually all our deployments. Clustering took this advantage from mainframes. On that note, we don't have the same insane throughput needs that mainframes are built to address. My $0.02, take it or leave it.

      --

      Good people do not need laws to tell them to act responsibly, while bad people will find a way around the laws-Plato
    5. Re:mainframes rock by AKAImBatman · · Score: 3, Informative

      Mainframes are generally redundant to the point that you can change out thefr CPUs, memory, drives, etc. without turning the power off or rebooting the machine.

      Same with the big Unix servers. Unix was considered "ready" for Big Iron usage once machines started shipping with crossbars (for hotplugging CPU boards) and redundnat everything. If you open a Sun E10000, you'll find that it looks a lot like a mainframe on the inside.

      The modern mainframe is, in general, vastly more reliable than even the best of the best of 'big servers.'

      Right up until Unisys invented "Clearpath" technology. Blech. Leave it to Unisys to take great tech halfway to nowhere.

    6. Re:mainframes rock by Bing+Tsher+E · · Score: 3, Informative

      EMC, one of the market leaders in SANs was formerly part of Data General.

      Data General wasn't a Mainframe vendor. They produced Minicomputers, not mainframes.

    7. Re:mainframes rock by morgan_greywolf · · Score: 3, Interesting

      If you open a Sun E10000, you'll find that it looks a lot like a mainframe on the inside.

      Yeah, I've seen 'em. Sun E10Ks are practically mainframes. And they cost about as much, too.

      Of course, when it comes to raw transactional throughput, your average E10K running Solaris and Oracle just doesn't hold a candle to, say, an IBM z9 Enterprise Class running z/OS and DB2.

    8. Re:mainframes rock by lowoddnumber · · Score: 2, Interesting
      Of course, when it comes to raw transactional throughput, your average E10K running Solaris and Oracle just doesn't hold a candle to, say, an IBM z9 Enterprise Class running z/OS and DB2.

      Just FYI, the Sun E10K is an old system--it was released in 1997. I wouldn't expect it to hold a candle to a recent IBM enterprise machine (I assume an IBM z9 is pretty recent).

      It's pretty interesting how Sun ended up delivering the E10K to market. Especially considering how SGI fared in the end. The San Diego based team that developed the machine was originally bought by Cray, who were later bought by SGI. SGI, at the time, didn't have a place for the project and felt it competed with their own products. They sold the team to Sun for supposedly ~ $50 million who finished up the development and productized the machine.

      Check out this site... http://www.filibeto.org/~aduritz/truetrue/e10000/h ow-e10k-wasborn.html -

      Scott McNealy considers his company's acquisition of the Enterprise 10000 and its engineers as the best deal since Microsoft bought DOS. The acquired division was directly responsible for several billion dollars in revenue during its first year within Sun's ranks, not to mention the other revenue associated with selling service and accessories to go with all of that Enterprise 10000 hardware.

      These days, Sun's top mainframe like throughput servers would be the highend E25Ks and midrange E6900s.

    9. Re:mainframes rock by Maxo-Texas · · Score: 2, Interesting

      I work with AS/400's -- have been on IBM hardware since the system 3.

      With an AS/400, you are talking about 2 hours of unscheduled downtime per year.

      Windows computers win because they are cheap- not because they are fast or reliable.

      Also mainframes are typically built to deal with phenominal amounts of data in ways that intel architecture PC's just can't handle.

      --
      She was like chocolate when she drank... semi-sweet at first and then increasingly bitter.
    10. Re:mainframes rock by Chanc_Gorkon · · Score: 2, Informative

      The cores have almost NOTHING to do with the throughput on a mainframe. It's all the channel controllers. Instead of dedicating CPU power to communicate with the outside world it's all handled by the controllers themselves. In a way, channels are paralell processing in 1989....dedicated processors for the I/O, math co and general purpose. Mainframes still rock my world.....wish we had one.

      --

      Gorkman

    11. Re:mainframes rock by somersault · · Score: 2, Informative

      o_0 they're not talking anything to do with graphics. Mainframes could run graphics calculations, but they're talking about data processing, like I dont know how many MBs or GBs a second throughput, but way more than any piddly little graphics card is processing :p

      --
      which is totally what she said
  2. All I know is this by Neil+Blender · · Score: 3, Insightful

    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.

    1. Re:All I know is this by (H)elix1 · · Score: 3, Interesting
      *cou-- massively parrellel processing with nonexistant downtime --ough*

      Exactly - this is the wrong tool for the job. The hardware is fantastic - and yes, I've never seen a hardware problem, though crappy code (waves hand) can hork an instance. One of the machines I use is a eServer zSeries 900. Max of 16 CPU's, and this one has less than that - think it has 6, but not sure. Not that they would ever *allocate* all the MIPS my direction.

      But lets say I had some stupid money. From the website, the latest greatest box...

      The following models were announced on July 26, 2005:
      * A z9-109 S08 model can be a 1-way through 8-way - which means there are 8 processor
      units or PUs contained on one book.
      * A z9-109 S18 model can be a 1-way through 18-way (18 PUs) contained on two books.
      * A z9-109 S28 model can be a 1-way through 28-way (28 PUs) contained on three books.
      * A z9-109 S38 model can be a 1-way through 38-way (38 PUs) contained on four books.
      * A z9-109 S54 model can be a 1-way through 54-way (54 PUs) contained on four books.

      The z9 EC will provide all these same models.
      The PUs can be configured as general purpose processors (CPs), Integrated Facilities for Linux (IFLs), System z Application Assist Processors (zAAPs), System z9 Integrated Information Processors (zIIPs), additional System Assist Processors (SAPs), or used as additional spares.
      Only eight subcapacity processors can be active on the server (and it doesn't matter which model you have). When more than eight CPs have been purchased on servers that have more than one book, a selection can be made to activate only 8 or fewer subcapacity features. This means that the new subcapacity settings are available on any of the models as long as they are configured (not the same as purchased) with eight or fewer general purpose processors.


      If you need to crunch hard numbers - especially in parallel - there are much better options out there for the money. The folks a few miles down the road from me do a fantastic job with large Opteron clusters (waves to Malice). The mainframe is not the hardware you want when it comes to getting the math on.

      IO and uptime... that is another story...
  3. Challenges by From+A+Far+Away+Land · · Score: 3, Funny

    I don't think Mainframes will come back in a big way. I forsee virtual servers becoming much bigger, as RDP and VNC protocols get more handy too.

    Plus, just imagine a Beowulf cluster of virtual servers!

  4. Limit the bleeding ... bah! by Anonymous Coward · · Score: 3, Insightful

    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.

  5. Re:Wow! by Anonymous Coward · · Score: 3, Interesting

    ""Imagine what a beowulf cluster of these things could do?""

    Probably not a whole lot.

    High performance computing is not a Mainframe's purpose. A typical personal computer is going to have a much more powerfull proccessor then what you'd find in your average mainframe.. Of course if you have a few million dollars laying around you can find all sorts of stuff that is blazing fast.

    The thing that Mainframes are good at are I/O. That is sorting and managing massive amounts of information. You'll have transactions and records being sorted that are numbered not in the thousands, but in the tens or hundreds of millions.

    Also you have all these intellegent peripherals.

    For instance in PC-land typically scsi drives are faster then SATA drives.

    This isn't because SCSI is so much faster or using space age materials. (although they tend to last longer because they are simply better built to higher tolerances and also this allows them to spin faster.)

    SCSI and SATA use pretty much the same technologies to do the same stuff. Same materials, same most anything. What makes them faster is the intellegent controllers and I/O bandwidth (although not so much anymore).

    Mainframes are like that. Everything has a built in proccessor that does it's share of the workloads. All these intellegent controllers for all I/O. network offload. Disk activity offload. All this stuff.

    Like a big brachiosaurus vs a monkey.

    The dinosaur is the mainframe, the cat is the monkey.

    So a beowolf cluster is like a thousand monkeys on a thousand typewriters.

    A brachiosaurus supposadly had multiple special brains or nerve clusters around it's body. That way you have a controller in it's ass to control the back legs and the tail. A controller to control the multiple stomachs. etc etc.

    That way it could live with a brain the size of a walnut.

    So if you want to decode the genome, use the monkeys. If you want to move mountains, use the dinosaur.

  6. But how can anyone learn to use mainframes? by Tracy+Reed · · Score: 3, Insightful

    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?

    1. Re:But how can anyone learn to use mainframes? by TheFairElf · · Score: 3, Funny

      I had to recently log into our mainframe terminal, to change my password (everything else I can do using windows front end apps for mainframe). It was the weirdest computing experience I've ever had. I had to move the cursor around the "graphical" interface using the arrow keys and then press the right control button to select an item. Freaky!

    2. Re:But how can anyone learn to use mainframes? by pmwestjr · · Score: 3, Informative

      First, let me say, uh, LINUX ON Z. Now, to the real question--how can anyone learn to use mainframes?. The same way anyone learns to use anything else in the computer world. Hit the library, buy a book (or just hang out in B&N for a few hours), search the net, get some example code...

      That's how people learn, especially in the trendy world of Comp-Sci.

      Geek1: "Have you tried [insert language du jour, such as Ruby on Rails]"
      Geek2: (12 hours later) "Check out my new ap; it's in [language du jour]"

      Don't have access to Z machine? Start with Hercules.

      Here's a debug tip:

      LGHI R1,X'DEADDEAD'

    3. Re:But how can anyone learn to use mainframes? by BlindSpot · · Score: 2, Informative

      So where are you young mainframe people learning how to use mainframes?

      From the "old farts", as you put it.

      We've got a large mainframe contingent where I work - there are lots of critical legacy apps that nobody wants to pay to build replacements to - and I doubt any of them are under 40. But man, they all know their stuff. You could easily bring in one of them to train people if you needed to.

      I'm do not belong to the set of "mainframe people" per se however I do sometimes have to use the mainframe on my job. When I need to do something new on the mainframe I first look for docs past team members might have written to tell me how, and if I find them then I don't need to bother anyone. However if there's nothing there, I go talk to someone, and they'll usually be able to tell me just what I need to do.

      Probably the biggest problem they'll face when teaching is that the environment is totally different. I've been around desktop computers since I was 7 but even I get lost in the mainframe world. I still hesitate when told to "hit PF5" to do something. And I can't tell you the number of times that, by force of habit, I've hit Esc to get out of something on the mainframe and completely fucked up my terminal display. But like anything else, it gets easier with time.

      So long as companies continue to look at IT systems like they would look at a piece of heavy machinery, they'll continue to pay to support legacy systems instead of paying to replace them. They'd rather pay a little over a long period of time, rather than pay a lot now and much less later. IBM, if they're serious, is just trying to cater to this mindset. After all, demand drives supply.

    4. Re:But how can anyone learn to use mainframes? by pc2005 · · Score: 3, Funny

      Find them in India. There are thousands of Mainframe programmers. When I joined my first job, I was initially assigned to one mainframe project, which eventually I left. My employer used to have few thousand mainframe programmers. We used to call that office "mainframe factory". Tell you the truth, mainframe brings a large fraction of the revenue of India's leading IT services companies.

    5. Re:But how can anyone learn to use mainframes? by jacobsm · · Score: 4, Informative

      The company I work for hired a person right out of college. Spent about $2500 on him by geting him an IBM Education card which gave him one year of IBM education. This person has grown to fill a very important postion in our technical services department. He started working with CICS and is now performing a zOS operating system upgrade.

      I wish we could have more like him.

      Mark Jacobs
      Time Customer Service
      Tampa, FL

    6. Re:But how can anyone learn to use mainframes? by DonFarfisa · · Score: 3, Informative

      IBM has a program called the Academic Initiative, which provides free of charge, course material, hands-on systems and software, to colleges and universities who want to start teaching their students about mainframes. There was also a Mainframe Programming Contest that ran just this last year, where over 700 students from the US and Canada logged into a system and performed various tasks to win prizes. The top five performers were flown out to IBM Poughkeepsie, NY for a tour of the facilities and to meet with some of the higher-ups.

      Mainframes aren't going away. There's simply nothing else out there that can handle the amount of data that a mainframe can process. That's simply the way it was built. It doesn't matter if someone comes out with a 25ghz core cpu with fiber interconnects. That doesn't drive business. IBM's mainframes are built for business. Read up on GDPS, Parallel Sysplex, WLM and CICS. Comparing a "omg fast 15ghz dell server" or whatever to a mainframe is like comparing a Ferarri to a freight train. Sure, the Ferarri will smoke the train in the quarter mile, but there's no way you'd want to use one to move coal from one side of the country to the other.

      If you're interested in learning the stuff, just ask around a company that uses them. While it is an entirely different world, it is fun to learn, and people are really trying to hire young mainframe system programmers now.

  7. The value of the mainframe is in the hardware... by kcbrown · · Score: 5, Informative
    Mainframes don't have the fastest CPUs around. Instead, they have the most reliable ones.

    The same is true of their memory subsystems, their disk subsystems, etc., though their backplane performance tends to be second to none. Mainframes are designed for throughput.

    Mainframes are capable of staying operational for decades at a time. If you don't want your computer to ever go down and can afford the price, a mainframe is what you want.

    One other nice benefit: they've had virtualization figured out on mainframes since the 1960s, so allocating resources is a relatively easy thing to do.

    If you're interested in finding out what the older mainframe OSes were like, check out the Hercules IBM mainframe emulator here.

    --
    Use 'slashdot stuff' in the subject line in any email you send me if you want to get past the spam filter.
  8. Cluster computing is better by starfishsystems · · Score: 4, Interesting
    There is a strong movement toward cluster computing as a way of sharing the costs and benefits entailed by massive compute resources.

    It turns out to be a lot like mainframe computing in terms of physical infrastructure and administration, and in fact often takes over disused mainframe computing centres, at least in the university space.

    Unlike the mainframe environment, anyone with Unix/Linux experience is already equipped to take full advantage of cluster and grid computing. Either enviroment provides specialized resources that you have to learn how to access, but to me, the advantage goes to whichever environment provides the most universal expression of those resources, and is least likely to lock my efforts into one particular architecture.

    A mainframe is an especially proprietary architecture. Portability has never been its strong point. Conversely, most cluster computations that I've seen have been quite trivially ported from one cluster environment to another. And to some degree it's in every vendor's interest to make it so.

    The exceptions are interesting but, at this point, surprisingly rare. Relatively few researchers are decomposing problems in a way which requires either MPI or shared memory. Perhaps the field is not mature enough for that yet, much less for the sorts of computation envisioned by the Grid community, though that day will eventually arrive.

    What I mean is, the biggest market for massive computation is always going to be driven by ordinary computation which happens to operate at a massive scale. And for that, the plainer, more symmetric, and more standardized the architecture, the better, because development and testing costs are not going to go down in the face of massive computing resources, they're going to go up.

    The perfect mainframe, in other words, is one node in a Beowulf cluster. And that's fine. Just don't go running MQ Series on it, okay?

    --
    Parity: What to do when the weekend comes.
    1. Re:Cluster computing is better by Animats · · Score: 4, Informative
      A mainframe is an especially proprietary architecture.

      Actually, no. The IBM 370 architecture is open, as a result of an antitrust decree decades ago. There are plug-compatible peripherals and software-compatible CPUs. There's even a good emulator for PCs. It's actually more open that x86 or PowerPC.

    2. Re:Cluster computing is better by Arker · · Score: 4, Insightful

      Clusters 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.
    3. Re:Cluster computing is better by jthill · · Score: 2, Insightful
      So, a Linux cluster would know what to do with a StorageTek SL8500?

      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.
  9. Re:Whoot by plover · · Score: 3, Funny
    But development has progressed on the mainframes, too, far beyond BAL or HLASM. They now have Object Oriented Cobol, or as it's known in the biz:
    ADD-ONE-TO-COBOL
    Danke, I'll be here all ze veek. Tip your vaitresses.
    --
    John
  10. I've been doing mainframe C++ programming by Omnifarious · · Score: 3, Funny

    For the past year or so. The environment has potential. But the CPU speed is horribly slow. I would have really loved a cross compiler that could offload CPU intensive C++ compilation off onto some other box that wasn't so CPU limited.

    It's really interesting the things that take no time at all on the mainframe (grepping the source tree) and the things that take forever (compiling it). It's an odd architecture. There are definitely things you should not use it for, but it would likely make an excellent web server.

  11. What makes a mainframe a mainframe? by toybuilder · · Score: 4, Insightful

    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?

    1. Re:What makes a mainframe a mainframe? by swordgeek · · Score: 4, Informative

      To answer your question at least partly, look at something that Sun termed "midframe," the SunFire 6800.

      This beast can be physically partitioned into multiple domains. One OS runs on each domain. CPU/Memory boards and I/O boats can be dynamically moved from one domain to another. You can run Solaris 8 in one domain, Solaris10 in another, Linux in a third, and um...*BSD in a fourth. Any of them runs independently of the others. If a board dies, you can deallocate it from a domain, swap it out, and add it back in--all live.

      Now multiply that by a LARGE number, add crazy amounts of fault tolerance, and you're getting into the world of mainframes.

      --

      "People who do stupid things with hazardous materials often die." -- Jim Davidson on alt.folklore.urban
    2. Re:What makes a mainframe a mainframe? by Anonymous Coward · · Score: 4, Informative

      Your analogy of a 18-wheeler is probably a good one.

      It's not the fastest thing in the world, but would you want to haul a load of water main pipes with a Porche?

      background.. I'm a mainframe systems programmer..

      There are two major aspects of a mainframe. One is the physical hardware (and software), on how it is designed and the other how they are used. The hardware is designed from the ground up to be robust and redundant. Yes it costs thousands (millions?) of dollars for a mainframe system, but with that you get the assurance that the system *WILL NOT CRASH* when an error happens. Instead the system will perform a self diagnosis, make an automated phonecall back to support. Support will send out an engineer (CE) with the replacement parts, which will be replaced while the system is still running (note that there are some (very few) instances where the repair does require downtime to actually perform the repair).

      A few years ago, one of our CE's informed me that one of our mainframes had called home with a CPU failure. I asked if he would need to schedule some downtime to replace the card(s). He said ".. No.. we would have to lose 5 more before they would get worried.." Now.. from my viewpoint, I did not see any error, I still see the same number of "Processors" as I did before. What happens is that the system has a bunch of spare CPUs that are kept online. Instructions are run in parallel across multiple CPUs and then the results are checked. If there is a failure (as in the results don't all agree) the system will determine which CPU "failed", perform a diagnosis on that CPU and if it's determined that there is a problem will fence the failed CPU off from use. Note that this is all done under the covers from the operating systems. There is nothing that I need to do to enable or disable this.

      Mainframe operating systems behave very differently then the Windows/Unix world. -- Lets take a simple example. An application allocating memory. Under Windows/Unix what happens if the memory allocation fails? -- Answer, the program is handed back control with the hopes that it will test the returned value. On a mainframe by default if there is a memory allocation error, the application will be "abended". Now the program *can* request that if there is an error to allow it to continue by explicitly stating that it will handle the error. This concept is carried throughout the system API. By default the application will be halted if there is an error. Under Windows/Unix the default is to simply return some error flag and hope that the application will handle it.

      The way mainframes are used and maintained is a little different. Things are usually not done on a whim. This really isn't due to anything physically different on a mainframe, but more of the "culture". Yes these are big expensive boxes, therefore the company that owns (rents) them wants to make sure they are maintained and running efficently. When changes are made, they are researched and documented with fallback plans. When even minutes of downtime could mean millions of dollars lost, it's well worth the investment in time to make sure that a change is correct. Going back to the 18-wheeler analogy, I suspect that when it's time to do a scheduled maintenance on the tractor there is a lot more testing/verification then you would have done on your family car.

    3. Re:What makes a mainframe a mainframe? by Coldfusion97 · · Score: 2, Interesting

      People have already mentioned stuff like tons of memory, redundancy up the wazoo, etc. And those that have said it are correct; mainframes are not good at CPU intensive work (they aren't really designed to be). They're incredible at I/O-bound workloads, hence their popularity with financial institutions, airlines, retailers, etc.

      For me, the real killer app is Linux under z/VM on a mainframe. I work for IBM testing enterprise Linux distributions on our mainframes, so my job involves a lot of Linux installs, quite a bit of administration (I currently have 8 Linux guests I use for installs and tests but would ideally have about 20), and a bunch of debugging, scripting, etc.

      I can dynamically create or attach devices to my systems. Want another network adaptor? Poof! Want another chunk of disk space? Voila! More CPUs? No problem! I can install RHEL or SLES, copy it to a spare block of space, and then copy that install as many times as I want and then customize it. With a mainframe and today's storage systems, I can flashcopy a full Linux image in a few seconds and have it up and running in another 15 - 30 seconds.

      The absolute worst thing about having experience with Linux on a mainframe? Being spoiled by it. Now whenever there is trouble with any of my personal machines I cringe and wish I could just bring up another guest or flashcopy another install and bring it up. Trying to debug bootloader issues with my ThinkPad stunk and made me wish I could just enable tracing or get a dump from an underlying hypervisor.

      I will freely admit that mainframes can be expensive and may require a fair amount of work to get set up, but man, once they're up and configured, it's absolutely amazing how easy and powerful they can be. And it can be quite a feeling to have a system with 32 GB or more of RAM and a couple dozen CPUs running Linux. :-)

      --
      Are you saying coconuts migrate?
  12. Not mainframes, SMP UNIX boxes by Col.+Bloodnok · · Score: 2, Insightful

    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.

  13. MF + Linux by jsailor · · Score: 3, Informative

    Both of these are huge. I don't know of a single major financial firm that is shrinking their mainframe footprint. Also, most of the talent is retirement age - so their is a promising future for those entering now.

    Perhaps most interesting to this community is that Linux on the mainframe solves a major problem that all large institutions are dealing with: Power. Power density and consumption for intel/amd boxes is through the roof and is breaking most data centers. Exponential growth is not an understatement. Mainframes however, remain very predictable with a fairly flat and linear power curve. Porting quantitative trading and analysis applications to the mainframe would solve this problems and literally save 100's of millions of dollars.

  14. I'll be brushing up on my APL by cmacb · · Score: 3, Funny

    ALC
    Algol
    Ada ...and any other A-list languages as I think of them.

  15. Re:The value of the mainframe is in the hardware.. by (H)elix1 · · Score: 2, Informative

    if you're interested in finding out what the older mainframe OSes were like, check out the Hercules IBM mainframe emulator here. (http://www.conmicro.cx/hercules/)

    It is worth adding that this emulator lets you run 31 (not a typo) and 64-bit zSeries Linux distributions as well. Very cool stuff.

  16. They never went out of style ... by Kittenman · · Score: 2, Interesting

    I've been gainfully employed on Mainframes (mainly) for about 25 years now. I wrote yet another ALGOL program this morning. I've done UNIX and some Windows on the way down the road, and am still waiting for the college graduates who know my job backwards to come in and put me out to stud. Hasn't happened yet.

    Mainframes are industrial strength. Full stop.

    --
    "The greatest lesson in life is to know that even fools are right sometimes" - Winston Churchill
  17. Re:Whoot by T-Ranger · · Score: 3, Insightful

    If your going to do the joke, at least do it correctly, with valid syntax.

    ADD 1 TO COBOL GIVING COBOL
  18. Gibsons by rkulla · · Score: 3, Funny

    I just hope Gibsons make a comeback. They never recovered after the movie 'Hackers' came out and every kiddie on the block was brute forcing their way in.

    1. Re:Gibsons by menace3society · · Score: 2, Funny

      If Gibsons come back, they need to change the default password from something other than "God", "sex", or "password" to keep people from hacking them.

  19. Forget z/OS, try Linux under z/VM by swamp+boy · · Score: 5, Informative

    For any organization that may contemplate getting into mainframes -- skip z/OS (MVS). MVS is what most folks dread when they think about mainframes (JCL, pre-allocate datasets, etc.). A modern mainframe (z/990 or z9) running z/VM (5.1 or 5.2) and a bunch of linux guests is *COOL STUFF*. What's really cool is when you need to setup a temporary testing environment -- no problem, just add a half-dozen configuration statements to your "USER DIRECT" and clone an existing guest image to the new machine's disk volumes. Done! Need more memory in that virtual Linux server? No problem, bring up USER DIRECT in XEDIT and edit a single line of text and issue DIRECTXA. Restart the linux guest and now is has more memory. Disk space (volumes) can be added while the Linux systems are running (add as many as you need).

  20. Mainframes are Obsolete - The Law speaks by Smith007 · · Score: 2, Informative

    Check out the definition of Mainframe at the NY State Law Library http://www.courts.state.ny.us/ad4/lib/gloss.html#M

  21. Obligatory by Shadyman · · Score: 3, Funny

    I, for one, welcome our old COBOL overlords.

  22. Re: Running CPUs in pairs on mainframes by some+guy+I+know · · Score: 3, Informative
    But the main CPs are never run as a pair!
    That may or may not be true as far as IBM is concerned, but it's not true in general.
    I worked with Stratus machines running a version of UNIX in the 1980s.
    The machine could have up to eight or sixteen CP cards in it, I forget which.
    Each CP card had four CPUs on it, running as a pair of pairs, with each outer pair running a separate path to redundant memory modules on other cards in the computer cabinet (powered by redundant power supplies, UPSes, disks, etc., with redundant paths between components, and everything constantly checking its counterpart).
    All four CPUs would execute the same instruction, and each pair would compare the results, first with each other, and then with the other pair.
    If a pair of CPUs didn't agree with each other, that pair would take itself off-line, and the other pair would write any (presumably correct) results to both memory modules, then the entire card would go offline, and the machine would run with reduced performance until a new CP card could be hot-swapped in.
    (The machine would "phone home" whenever a part failed, and Stratus would ship a replacement part immediately.)
    I don't remember what would happen if each CPU pair thought that it was right, but the two pairs disagreed with each other.
    Space-time paradox, maybe.

    At any rate, everything in the computer was pairs or pairs of pairs, executing in parallel, comparing results, etc.
    It was advertised as a "never-fail" machine, that could survive the failure of any one component.
    Sometimes a FedEx guy would show up at the door with a CP card, memory card, disk unit, or whatever, and that would be my first indication that something had failed.
    I'd take the new part back to the machine, open the cabinet, pull the card or disk unit with the red light lit, and replace it with the new one.
    A few seconds later, it would green-light, and the machine would be back up to full steam.

    The only time that the whole thing failed is when we had an ice storm that knocked out power to the building for nearly a week, and the UPSes couldn't hold out that long.

    So, to make a short story long and boring, yes, there are times when CPUs run in pairs.
    --
    Those who sacrifice security to condemn liberty deserve to repeat history or something. - Benjamin Santayana
  23. Two Words: Virtual Sessions by Hasai · · Score: 2, Insightful

    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;

    Hasai

  24. Mainframes were deterministic by couch_warrior · · Score: 2, Interesting

    One big difference between mainframes and UNIX or Windulls boxes is the way that resources were allocated.

    IBM allowed fine-grained control of CPU time, IO bandwidth, RAM, and disk storage. And this control was not a weighted-selection algorithm, it was WYSIWYG deteministic control.

    In mainframe shops, there were well defined workloads, often represented by a batch of transactions needing to be run against a database. These "batch jobs" would run on predictable intervals, daily, weekly, monthly. They could be scheduled to run at fixed times for known durations.

    This made the whole mainframe environment very easy to manage. Instead of having to guesstimate workloads, and install CPU and I/O capacity to match unexpected peak demands ruled by chaos theory, mainframes were safe and predictable. The need for CPU MIPS and RAM was clearly visible and easily monitored and planned.

    So when people say that mainframes were "more reliable", they don't just mean the MTBF numbers of the hardware.

    They mean that when you ran work on a mainframe, you knew exactly what programs were using what resources at what times. And when something screwed up, you could very simply back up to the previous version of the affected files and re-run the batch job.

    Life with mainframes was safe, logical, and predictable.

    Introducing some of that into UNIX or Linux would not be a bad thing. Not every problem has to run in real-time with dynamic adjustment of resources. Deterministic, static allocations of memory, CPU, and I/O can work very well for predicatable workloads.

    Linux needs a good Batch Spooling manager system.

    --
    "Sic Semper Path of Least Resistance"