Backstory: I need a new work&play Linux desktop, for office-type work, gaming, playing around with virtualisation, now. Zen 2 is the name of the game. However, I’m very unhappy with the current crop of boards, the platform doesn’t feel “done”, yet, and the chipset fan is every bit as bad as I feared (I have a Master in a different build). So I thought, why not get the Asus Pro WS X570-Ace, that could go into my ageing home server as soon as something decent comes along next year or so.
Now, the Ace has official ECC support. For the desktop use-case, that’s nice to have, for the server one it’s a must. So the question is, do I get ECC RAM immediately (and live with the performance penalty of only being able to get 2666 MT/s, CL19), or do I get normal 3200-CL16 RAM (and risk not being able to / wanting to use that in the next system)?
tl;dr: How much of a performance hit do I incur with ECC 2666-CL19 vs regular 3200-CL16 on Zen 2 (under Linux)?
Does running ECC even make sense on a desktop? Is faster unbuffered ECC RAM likely to be available in couple of months?
I really wouldn’t bother with ECC for a desktop, I would for a workstation that will be left on rendering stuff that I rely on for work. My basic rule is, if the machine is used to earn money and keep a roof over your head then ECC is a must, otherwise there is probably little point.
The production quality for modern Dimms means the frequency of errors occurring is much lower than say 15 years ago. In terms of performance advantage by using faster, lower latency non-ECC it will depend on the workload, and probably be most noticeable in gaming frame rates.
I recently got some16gb 2666 cl 19 b-die ecc for my 1920x off of ebay. I can run 2 sticks at 3200 cl17. Without any heat spreaders or heatsinks. 4 full passes on memtest 86.
Then I got a 3rd stick (1 of my memory channels doesnt work, I need to investigate more).
With 3 sticks I can get 3133 cl 18 at 4 full passes with memtest86. I was getting some ecc errors at cl17. Then I got some heatsinks for the ram and so far have overnight memtest86 stability at 3133 cl 16. Also I live in a hot area and dont have air conditioning, so my testing is worse case scenario.
So if you are willing to do testing, you probably dont have to give up ecc or speed.
CMIIW, the widespread argument that ECC has slower speed (at the same clock freq) is because of Registered part, not the error correcting chip. So getting Unbuffered ECC instead of RDIMM won’t incur any speed penalty compared to non ECC sticks with the same clock.
I go for ECC whenever possible. The performance hit is not noticeable for everyday tasks and I prefer having the confidence that I’m not getting errors introduced into my data. It all comes down to personal preference, but I prefer stability and reliability over a modest speed increase. If you think you’ll ever run ZFS on linux ECC is pretty much mandatory. I don’t know for sure about BTRFS, but I would expect it would be the same.
If ECC sticks with the same stats existed, I’d go for them in a heartbeat. As it is the choice is between 3200-CL16 non-ECC [should do 3600-CL16] and 2666-CL19 ECC [OC potential unknown]. AFIAK, there aren’t any faster unbuffered ECC sticks, yet.
As it is, I think I’m going to go with the regular ones and upgrade to ECC once something with comparable specs is out.
I got a 3900X on release day and 16 GB of HyperX 3600 with it. I did some research for prices and finally found a good Amazon deal for 64 GB of ECC. But while I waited on that I ran with the 16.
For speed differences I compiled a large Rust programming project in 2m 20s with the HyperX at 3600 MHz. Unfortunately after the AGESA updates (ABB I think) it started to fail compilation with obvious memory errors. That only happened when using all 12 cores at full speed and I think it was some voltage issue with ASUS’s XMP (they call their thing DOCP). Very difficult to debug since memtest did not catch it. It was also causing occasional weird Linux dmesg errors with my Vega GPU, which completely went away after going to default RAM timings. Things like IOMMU violations, probably because of corrupted pointers read from RAM over the PCIe.
Both the HyperX at 2400 and the new ECC RAM at 2666 compile in about 2m 30s. The extra 10s does not bother me. I haven’t done any gaming tests.