Memory latency penalty hits are cumulative. While individual events may be imperceptible at the human scale, their cumulative effect when they occur by the millions per second does become macroscopically evident
Yes, but that doesn't negate what I said. The effect of stacked memory accesses is still linear and my statement stands that you'll see it when a CPU-bound app is memory-intensive and has a lot of L3 misses.
The main point I was trying to make is that
it's just one of many parameters that can affect system performance. Memory latency isn't more important for realtime apps than say CPU clockspeed, for instance. In fact, quite the reverse is true.
Doubling memory latency will typically have far less impact on such an app than halving the CPU clockspeed!
People seem to have a false or exaggerated association between "memory latency" and "frame latency", and
that's what I was trying to clear up. However, as usual, you missed the forest for the trees and try to nitpick all the insignificant details until we're way off track.
and that is how stutters go away when you do things like upgrade from 2400-18 memory to 3200-16.
To make this point more compelling, you should cite an example where
only the latency is reduced. In the benchmarks I've seen DRAM latency, plays only a minor role in system performance. It also matters a lot whether you're talking about iGPU or dGPU. iGPU performance is disproportionately sensitive to DRAM performance.
You can throw all of the cache, buffering, prefetching, etc. you want at a CPU, there will always be a subset of accesses that cannot be predicted or mitigated with some algorithms being worse offenders than others.
Depends on how many. If the number is small, then you can do the math and find that the total impact on system performance will be small. As I said, sensitivity to memory latency is application-dependent.
More importantly, you're taking my point out of context. I was responding to a notion
@tamalero raised that memory latency has a super-linear impact on system performance. In fact, the reverse is true, and this isn't by accident. CPUs are engineered to be insulated as much as possible from memory latency and bandwidth.
Is it so important to "correct" my post, by stating a fact so obvious that I deemed it implicit, that you risk distracting from or even seeming to disagree with my core contention? Really, sometimes I think you should reflect on why you're posting here and what you hope to accomplish. It's only by knowing what you're trying to do that you can evaluate and improve how well you're doing it.
Good luck optimizing memory accesses to things that use hashes for indexing into a sparse array such as a key-value store for one common example.
Heh, nice try. I've actually done some micro-benchmarking to quantify such things. They're rarely as bad as you imagine, because memory allocators are optimized to do things like provide "hot" and contiguous memory. For instance, you have to work fairly hard to get linked list to have no locality. If you just build a linked list in one go, you'll find that many of the entries will actually be contiguous - and CPUs' prefetchers and caches are
very good at optimizing contiguous memory accesses.
GPUs don't mind GDDRx's increased latency because most conventional graphics workloads are embarrassingly parallel and predictable.
It's not really true that they're predictable. Ray tracing would be the prime example, but shaders can be arbitrarily complex and involve divergent branches, scatter/gather, variable numbers of light sources, textures, etc. TAA is implemented as a shader, for instance. The main way GPUs deal with latency is by having rather extreme levels of SMT. When one wavefront/warp is stalled on some loads or stores, there's quite likely another in the EU/CU/SM that's ready to go.
Another key thing about GPUs is that the cores operate at a lower clock speed. If you halve the clock speed of the cores, then the software-visible memory latency looks like it was also cut in half. That's not the
main reason they use lower clock speeds, but it's a nice side-benefit.