7 ms·
Ok, maybe this is a silly question, but I am a millennial.... Question: what is a mainframe and why would I want one? In my mind I think of it as a big, but ine
by natvert 8y ago
Ok, maybe this is a silly question, but I am a millennial.... Question: what is a mainframe and why would I want one? In my mind I think of it as a big, but inelastic, compute resource. If that's true, why wouldn't I want to use something horizontally scalable instead?
- avip 8y agoThis vid has some good photos https://www.youtube.com/watch?v=45X4VP8CGtk https://www.youtube.com/watch?v=45X4VP8CGtk (also discussed on HN previously). You don't want one if you ask me.
- js8 8y agoIt's bit like asking why would you use a truck when several vans can do.. and be more "horizontally scalable". Mainframe is a really big server, and it is actually plenty elastic. You can divide it into smaller logical servers (LPARs). The only downside is price. But I think for larger installations and certain workloads it will come out similar with a server fleet.
- dfox 8y agoYou want mainframe in similar situations as when you need EC2 ridiculously large instances. That is when you have workload that absolutely most run as a whole on one big single machine. Typically that means OLTP database which cannot work with some relaxed consistency model (payment settlement is often cited example of such thing). And for the elasticity part, mainframes are where the whole virtualization and hypervisors started. Although, or maybe because, purchasing and operating an mainframe is significant investment in terms of both capex and opex (it is somewhat telling that IBM's specification sheets for mainframes read somewhat like flyers for new cars, about half of the thing is about available financing methods :)).
- petra 8y agoGiven that Intel leads cpu performance, How can mainframes be that much better at single node performance than x86 servers ?
- Roboprog 8y agoData bandwidth probably
- e12e 8y agoBandwidth and reliability. It's in general hard to swap out cpus while running db transactions on commodity x86 hw.
- dfox 8y agoIn theory you can hot-swap CPUs on x86 (with slightly hillarious fact that primary use of the Linux's CPU hotswap support is suspend to disk on laptops) but hardware that supports it and it really works is rare to non-existent.
- dfox 8y agoIntel leads in x86 performance and comparing performance of System z CPU to x86 is not exactly trivial task as zArchitecture is "uber-CISC" with instructions like "give me SHA256 of this part of memory" that also typically runs on 4+GHz clocks (and the "CPU book" has TDP of several kW). But main part of the performance advantage (be it perceived or real) is incredible memory and IO bandwith combined with large caches and hardware offload for essentially anything that remotely looks like IO. On the other hand, you can get rack-mount x86 server with several TB of RAM for fraction of price of mainframe which is exactly the hardware for new applications that would otherwise be best served by mainframe.
- mmt 8y ago> On the other hand, you can get rack-mount x86 server with several TB of RAM for fraction of price of mainframe which is exactly the hardware for new applications that would otherwise be best served by mainframe. I expect the largest one of these is still a fraction the size of the largest mainframe, at least for processor power (e.g. 224 cores[0] compared to 1700[1]). Maximum memory, though, is 32TB, which isn't exactly huge compared to 12TB [0] or 24TB [2]. [0] https://www.supermicro.com/products/system/7U/7089/SYS-7089P-TR4T.cfm https://www.supermicro.com/products/system/7U/7089/SYS-7089P... [1] https://en.wikipedia.org/wiki/IBM_zEnterprise_System#z14 https://en.wikipedia.org/wiki/IBM_zEnterprise_System#z14 (Not saying they're necessarily equivalent in performance, but they might be, as you point out) [2] https://www.supermicro.com/products/system/7U/7088/SYS-7088B-TR4FT.cfm https://www.supermicro.com/products/system/7U/7088/SYS-7088B...
- segmondy 8y agoWe don't, we are happy with out distributed and networked computing. Most of us can't afford a mainframe, mainframe is owned by big corps, to play with one you have to go through a big corp. If you worked for a big corp, you still have to appease the priests or be one of them to play with one. It goes against the dream of "everyone should have a computer and be free to do with it as much as they wish". The biggest computing power that have been demonstrated in our history has been via distributed systems not mainframes.
- j1vms 8y ago> what is a mainframe and why would I want one? Very roughly speaking, a mainframe is to a CPU what a supercomputer is to a GPU.
- mmt 8y agoIf speaking very roughtly, I'd go so far as to extend that analogy to the CPUs, as well, and, more importantly, the I/O.
- syn0byte 8y agoThey DO horizontally scale, just not very cheaply. Reliability above all else is their advantage. There is an entire internet between you and a "5 9s" cloud provider that can screw you. side note; I HATE the trend in the level of abstraction away from hardware. Seems about as short sighted as GP doctors abstracting away human anatomy. They mostly treat illnesses and proscribe medication; why should they need to know the names of bones in a human body? There are orthopedic specialists for that!
- BookmarkSaver 8y agoPeople are only capable of so much, mentally. As the world is increasingly well understood, it gets increasingly complicated, and individuals require ways to interact with the parts that they don't have time to truly understand.
- jazzyjackson 8y agoYou want a mainframe if you want your system designed by engineers and not web developers. The IBM mainframe system is called "Z" for zero downtime. Banks and Airlines use systems that haven't needed to be rebooted in decades. (This is a little oversold, but that's the selling point.)
- acomjean 8y agoI think in actuality they go for what is known as "five-nines" reliability. Up 99.999% of the time. Or down about 5 minutes/year. When I worked on "big iron" (Not sure if the old hp superdomes counts mainframes..), the solution proposed for redundancy was to have two and be able to switch from one to the other.. Our development machines had to be rebooted from time to time as we turned off interrupts for some processes (quasi-realtime) and when under development some bugs could cause the processes to fail and be uninterruptible. Things stabilized quickly though. (edit: apparently there is 4 nines, 6 nines....) https://en.wikipedia.org/wiki/High_availability https://en.wikipedia.org/wiki/High_availability
- tambourine_man 8y agoBanks and Airline systems go offline all the freaking time. Just the other day I told the post office attendant their system was back online, as the cursor started blinking again. Telltale sign of mainframe style computing.
- dsr_ 8y agoWhen you turn off your laptop, does Google go down?
- draw_down 8y agoWhat does that have to do with anything?!
- tambourine_man 8y agoThat’s deep man… https://en.m.wikipedia.org/wiki/If_a_tree_falls_in_a_forest https://en.m.wikipedia.org/wiki/If_a_tree_falls_in_a_forest
- johnklos 8y agoTry this: Ok, maybe this is a silly question, but I am {...}.... Question: what is a house and why would I want one? In my mind I think of it as a big, but inelastic, tent. If that's true, why wouldn't I want to just get multiple tents instead? A mainframe is the kind of computer you can buy and set up, turn on, and run for two decades (or more, if you like) non-stop. It doesn't need reboots, it most often doesn't even need to be powered down for hardware replacement or upgrades. It's the epitome of reliability. Most people don't care about reliability. Heck - most people use Windows, so they can't even possibly imagine what reliability and consistency might be like. Therefore, most people can't even imagine wanting reliability because what they have seems "good enough". People who run services which should never go down, on the other hand, love mainframes.
- IE6 8y agoAs a non mainframe programmer I found your anecdote about windows reliability contrary to the experience I have had over the past few decades so I am not sure how accurate the rest of your post is.
- the-dude 8y agoYour username checks out though.
- tetrep 8y agoHere's my favorite: https://support.microsoft.com/en-us/help/2553549/all-the-tcp-ip-ports-that-are-in-a-time-wait-status-are-not-closed-aft https://support.microsoft.com/en-us/help/2553549/all-the-tcp... article about it: https://blog.ctm-it.com/it-support/blogs/matt-cannon/2013/497-days-of-uptime-kills-windows https://blog.ctm-it.com/it-support/blogs/matt-cannon/2013/49... edit: If you want to be especially cynical, you can note that this wasn't discovered for a while because everyone running Windows reboots it regularly because of its notorious instability issues (the bug was found in 2013 and dates back to at least Vista, which was last updated in 2009).
- com2kid 8y ago
- tomc1985 8y agoSometimes one might like to hold lots of power in reserve Sure, my big powerful desktop PC spends 90% of its life surfing the web or doing light stuff, but for that remaining 10%... if I need the power, it rises to the challenge, every time. Plus, its paid for and I don't need to answer to anybody to make use of it.
- module0000 8y agoIt's a huge, inelastic compute resource. The term "huge" can't be overstated here - however "big" you think that is, you probably aren't thinking big enough. That's the whole sell. If you ever need to scale horizontally, then your mainframe is too "small". It's not unusual to assign 2048 cores for a scheduled job on a mainframe.
- twoquestions 8y agoA lot of the responses to this question could have been copy/pasted from Erlang marketing copy. I'm still not seeing what mainframes give you that a well-designed pc cluster couldn't, other than marketing BS and opportunity for grift. Waitaminute...
- lovich 8y agoRegulations seem to be one reason. The IBM mainframes use their own implementation of floating point math that appears to be legally required for some businesses as you can see under "Special Uses" here[1] [1]https://en.m.wikipedia.org/wiki/IBM_hexadecimal_floating_point https://en.m.wikipedia.org/wiki/IBM_hexadecimal_floating_poi...
- lovich 8y agoWas there a reason this was downvoted? I thought this was a factual statement, but I'm not very well versed in the mainframe world so I'd appreciate it if someone could point out what I said that was incorrect
- mmt 8y agoAlthough downvotes don't necessarily mean factual incorrectness (and I didn't downvote), that may have been the case here. It may also have been because the comment could be read as implying undue influence (and thereby indirect subsidy) by government regulation, injecting controversy/politics where there is none. Regardless, I wasn't able to find in the WP entry adequate support of your assertion. (Oddly, the "[..]" were in the original WP text): > As IBM is the only remaining provider of hardware (and only in their mainframes) using their non-standard floating-point format, no popular file format requires it; Except the FDA requires the SAS file format and "All floating-point numbers in the file are stored using the IBM mainframe representation. [..] Most platforms use the IEEE representation for floating-point numbers. [..] To assist you in reading and/or writing transport files, we are providing routines to convert from IEEE representation (either big endian or little endian) to transport representation and back again." Code for IBM's format is also available under LGPLv2.1 There's only a regulation for a file format (and a single, isolated one at that), not regulation of using/processing, and format conversion utilities are available, rendering it irrelevant.
- mmt 8y ago> why wouldn't I want to use something horizontally scalable instead? Besides the (purported) reliability reasons other commenters have brought up, because "vertical" [0] scalability is, often enough, more efficient in terms of money and (human/engineering) time. This can hold true even if paying a premium for both the hardware and the humans (which, presumably, are more expensive due to their scarcity, as implied by the article). The promise of "horizontal" scalability is being able to achieve arbitrary performance just by adding more units (e.g. servers), but not at any particular efficiency (slope or shape of the curve). Even that promise is suspect in the face of Amdahl's Law [1] and USL [2]. In reality, the Fallacies [3] matter, so the most general-purpose supercomputers are still bespoke and expensive, even if they're assembled from (a selection of) commodity parts. Even just in the realm of commodity hardware, I/O-heavy loads are going to benefit from keeping everything as close together as possible, on as fat pipes as possible. Distributed databases or any distributed data handling (that doesn't involve heavy processor use, such as compression or transcoding) is what I've personally seen suffer from this issue. 20-60 "inexpensive" ($3k-4k) servers instead of 2-3 "expensive" ($20k-$60k) ones. Cloud infrastructure further confounds any calculation, since, with the most popular provider, AWS, you'd pay 2x-10x what you would buying and operating your own hardware. That, multiplied by the inefficiency of scaling a distributed system, especially on a network you don't control, may well be higher than the price premium of a mainframe. OTOH, if "you" are like Google, and are paying commodity (or below) prices and have had operating your own hardware, as cheaply as possible, as part of your strategy all along, including investing in experts/specialists to keep it cheap, then mainframes wouldn't make much sense. Amusingly, it seems popular to emulate only part of the big players' distributed systems, the software, while ignoring the context that made it so useful for those players, the cheapness of the hardware. [0] I'm using quotes because the terms are a bit imprecise in comparing mainframes, which, even traditionally, involved distributed processing. IIUC, the reason there's a "C" in CPU is from mainframes, which routinely relied on processing units that were not central. Other commenters have asserted that mainframes are horizontally scalable without detailing what that means. [1] https://en.wikipedia.org/wiki/Amdahl%27s_law https://en.wikipedia.org/wiki/Amdahl%27s_law [2] http://www.perfdynamics.com/Manifesto/USLscalability.html http://www.perfdynamics.com/Manifesto/USLscalability.html [3] https://en.wikipedia.org/wiki/Fallacies_of_distributed_computing https://en.wikipedia.org/wiki/Fallacies_of_distributed_compu...
- Spooky23 8y agoIt is a relic that you want nothing to do with. You own one because your company or agency bought one in 1970, and it is cheaper to run it than to redo everything. You may need one for certain new workloads if you’re a defense contractor. As an employee, you’re a pure operational cost center. You have skills that few employers care about, and vendors/contractors are churning out cheap replacements for you.