2

A search on the real-world benefit of low latency RAM seems to yield very old testing done on equally old hardware. Is CAS latency essentially irrelevant now against other performance characteristics of a computer?

Even in the 2004 article, the benefit of CAS 2 over CAS 3 wasn't 33%, it was on average about 2-3% faster, almost irrelevant.

I am planning to do some relatively memory heavy simulation on a new machine and am working on a specification for it. If the benefit of CL11 vs CL17 is only 3% then I'm really not interested.

2004: https://www.extremetech.com/computing/56922-does-ram-latency-matter

2005: https://forums.tomshardware.com/threads/ddr-memory-low-latency-how-much-benefit.642050/

2005: https://forums.tomshardware.com/threads/low-cas-latency-and-real-system-improvement.466247/

2008: https://www.tomshardware.com/reviews/ddr3-1333-speed-latency-shootout,1754-21.html

1
  • There’s a lot of discussion in it all the time, especially between AMD and Intel systems since they have very different ways to handle memory. So it’s not a simple thing and it very much depends on how the memory is accessed. So yes, latency is a factor, but is CAS the determining factor for you is impossible to say. Jul 9, 2019 at 10:13

1 Answer 1

2

It depends.

Part of me wants to quote Spiderman and answer your question Is memory latency still a key factor in computer speed? with

It never was.

But that would be dismissing a small sub class of operations that do happen if not all that often. Many tasks these days work with more than a single byte at a time, and often many of those bytes are next to each other.

If you have a task that works with a tiny piece of data from a random location then latency will be a significant factor.

If on the other hand you are dealing with blocks of data then latency will only really have an effect at the beginning of each memory block transfer and will depend on the memory transfer block size. Modern memories assume, like hard drives, that multiple continuous bytes will be required and will pre fetch and "burst" 8 words of data at a time. This burst means that the latency only applies at the start of the request, if the task actually needed those other bytes as well then it is already in the CPU cache ready to use at minimal latency.

Latency has an effect, but can be mitigated by CPUs by switching to tasks that are not waiting on memory accesses and by anticipating future memory requirements and queuing up memory requests.

Bandwidth has always been more significant than latency but latency can add an amount of inefficiencies while programs stall waiting for data.

There is a lot more to it than just 30% higher latency = 30% lower performance. For a majority of cases the effects of latency are mitigated by CPU caches, prefetching and other intelligent design.

This is also one reason why Intel advocate Hyperthreading and other technologies as improving high-demand multithreaded task performance. If you have two tasks running on a single core and one task stalls on a memory request then there is a good chance that the other task can make use of the CPU resources. Hopefully by the time that task stalls the memory requests for the first task will have completed and then that task can run again, thus making best use of all the CPU resource.

1
  • 1
    I think this answer needs to go on a shelf somewhere with other top performers. Thanks for the thorough answer.
    – J Collins
    Jul 9, 2019 at 12:13

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .