I'm heavy into optimization for my job and I'm trying to better understand how to select RAM quantities. From my reading:
For the same DDR4 memory speed and DIMM type, more ranks will typically increase the loaded latency. While more ranks on the channel give the memory controller a greater capability to parallelize the processing of memory requests and reduce the size of request queues, it also requires the controller to issue more refresh commands. The benefits of greater parallelizing outweighs the penalty of the additional refresh cycles up to four ranks. The net result is a slight reduction in loaded latencies for two to four ranks on a channel. With more than four ranks on a channel there is a slight increase in loaded latency.Quote source: Useful to get the definition of "rank".
Subsequently, if I want to reduce load latency, I would think I want two to four ranks on my RAM. However, how do you know how many ranks something is?
For example, if I purchase 32GB RDIMMs, how do I tell how many ranks that RAM has?
Update: For anyone else who has to do this: I went into my company's part lookup tool and was able to pull the info. That got me this string: "DIMM,32GB;2933,2RX4,8G,DDR4,R". This post is helpful for understanding that output. The 2RX4 means 2 ranks of 4, each 8GB in size. If you're just looking it up commercially, you should be able to search by the part number if you're using Newegg or something.
It's actually part of the model number on the the RAM. Even if it's not explicitly spelled out looking back at the specification for that module model should have the information. With 64 gig sticks you're almost always looking at 4 ranks.
If you are looking at your base band management controller data, it's a toss-up about how much information you'll get. If it's a Linux system you can do
dmidecode
the dump out all of the information about the modules by slot.The other issue that you will come up against is that some motherboards are limited in the number of ranks that they can address. This often shows up under their maximum RAM capabilities which is part of their system spec.
Of course the last issue would be does the cost of the new RAM and downtime on the system justify the replacement. In many cases it would be better to specify new systems unless you are rolling the spec into upgrading the ram capacity at the same time.
The other thing is that CAS timings have a very minor affect on performance. Most of the studies I've seen for it are with gaming systems, but depending on the workload it may be something to be aware of.