← Back to context

Comment by bitwize

7 hours ago

Historically this was because each I/O "channel" was a separate computer that handled the actual communication with the device, be it a terminal, disk, tape drive, card reader, printer, etc. and exchange data with the CPU via DMA. This allowed mainframe CPUs, which in the past weren't particularly fast, to handle huge workloads involving hundreds or thousands of users. These days, even commodity computers get blazing fast I/O to bus mastering devices. Where the mainframes win today is on reliability, built-in redundancy, hot-pluggability and expandability of components (you can just plug in CPUs, memory, disks, and network interfaces as long as you can afford them with the machine still running), and service and support. (Mainframes phone home immediately if they detect problems and an IBM service person will be on site the same day to fix it.)

A 4-rack system is about 1.5 racks of CPUs and 2.5 racks of IO. That's a lot of IO for a single computer, all accessible at bus speeds.

Mere mortals such as me, have to make do with cloud-based clusters where the IO is distributed across multiple machines connected by very fast interconnects, but they don't behave as a single machine, nor have the IO always accessible at local bus speeds.

> Mainframes phone home immediately if they detect problems and an IBM service person will be on site the same day to fix it.

The joke usually went like this: technician shows up to fix the machine, operator says "We didn't call you", to what the technician answers "You didn't. Your computer did"