NASA Unplugs Its Last Mainframe
coondoggie writes "It's somewhat hard to imagine that NASA doesn't need the computing power of an IBM mainframe any more, but NASA's CIO posted on her blog today that at the end of the month, the Big Iron will be no more at the space agency. NASA CIO Linda Cureton wrote: 'This month marks the end of an era in NASA computing. Marshall Space Flight Center powered down NASA's last mainframe, the IBM Z9 Mainframe.'"
NASA still has a big data center in Slidell, Louisiana. They're hiring. With the mainframes gone, one would expect they'd close down Slidell, but no. Instead, they're building a big museum and PR center there.
NASA seems to spend money at a relatively constant rate, independent of whether they're flying anything.
It's also that $730,000 / year in ongoing maintenance for a Z9 is not really all that practical, especially considering that newer deployments based on GPGPUs have far lower operating costs, and provide higher performance than a 5 year old big iron.
Thirty four characters live here.
The cited page is a copy/paste of Linda Cureton's blog post. Lame and uncool to copy someone's article whole without a link, don't you think, even if they are paid with taxpayer $$? Here's the original article : http://blogs.nasa.gov/cm/blog/NASA-CIO-Blog/posts/post_1329017818806.html
The reason big old fashioned mainframes are still in use in many places is simply the cost of moving away from them. They're generally running custom code, custom databases, custom hardware....the sheer cost of re-doing everything is the big problem, not the fact that modern hardware has any issues doing the job.
Clusters of PS3s make a perfectly serviceable supercomputer, but if your existing solution still works...
Please consider this account deleted, I just can't be bothered with the spam anymore.
Only in some aspects, and GPGPU clusters have a hard time matching the transaction rates and number of concurrent I/O's of a Z9. I wouldn't want to use a GPGPU cluster for financial/payrolls, just as an example.
I've seen mainframes used at Insurance companies and Banks, but the rest of the world seems to favour the the cloud ways of Elastic Cloud and what not.
I've heard mainframes have high IO thoroughput, but what about their equivalent Cloud solutions and scalability especially?
Thanks.
Latency. Confidentiality. Reliability. But most of all: sunk costs and proprietary software embodying key business knowledge. Replacing mainframes requires a large enterprise to start not only major software procurement or development (or both, as in ERP), but also business process reengineering... none of which is particularly fun, cheap or in themselves something that helps capture greater market share.
GPGPUs do not replace mainframes, unless the mainframe in question is being used for the wrong reasons.
GPGPUs excel at very fast computation and being cheap.
Mainframes excel at very high transaction rates (lots of I/O), incredible reliability (five 9s), and security.
GPGPUs are used in scientific (number-crunching) work, mainframes are used for business.
scientists aren't business people either. The intricacies of managing the main contractors, the infrastructure base and the diplomatic exchanges that go with all the other space programmes in the world are best left to people who aren't scientists.
NASA was always about more than just shuttles and manned spaceflight. Those are, generally, relatively poor investments for the science you get out of them. Great PR, and broadly inspirational, but relatively inefficient actual science. NASA does communications satellites, telescopes, materials sciences, weather, the weather of the sun, general satellite management from all of those things, fundamental aeronautics research, etc. There's a lot more to what goes on that just pure science, and than the trolls misguided view that it's all about manned spaceflight. And, like anything, there's a legitimate desire to use the progamme to showoff expertise and build relationships internationally.
I've heard mainframes have high IO thoroughput, but what about their equivalent Cloud solutions and scalability especially?
Depends on the problem.
For a relatively naively constructed algorithm, IO will be measurably worse in any 'cloud' platform popular today, and severely worse than mainframe. However, if you understand how to make your application scale (assuming it theoretically can), you can *in aggregate* match mainframe IO benefit at a much lower acquisition cost (though depending on who you talk to the more fudge-friendly 'TCO' metric may or may not follow). The trick is for many applications, the perceived risk and cost to reach that understanding is higher than just continuing to go with the flow of an IBM mainframe. Of course, some moderately broad areas of problems are getting tooling to more easily do that sort of scaling without too much extra thought. On the other hand, some problem areas no one has constructed a 'proper' approach that would negate the need for mainframe-like architecture.
With respect to the word 'cloud', the overwhelming majority of 'clouds' covered in tech news are EC2 and EC2-workalikes where IO is not particularly optimized. There are also various companies championing a departmental server or two with a few virtual machines on it as a 'cloud', further diluting the message and usually having terrible IO characteristics even with overpriced storage architectures. On the other hand, there are some projects claiming 'cloud' that include arbitration of bare-metal execution that can reasonably compare with a 'boring' scale-out private x86 scale-out solution, but very few people care.
XML is like violence. If it doesn't solve the problem, use more.
For the workloads a mainframe is designed to perform, I can't imagine NASA would have much use for one. They are database and transaction processing monsters. NASA does not handle large volumes of either. I imagine their scientific computing needs are pretty fair-sized, but mainframes are indeed rather cost-ineffective for scientific workloads.
Mainframes are not supercomputers, and are not marketed as such. Not sure what you mean by 'modern hardware' - you don't think mainframes are modern hardware?
Mainframes are used for high-volume transaction systems, where uptime and data integrity is absolutely essential. Clusters of PS3's are not going to match that.
I don't follow why a data center would be kept open for one puny mainframe (or closed because it's gone.) I'm pretty sure there's other stuff there. A modern mainframe is about the size of three deep rack cabinets. Even with associated storage and support peripherals, I could fit a complete mainframe installation in my living room. I doubt the only thing in the data center was the mainframe.
Also, NASA stands for National Aeronautics and Space Administration, NOT National Manned Space Flight Agency. They DO accomplish lots of other stuff other than manned space flight.
Mainframes aren't about computational performance, they're about reliability and to a lesser degree (these days) I//O performance. If you want computational performance, you go with a cluster or perhaps a cluster of GPUs (depending on the nature of the problem).
Mainframes are about reliability. When your app absolutely positively must run 24/7, a mainframe is a reasonable consideration. We can get about 90% of that with multiple failover servers and other similar strategies. Where that's good enough, we go that way because of the vastly lower prices. However, if the 90% solution just isn't good enough, mainframe it is.
My mom keeps telling me that UPS is one of the world's largest users of DB2, a statement backed up in this article. They're not switching off for the same reason financial institutions don't; After pouring lots of money into alternatives, they found that mainframes have better performance.
open source modern art: laser taggi
Yes, there are mainframe emulators. And if you compare processing power they come out quite well, but as others have pointed out mainframes aren't super computers and don't claim to be. If you just want something that can run your mainframe code that's great. What an emulator won't give you is any of the things that people actually want a mainframe for (see other posts for details).
It's a bit disappointing to see so many people on slashdot wondering what the purpose of a mainframe is. It shows so many "geeks" have a very limited knowledge of IT in the real world.
Yes: http://www.hercules-390.org/
But IBM won't allow to run z/OS (the operating system usually used) on it.
You're probably aware of all this, but just to anyone who happens by and gets confused: these mainframes are not exactly dinosaurs; the z9 series was introduced seven years ago and uses totally custom 64-bit CISC silicon designed to give the top of the line performance for the day. The hardware is essentially optimized to run VM hypervisors, and one of the major guest OSes for it is Linux. Essentially what the price tag fetches you—very much unlike a pile of PS3s strung together—is ungodly amounts of vendor support. As documentation-fearing folk, we Slashdotters don't generally think about dependability on the scale that IBM does, but there's a very clear market for it, and that's really been the marketing point of Big Blue for at least the past twenty years or so, much moreso than legacy software lock-in.
Bio questions? Ask me to start a Q&A journal. Computer analogies available for most topics!
Few decimal places, but lots of rules and interactions with banking systems. Though the big element is reliability, mainframes are pretty unmatched in their ability to keep running. There are mainframes that literally go decades between reboots or other failures.
There was once a programmer who worked upon microprocessors. "Look at how well off I am here," he said to a mainframe programmer who came to visit, "I have my own operating system and file storage device. I do not have to share my resources with anyone. The software is self- consistent and easy-to-use. Why do you not quit your present job and join me here?"
The mainframe programmer then began to describe his system to his friend, saying "The mainframe sits like an ancient sage meditating in the midst of the data center. Its disk drives lie end-to-end like a great ocean of machinery. The software is as multifaceted as a diamond, and as convoluted as a primeval jungle. The programs, each unique, move through the system like a swift-flowing river. That is why I am happy where I am."
The microcomputer programmer, upon hearing this, fell silent. But the two programmers remained friends until the end of their days.
"Does payroll really require a Big Iron?"
No it does not. I managed the SQL databases for Comcast's company wide Accounting systems in 2006 it ran off of 4 MSSQL servers. They were monstrous servers, with 8 processors each, (you count the cores) screaming fast Raid 50 arrays with a buttload of ram to deal with the pivot tables. 99% of payroll speed is the DB read and write times not mathematic calculations.
But you certainly do NOT need Big Iron to do a few million payroll calculations for hourly, Executive and Sales people every 2 weeks. Running payroll took 6 hours on tuesday. If something went wrong we ran it later t hat night.
Do not look at laser with remaining good eye.
Not so much. The vast majority of mainframe systems are used with active network connections, and you probably use them without ever realizing that they are the back end to a variety of web engines you touch. Booked a hotel room, car rental, airline seat? Maybe you got money from an ATM? Bought something online? These are common modern uses of the mainframe's vast I/O capacity and reliability.
Does payroll really require a Big Iron? I can't really imagine that keeping track of a company's financials (even measured in billions) requires $730,000 / year in number crunching ability...
It's not just payroll, but also tracking every expense, income, capital asset, depreciation, order placed, order received, services provided, goods shipped, customer phone call received, etc. For a large company it's an AMAZING amount of data. The "old way" of doing this was to dump all this into a set of tables, then run enormously complex recursively joined queries to restructure it and generate reports, billing reminders, etc. The new way is to dump it into mapreduce, scribe feeds, or equivalent and get cooked data out that can easily be tabulated in reports. The data out of the distributed computation gets fed into a relatively small db while all the raw data is just piped to some storage device for posterity. This computational model fits better with cloud provisioning. But you may find a room full of 20U blade chassis loaded up isn't exactly cheap either. But it's more flexible, and the mapreduce model of pre-cooking is more economic because it distributes the load over the quarter rather than over a few days following each quarter. Of course, horizontal scaling is vastly cheaper than vertical scaling, if the problem can be attacked that way. Even if the overhead approaches several hundred percent or you crunch numbers in php (heaven forbid) - it's still vastly cheaper.
But everyone knows the distributed model is cheaper. It's just that any business that's been around more than 10 years has a large body of legacy code to already implement all the custom payroll, auditing, tax code enforcement, tax optimization, reports, etc they need, which makes it's a huge project to move a system that's already in production. Moving it would probably cost in the millions and is very risky, so it's easy to just to pony up $700k annually and forget about it. It's also really difficult to migrate in steps.
Maybe all payroll stuff requires suckage, but PeopleSoft and SAP are two of the worst products in existence. The city here adopted SAP to "save costs" and now has a department of 10+ "SAP Programmers" just to keep basic functionality running. And PeopleSoft where I used it last directly wasn't hard. It ran on a single low-spec server. You just couldn't use it for 5 days of the month (invoice generation, payroll, and 3 other such dedicated days). That was "acceptable" because the cost of a server that could generate those pieces in a few seconds would have cost more than the inconvenience of the application being unavailable.
Learn to love Alaska
It's not the decimal places as such. It's the fact that, if we step through the entire stack: Everything is rounded off properly(that means, no floating points math rounding errors), input from many concurrent sources without choking, reliability not just in terms of machine/OS/application uptime, but also in terms of data integrity(a modern mainframe does ECC, checksumming etc at every stage of data handling, even in transfers to and from RAM. With the proper configuration, you can also have it encrypted in transfer, at no cost in throughput or computational performance). The I/O also means it can crunch through all the conditionals listed in records much faster, including all banking and tax rules etc. In terms of physical hardware, everything is redundant, with the aforementioned ECC etc, and if you are serious, you sysplex it. And that's just for payroll/employee records. Virtualization is handled pretty much transparently, seeing as IBM has done it on mainframes since the 1960's. Security of the underlying system is excellent with superb compartmentalization and ACL's etc, such that the Linux images that you can run virtualized are less secure even in a hardened configuration.
For financials or insurance, it's everything mentioned above, and handling thousands of terminals/ATM's, handling transfers between accounts in real time etc. At a bank here in Sweden, the Unix/Linux crowd has been trying to move the bank away from mainframes for over 9 years now, but the mainframe division can show, year after year, that even with the support costs, it's cheaper to use the mainframe, because it's more reliable, and needs less infrastructure and manpower than the bundle-of-servers approach.
You don't have to IPL every LPAR in the sysplex at the same time...
Mainframes support virtualization, multiple versions of different operating systems running at the same time. One OS can be used for development, another for production. Hardware can be hot-plugged. You can pull out CPU's, disk drive, memory boards, all while the system is still running. The system will have it's own back-up power, it's own diesel generator, fuel-tanks and air-conditioning. Just as much if not more reliability and redundancy than a nuclear reactor.
Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
---
Even if it's on a punched card deck and you don't have card deck reader hardware anymore, IBM does. Its support group will transfer the card deck to whatever media your current hardware can handle.
Also, if a mainframe ever does go down, IBM's service escalation policy is unbelievable (e.g. that's what you pay for). I remember when my datacenter's mainframe went down [circa 1975]. The following numbers aren't exact, but similar.
The local rep must be onsite within a fixed period of time (e.g. 2 hours). He has [say] 4 hours to diagnose/fix the problem. If he is unable to do so, the regional hotshot is called in. If more time goes by, the national service rep and one or more of the system architects must arrive. After 24 hours, an executive vice president must be onsite and stay until the problem is resolved.
When we had our problem, the onsite VP had the entire mainframe replaced, by diverting a system scheduled to go to a new customer and airfreighting it up. Total round trip time [for complete replacement/install]: 72 hours
Also, the mainframes in those days were much bigger iron than the one pictured in the article. You could fit five z9's into the space of a single s/370
Like a good neighbor, fsck is there
If only there was a "...what?" mod option.
You don't have to IPL (Initial Program Load - reboot) every LPAR (Logical Partition - like a virtual machine) in the sysplex (cluster) at the same time...
LPAR is a Logical PARtition, a section of hardware in a mainframe dedicated to one operating system instance. Basically a form of visualization.
A sysplex is a SYStems comPLEX. Basically a cluster of mainframes.
Basically, you reboot a single LPAR containing one specific thing rather than the entire physical system or cluster.
It's basically like having multiple independent servers for each thing, but more reliable and more flexible.
upon the advice of my lawyer, i have no sig at this time
Except that the HP Blade cluster has nothing on the mainframe in terms of reliability and data integrity.
As much as I use and abuse VMWare, it's not yet comparable to IBM Mainframe class virtualization.
And if not always better performance, usually more predictable performance, which can be far more important.
For some apps, it is better to have a guaranteed transaction time of 10 ms than an average transaction time of 1 ms with no guarantees.
Linux RT and GRIO are getting better, but not quite there yet.
It's also easier to scale with big iron - you pay for more performance, Big Blue delivers it, and you won't have to go through painful migrations.
I watched an IBM mainframe service tech remove the jacket of his three piece suit, roll up his shirt sleeves, strike up a propane torch and re-sweat the solder joints on the copper pipe for the water cooling system of an ES/9000. I don't know what they are like these days, but 15 years ago those guys were amazing. They had to know how to repair every piece of hardware that IBM made, and how to troubleshoot every operating system.
I have great faith in fools - self confidence my friends call it. - Edgar Allan Poe
But cmon, you gotta admit, that initial bid sure was cheap... before you city put in a bunch of change requests, new features, etc.. First hit is always free..
What are we going to do tonight Brain?
It would only power itself down when someone actually unplugged it.
and unplugged the backup generator, and siphoned off the diesel that powered it.
I'd like to think the OP meant "stayed online long enough to develop sentience and then powered itself down after noticing the futility of existence". But I rather think he's a Windows guy :)
It isn't that hard to implement "fixed decimal point" mathematical algorithms. It can be done on any computer which has integer opcodes... which is just about every computer ever built since ENIAC. The rounding you are referring to is due to floating point numbers where the numbers are rounded when they are put into the data format in the first place.
Making a "fixed point data type" in C++, C#, Java, or other more modern languages is simply creating that data type in the first place, and most of those languages have operator overloading for those data types that make the task trivial once you've implemented the type. I'm sure simply looking around can find find that already written as a library, but any programmer worthy of the title should be able to create these data types from scratch in those languages.
C and its derivatives also move strings around very efficiently, but I'll admit the programmer interface into accessing those functions is clunky and obfuscated, while COBOL does it as a designed behavior of the language.
As for static variables, the problems that come from the dynamic variables has more to do with how programmers using those languages have been taught to use them, where dynamic variables are considered ordinary and the developers insist upon pointer references in libraries and common interfaces. Again, it doesn't have to be done that way, but the API standards push it to be that way. COBOL comes from an earlier time when such techniques simply weren't taught.
Traditionally in Mainframes they had larger bus sizes and register sizes, which for fixed point calculations is critical. With most microcomputers having 64 bit registers as a common practice and even some low-end game consoles having 128 or even 256 bit registers, the real strengths of mainframes in terms of computing power is almost lost. About the only benefit to mainframes any more is strictly the uptime and circuit redundancy for hot-swapping components. For computing tasks that take hours or days to complete, that can be very important.
Kinda like the HP Blade server we have running ESX here at work? It costs a lot less than a Z9 as well :).
Kinda, sorta, a lil :}
To be fair, there are many features in a mainframe that the HP blade server can't do.
Now don't get me wrong, I'm not saying the blade server is a pile of crap or anything. It's pretty damn awesome in fact.
But mainframes have some hardware redundancy features more geared towards assuring data gets from one place to another without error.
ECC if not CRC is used in nearly every path data can take through the system.
CPUs can be configured in a dual or tri-system state, where 3 procs do the same task, and at the end compare answers. Data can be redundant in memory too, which can do the same odd-man-out verifications on reads.
An HP blade server can emulate Some of this in software, but it is much slower than in hardware, and even that won't necessarily catch every data path.
The closest I think you can get is having 2 or 3 different instances of the same virtual machine processing the same data, using different CPU blades, memory, and ending up putting the results on different SANs each on their own unique bus.
Then you need at least two manager VMs to do the feeding of data and comparing the results, both of the instances below it, and with its partner manager.
Those two would also be responsible for figuring out which system below it is throwing disagreeing results, and ideally narrowing down from which piece of hardware, in order to raise an alert and hopefully disable the failed hardware at a higher level in ESX. As well as email you to buy it a replacement part of course.
If the two managers disagree with each other, all you can hope for then is a graceful termination of processing, hopefully with a detailed reason why.
You can get pretty close to a similar effect, in that you will not get bad data in the end due to some step in the processing chain going bad in hardware.
But you will likely have downtime of processing once something does go bad, depending on how many resources you are willing to throw at what amounts to the same work.
For the niche cases that need that level of data protection, mainframes pretty much do that all transparently, and as I mentioned a lot in hardware which speeds the over all jobs up.
Handling failed hardware transparently to the running job, and even the user, means the system disables the hardware flagged as bad, and continues on using other resources, all with no intervention on an admins part.
Of course most of what you are paying for is the IBM support, which is pretty much required to have. ;}
One can get such support from HP too of course, at a price. But being optional is nice for those of us that don't really need it.
Email alerts of failed hardware are plenty for me to work it into this or the next budget.
If I had an active HP rep, it isn't much to hit forward on an email after all
But on an IBM system like this, the mainframe sends IBM the message directly. 'When' depending on your support contract, an IBM rep shows up at your door either within a couple hours, or a day or two, replacement part in hand, and ready to do the swap under your supervision.
The price on the big iron is definitely about what you get. Thankfully for the wallet, many tasks don't need that level of redundancy, and so HP does quite well in the lower end market, which is of course larger too.
Mainframes serve special niches, and when those details become important for the task at hand, IBM has to make up on the low volume with higher prices. But it's not all for naught, you still get your moneys worth.
I just put our IT department into a spreadsheet, went through and counted the mainframe people. At a guess, there are 50,000 employed in our organization. In my IT department are about 325 people. Out of those 34 are dedicated to the mainframe 24x7x365. The other 300 are supporting mostly MS products and customers (public and internal). The network people are probably a couple of dozen, and maybe a dozen or so UNIX/Linux people. So no, mainframes are not over staffed. And we moved database clusters off servers and onto the mainframe Linux LPARs because of the huge increase of speed due to IO.
PHP + SQL beats SAP in almost all instances. SAP's use (as it is) is a merging of the front end and back end so that you don't need to know two separate programs to support it. It's instant integration. The front end and the database are inextricably linked. Someone thought it a good idea, but in practice, it makes things worse. Worse performance, worse security, harder support, more expensive.
Learn to love Alaska