What difference does the 'Rank' of DIMMs make to server memory? For example, when looking at server configurations I see the following being offered for the same server:
2GB (1x2GB) Single Rank PC3-10600 CL9 ECC DDR3-1333 VLP RDIMM
2GB (1x2GB) Dual Rank PC3-10600 CL9 ECC DDR3-1333 VLP RDIMM
Given the option of Single Rank vs. Dual Rank or Dual Rank vs. Quad Rank is one always:
- Faster?
- Cheaper?
- Higher Bandwidth?
Here's what IBM has to say (page 7) on the subject, at least regarding their HS22s:
It is important to ensure that DIMMs with appropriate number of ranks are populated in each channel for optimal performance. Whenever possible, it is recommended to use dual-rank DIMMs in the system. Dual-rank DIMMs offer better interleaving and hence better performance than single-rank DIMMs.
For instance, a system populated with six 2GB dual-rank DIMMs outperforms a system populated with six 2GB single-rank DIMMs by 7% for SPECjbb2005. Dual-rank DIMMs are also better than quad-rank DIMMs because quad-rank DIMMs will cause the memory speed to be down-clocked.
Another important guideline is to populate equivalent ranks per channel. For instance, mixing one single-rank DIMM and one dual-rank DIMM in a channel should be avoided.
Ultimately, the effect of the number of memory ranks is specific per server/chipset. For example, on IBM's x3850X5 servers more ranks is better (see §3.8.4):
With the Xeon 7500/6500 processors in the x3850 X5, having more ranks gives better performance. The reason is because of the addressing scheme, which can extend the pages across ranks thereby making the pages effectively larger and therefore more page-hit cycles.