Remix.run Logo
monocasa 16 hours ago

To be fair, IBM did this in the 90s with the PowerPC 615, which had PowerPC and x86 decoders on the same core.

rbanffy 16 hours ago | parent [-]

But those ARM and s390x decoders have a “Telum III” architecture behind them with a cache that’s pretty innovative.

IBM has never stopped innovating. It’s just that most people can’t afford their machines.

monocasa 16 hours ago | parent [-]

Yeah, their cache work is undeniably really cool.

That being said I think it's a natural consequence of the difference between a mainframe and commodity servers. A mainframe is going to be running pretty disparate workloads simultaneously, so it makes sense to steal from your neighbor if they aren't using their cache. Whereas it's more likely that a commodity server is just running the same server on each core, and if you have a different workload, you pick a different shape of server to run it on. There are pros and cons to both.

I do wonder about the spectre consequences of borrowing cache lines from other cores though.

rbanffy 16 hours ago | parent | next [-]

Even though their CPUs are insanely fast, the real power of mainframes is in their IO. The amount of data you can push through those machines is absolutely mind blowing.

bitwize 11 hours ago | parent [-]

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.)

rbanffy 5 hours ago | parent [-]

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"

Melatonic 11 hours ago | parent | prev [-]

What's unique about their cache ?

monocasa 9 hours ago | parent [-]

Basically for Telum II, (I don't know what changed here from Telum III, the core under discussion with the ARM decoders) each CPU core has a giant 36MB L2 cache. Then, rather than a discrete L3 cache, the cores keep track of L2 residency needed for that core's working set, and allocate the rest of their L2 to a shared pool that is the L3 cache. Then the same thing with L4 being the same pools in all of the other chips on the same drawer (which you can kind of think of as close to a single server).

https://chipsandcheese.com/p/telum-ii-at-hot-chips-2024-main...

Melatonic 9 hours ago | parent [-]

Wow that is a massive cache. Pretty cool. Guessing it would great for data throughput !