Hacker News new | ask | show | jobs
by KZeillmann 2838 days ago
Asking out of complete ignorance: What can a mainframe do that other kinds of machines can't? I barely understand what a mainframe is or why you'd use one over other technologies.
5 comments

What a mainframe can do is have ANY single part fail, keep running at full speed and inform you of the part that failed so you can get it replaced. It is not unusual for any part to go all the way back to the substations!

Is this more or less useful than bunch of cheap PCs in a rack. Depends on what you want to do. The bunch of PCs model generally just accepts that there will be a few blips when (not if) something goes wrong and ensure nobody will notice. The mainframe model is even the smallest blip would be noticed so you can't have any.

Plain and simple, they are the biggest servers available. Built to be highly reliable and to have high IO throughput.

There are also many features in z/OS (the flagship OS) which are not available elsewhere. Things like workload manager or instrumentation facilities.

This question has an easy answer: exactly what they have been doing for 20-50 years. Inertia is a real thing.

Other relevant answers might include "true fault tolerance". More than half of your mainframe can be burned to a crisp, or being chewed on by a dinosaur - doesn't matter, it will keep working. The closest bad analogy I can think of...is a mainframe is like the NASA space missions of yesteryear. Every component has three or four duplicates, just waiting for a primary component to fail so they can take over. They aren't cost effective, but they are operationally effective.

Other relevent factor: mainframes are probably not riddled with security flaws. If Iran used a mainframe in their nuclear enrichment facility, they might never have gotten hacked by nsa and friends.
Channel I/O was something I wanted on all my desktops and servers. It helps mainframes get their high utilization ratio and throughput:

https://en.m.wikipedia.org/wiki/Channel_I/O

How does this map to the current state of commodity computing?

For example, it seems we already achieved that with disks, once embedded controllers attached to DMA-capabled HBAs became the norm.

A similar thing seems to have happened with NICs, as well as the ability to offload higher-level protocol processing (another mainframe-like feature).

The Channel I/O worked on many devices and the OS. Far as cost, using AWS might not be cheap but I was thinking redundant VM's or dedi's with cost-effective hosts. That doesnt cost hundreds of thousands to millions a year.
Perhaps I'm missing something. I'm still unsure if you're saying that Channel I/O (or its equivalent) is missing from current x86 server systems. Does virtualization affect this situation?

Initially, you mentioned high utilization ratio and throughput. I think the former is a red herring [1], but I'm curious about the latter. I've certainly witnessed poorer I/O throughput under virtualization, but on bare metal, throughput doesn't seem to be limited (beyond the capabilities of the bus).

[1] e.g. it doesn't matter if CPU is pegged but I/O channels are at 10% if the workload is CPU-bound and CPUs are the expensive part to scale. Or substitute memory for CPU.

I think their selling point is running cheaper and easier than the equivalent power in server clusters, as you don't have to deal with coordination and its overhead.

That being said, I think that advantage has mostly gone away with modern cloud computing and its matching infrastructure.