The Open Mainframe Project
The Open Mainframe Project
Posted Aug 21, 2015 14:01 UTC (Fri) by drag (guest, #31333)In reply to: The Open Mainframe Project by eru
Parent article: The Open Mainframe Project
Mainframes take a substantially different approach then the typical Unix-style 'big iron' that people are used to when they think of big databases and such things.
Mainframes are designed to be 'component' machines. You have the central CPU box which houses the main processors and disks to boot the system. Different machines are different, but the ones I used had a separate PC-based backplane that booted OS/2 Warp on Intel processors to provide console access to the S/390 machine that constituted the main part of the system.
You can call that a 'CPU Box' because that is all it really is there for. Just running the CPU and main memory.
All other components are running over a sort of 'network'. The network is based on packets that are based on the IBM punchcards from the 1960's. All communication happens over this sort of 'electronic punchcard' network.
As a example:
The disk units are housed in DASD units. These are big machines whose job it is is just to manage the 'file system' (although it would not be recognizable to a Unix user) and disk/data management stuff. It's 'firmware' is very sophisticated and it has lots of processing power in the DASD unit. This is very different then typical commodity hardware that tends to rely on the main OS and CPU for most of it's workload. It's sort of like SAN, but it's not independent from the main system.
All the mainframe components are like that. They are 'smart' with lots of processing power and connect to the cpu box via a proprietary network of sorts.
Because of this Mainframes have huge amounts of I/O processing power. They can move data at rapidly in massive quantities.
However their processing and memory capabilities are surprisingly low. This is because all the licensing costs (which are massive) are based on MIPS. The more mips you have the more thousands of dollars per month you have to pay for all the software and support you need. So people want to buy as little processing power as they can get away with.
This leads to a fundamentally different approach to software versus typical Unix-style (which Microsoft Windows counts as Unix-style) systems.
With commodity-based servers you now have massive amounts of CPU and memory capacity, but I/O sucks badly. Most people's servers have bottle necks through 1GbE or even 10GbE to get to data. Even if you have local storage it's still relatively low capacity. It can be very quick if you are using SSDs, but it's still relatively small quantities. So people tend to burn away CPU and memory to make programming easier/quicker and/or to compensate for the lack of I/O. Try to store everything in databases, use compression, design the software to generate information 'close to home' and such things. They don't think anything about 'well this is running slow, so lets get 4 cores instead of 2'.
With Mainframes you have very scalable I/O, but you want to keep the processing power as low as possible. You want to keep your system at 100% cpu load all the time to make the most efficient use of computer time and available resources. Your software is going to be much highly optimized. People have spent 30 or more years hand optimizing assembly code for processing stuff like addresses and purchase histories.
That sort of thing.
It's a pretty alien world. Very little is familiar. To a life long Linux user it makes Windows seem almost 'native' compared to the operating environment people typically use for mainframes.
Also because the software is so highly optimized backwards compatibility is cherished. I have used 1980's terminals on 2000-era mainframes. With tape drives from the late 1990's. We even had vertical tape drives that were from the 1970's that pre-dated sophisticated printed boards and instead used lacquered coated wire and hand-wound pin boards for their systems. All these things worked together seemlessly.
IBM is going into desperation mode really. Mainframes are their bread and butter and IBM is no longer the dominate '2000 pound guerilla' it once was. They have kept their stock price decent through weird and complex accounting schemes involving massive stock buy-backs. But they are starting to reach the end of that and the possibility of a real crash is on the horizon.
People have learned to work around commodity hardware I/O limitations through designing their software to be highly parallel across cluster machines (ie: Hadoop, etc). There are still workloads that can justify mainframe-style I/O capabilities, but they are few and far between. It is becoming increasingly difficult for businesses to justify keeping their mainframes going while I expect new sales of mainframe systems are almost now non-existent. If IBM's loyal customer base for their mainframes smell blood in the water then the mainframe is going to stop being a 'safe bet' and they will start to run away in droves and bite the bullet and dive into the world of java-based enterprise software on Windows or Linux systems.
Linux on mainframes can reduce costs, but Linux isn't really intended for high optimization that mainframes want to see. Even just having TCP/IP stack in software represents a massive loss in CPU capacity from their perspective. Anybody that buys into IBM's idea that mainframes are a suitable for running linux 'big data' workloads they are totally incompetent at their jobs. Running something as inefficient as 'zookeeper' or 'hdfs' on a mainframe is insane.
Posted Aug 23, 2015 15:47 UTC (Sun)
by Wol (subscriber, #4433)
[Link] (11 responses)
Last time I heard that said, mainframe sales were soaring (the z800 was newly introduced, optimised to run linux!!!)
And you were saying how i/o was crucially important to a mainframe - isn't that *just* *perfect* for a large web-page-serving company?
You're correct in that mainframes are very different, but anybody who thinks the mainframe is finished, probably thinks that replacing all that haulage-company's artics with Porsches is a good move because they're faster!
Seriously, if your primary business is serving huge volumes of data, how much is it going to cost you to buy a new mainframe, as opposed to replacing it with a building full of PC servers? If all you have is a hammer, everything looks like a nail ...
Cheers,
Posted Aug 23, 2015 19:36 UTC (Sun)
by Cyberax (✭ supporter ✭, #52523)
[Link] (9 responses)
Posted Aug 23, 2015 19:55 UTC (Sun)
by dlang (guest, #313)
[Link] (8 responses)
There are advantages and disadvantages to any hardware choices.
the same thing could be said about hardware from Cisco, HP, or Sun, but a lot of companies believe that there are enough advantages in reliability, supplier, or something else to pay 2-3x (or more) over what they could pay for equivalent processing/memory capabilities.
mainframes are expensive, but if you haven't done a cost comparison recently, you may have the wrong idea about how expensive they are.
One advantage to buying a mainframe is that they ship a box with it maxed out in processors/ram, but only charge you for what you buy. So when you need to upgrade, you just make a phone call, they give you a license key, and you have more compute power
As noted earlier, if you are doing things that have a lot of I/O, they can be a win. This includes I/O between system images running on the thing. If you are doing HPC type stuff that requires the different instances to pass data between them, a mainframe can be a very substantial win compared to a cluster of big iron linux boxes
Posted Aug 24, 2015 3:50 UTC (Mon)
by Cyberax (✭ supporter ✭, #52523)
[Link] (6 responses)
And I'm not joking. We once took apart an OSA adapter for a mainframe - it contained only regular components, yet it was literally 20x their price.
At this point in time, mainframes are really just a grand theft from poor unsuspecting customers.
Posted Aug 24, 2015 3:59 UTC (Mon)
by dlang (guest, #313)
[Link] (5 responses)
anyway, I wasn't talking about mainframe prices, but rather simple server prices. and I was being extremely conservative with my 3x price difference.
But back to mainframes. If you need the I/O capacity they provide, 20x price difference over whitebox servers may be perfectly acceptable.
Posted Aug 24, 2015 7:39 UTC (Mon)
by Cyberax (✭ supporter ✭, #52523)
[Link] (4 responses)
> But back to mainframes. If you need the I/O capacity they provide, 20x price difference over whitebox servers may be perfectly acceptable.
Not anymore.
These days mainframes are really no different than a mid-to-high-end server. I worked in a small cellular company and we spent hundreds thousands of dollars to get a mainframe to process the billing data stream in realtime (most of our customers used pre-paid plans, so quick reaction to billing events was essential). The results were... underwhelming. We eventually scrapped it in favor of a high-end Linux server with a couple of hot spares and a replicated database.
About the only feature that is not yet widely available in the regular world of Linux server is the ability of mainframes to run the same code on multiple CPUs and check if they all produce the same result.
Posted Aug 24, 2015 7:40 UTC (Mon)
by dlang (guest, #313)
[Link] (1 responses)
I'm not talking Cisco networking gear, but Cisco servers
Posted Aug 25, 2015 20:34 UTC (Tue)
by drag (guest, #31333)
[Link]
Cisco networking equipment is still very relevant, but it's likely that white box manufacturers selling logo'd networking equipment to big OEMs will overtake Cisco gradually in the next decade or two.
Posted Aug 24, 2015 11:08 UTC (Mon)
by renox (guest, #23785)
[Link] (1 responses)
This may be not available on Linux, but this is not a feature exclusive to mainframe either: a long time ago I worked with Stratus (Unix) servers which had this feature (upgrading the CPU boards of this kind of computer is pure magic).
Posted Aug 24, 2015 17:11 UTC (Mon)
by zlynx (guest, #2285)
[Link]
I think HP builds servers that do it. It appears to be their Integrity Nonstop server line.
Posted Aug 28, 2015 7:26 UTC (Fri)
by epa (subscriber, #39769)
[Link]
Posted Aug 25, 2015 20:31 UTC (Tue)
by drag (guest, #31333)
[Link]
No. People have learned how to do things like use distributed nosql style services for this sort of thing. There are all sorts of schemes to distribute I/O among relatively weak systems.
This tends to be much more cost effective.
The Open Mainframe Project
Wol
The Open Mainframe Project
The Open Mainframe Project
The Open Mainframe Project
2-3x more? LOL. Try 20x.
The Open Mainframe Project
The Open Mainframe Project
Mainframes use the same hard drives and SSD drives as everybody else. It used to be that mainframes had very fast interconnects and could transfer and process data from storage blocks really fast.
The Open Mainframe Project
The Open Mainframe Project
The Open Mainframe Project
The Open Mainframe Project
The Open Mainframe Project
One advantage to buying a mainframe is that they ship a box with it maxed out in processors/ram, but only charge you for what you buy. So when you need to upgrade, you just make a phone call, they give you a license key, and you have more compute power
I very much doubt IBM is selling the hardware at a loss. It would be more accurate to say that you pay the hardware costs for the maximum spec of processors and RAM every time, but then you have to pay again a licensing cost if you want to use them.
The Open Mainframe Project
