News for hackers. Stuff that matters.
Re:AMD Killed the Itanium by JonChesterfield on Saturday February 04, 2023 @07:01AM (#34653814)
If you know how long data will take to go to/from memory then you can schedule pretty well.

If you don't know whether some value will hit in the L1 or the L3 cache there's wild variance on how long it'll take so you have to do something else in the meantime. On x64, that's the pipeline and speculation. On a GPU, you swap to another fibre/warp until the memory op finished.

Fundamentally the hardware knows how long the memory access took, the software can only guess how long it will take. That kills effective ahead of time scheduling on most architectures.

Re:AMD Killed the Itanium by throwawaymaths on Saturday February 04, 2023 @07:12AM (#34653874)
Iirc caches mostly exist to help keep pipelines full. You could maybe imagine an architecture with deterministic memory access times from specified regions.
Re:AMD Killed the Itanium by cwzwarich on Saturday February 04, 2023 @09:36AM (#34654790)
Such architectures exist (e.g. for signal processing). They just aren't good for running general-purpose software.
Re:AMD Killed the Itanium by Kon-Peki on Saturday February 04, 2023 @10:44AM (#34655279)
Itanium sold, barely, and still has people using it. But, as you can imagine, not with general-purpose software.

By the 2nd or 3rd generation, Intel had made some changes that really improved performance a lot. Was the final generation of Itanium the 4th generation?

Re:AMD Killed the Itanium by nordsieck on Saturday February 04, 2023 @11:32AM (#34655637)
> You could maybe imagine an architecture with deterministic memory access times from specified regions.

Sure.

But it's very easy to level down. And almost impossible to level up.

Re:AMD Killed the Itanium by anonymoushn on Saturday February 04, 2023 @07:03PM (#34659923)
> Iirc caches mostly exist to help keep pipelines full

You can find out by disabling the stride prefetcher and observing the 90+% performance regression in all your software!

Re:AMD Killed the Itanium by nullc on Saturday February 04, 2023 @09:20AM (#34654674)
I don't think building a threaded cpu that switches threads to hide memory latency would be philosophically incompatible with VLIW. I think the later generation itaniums were threaded too.

On x86 SMT gets a bad rap because its never been tremendously effective. It's much more effective in IBM's implementation on Power. It wouldn't be hard to imagine some Itanium SMT monster.

Re:AMD Killed the Itanium by yosefk on Saturday February 04, 2023 @09:39AM (#34654810)
How many threads would it take to hide 100ns of DRAM access latency and what serial performance would we get?
Re:AMD Killed the Itanium by nullc on Saturday February 04, 2023 @09:02PM (#34660859)
It doesn't have to be hidden completely, there are still caches.

With 2 unstalled threads you effectively halve it (in terms of throughput), 4 unstalled threads you effectively quarter it, etc.

Re:AMD Killed the Itanium by Kon-Peki on Saturday February 04, 2023 @10:46AM (#34655289)
> It wouldn't be hard to imagine some Itanium SMT monster.

Itanium did have SMT