Core-to-Core Latency: Zen 5 Gets Weird

As the core count of modern CPUs is growing, we are reaching a time when the time to access each core from a different core is no longer a constant. Even before the advent of heterogeneous SoC designs, processors built on large rings or meshes can have different latencies to access the nearest core compared to the furthest core. This rings true especially in multi-socket server environments.

But modern CPUs, even desktop and consumer CPUs, can have variable access latency to get to another core. For example, in the first generation Threadripper CPUs, we had four chips on the package, each with 8 threads, and each with a different core-to-core latency depending on if it was on-die or off-die. This gets more complex with products like Lakefield, which has two different communication buses depending on which core is talking to which.

If you are a regular reader of AnandTech’s CPU reviews, you will recognize our Core-to-Core latency test. It’s a great way to show exactly how groups of cores are laid out on the silicon. This is a custom in-house test, and we know there are competing tests out there, but we feel ours is the most accurate to how quick an access between two cores can happen.

Looking at the above latency matrix of the Ryzen 9 9950X, we observe that the lowest latencies naturally occur between adjacent cores on the same CCX. The core pairs such as 0-1, 1-2, and 2-3 consistently show latencies in the 18.6 to 20.5 nanoseconds range. This is indicative of the fast L3 cache shared within the CCX, which ensures rapid communication between the inner cores on the same complex.

Compared to the Ryzen 9 7950X, we are seeing a slight increase in latencies within a single CCX. The SMT "advantage", where two logical cores sharing a single physical core have a lower latency, appears to be gone. Instead, latencies are consistently around 20ns from any logical core to any other logical core within a single CCX. That average is slightly up from 18ns on the 7950X, though it's not clear what the chief contributing factor is.

More significantly – and worryingly so – are the inter-CCD latencies. That is, the latency to go from a core on one CCD to a core on the other CCD. AMD's multi-CCD Ryzen designs have always taken a penalty here, as communicating between different CCDs means taking a long trek through AMD's Infinity Fabric to the IOD and back out to the other CCD. But the inter-CCD latencies are much higher here than we were expecting.

For reference, on the Ryzen 9 7950X, going to another CCD is around 76ns. But in Ryzen 9 9950X, we're seeing an average latency of 180ns, over twice the cost of the previous generation of Ryzen. Making this all the more confusing, Granite Ridge (desktop Ryzen 9000) reuses the same IOD and Infinity Fabric configuration as Raphael (Ryzen 7000) – all AMD has done is swap out the Zen 4 CCDs for Zen 5 CCDs. So by all expectations, we should not be seeing significantly higher inter-CCD latency here.

Our current working theory is that this is a side-effect of AMD's core parking changes for Ryzen 9000. That cores are being aggressively put to sleep, and that as a result, it's taking an extra 100ns to wake them up. If that is correct, then our core-to-core latency test is just about the worst case scenario for that strategy, as it's sending data between cores in short bursts, rather than running a sustained workload that keeps the cores alive over the long-haul.

At this point, we're running some additional tests on the 9950X without AMD's PPM provisioning driver installed, to see if that's having an impact. Otherwise, these high latencies, if accurate for all workloads, would represent a significant problem for multi-threaded workloads that straddle the Infinity Fabric.

Test Bed & A Note on Raptor Lake Woes Power Consumption
Comments Locked

123 Comments

View All Comments

  • temps - Thursday, August 15, 2024 - link

    Anybody buying a 9950X to do "content creation" on a Linux computer ... is the content they're creating about their struggles doing content creation on a Linux PC?
  • Gigaplex - Thursday, August 15, 2024 - link

    Linux is fine for content creation.
  • PeachNCream - Friday, August 16, 2024 - link

    This exchange about "content creation" is a good example of why vague categories are so useful for marketing because it leaves the advertisers in a comfortable place where the targets of their ads are left to interpret what those words mean and that meaning, since it's ill-defined, can vary quite widely leading to legal immunity for sales speech. Meanwhile, people also tend to end up in an argument without being thoughtful enough to factor in potential differences in personal application of meaning to a given thing. We're quite a silly species.
  • GeoffreyA - Friday, August 16, 2024 - link

    "We're quite a silly species."

    We're in need of a major update, Service Pack level :)
  • Oxford Guy - Friday, August 16, 2024 - link

    "We're quite a silly species."

    Understatement of the century.
  • temps - Friday, August 16, 2024 - link

    I do audio, there is still not a single workable daw for Linux so no, it is not. In fact it's utterly useless
  • Oxford Guy - Friday, August 16, 2024 - link

    AI is coming for your job, anyway. : )
  • shabby - Wednesday, August 14, 2024 - link

    Intel is on 10nm desktop parts now, you expect them to skip a few nodes medically?
  • shabby - Wednesday, August 14, 2024 - link

    Magically
  • eva02langley - Wednesday, August 14, 2024 - link

    Well, they will by going with TSMC, but it will also bring a new set of issues like max frequencies, density and power.

    I am not sure Intel will be able to redo another Raptor Like trick on TSMC.

Log in

Don't have an account? Sign up now