Announcement

Collapse
No announcement yet.

AMD Ryzen 9 7900X Performance With ECC DDR5 Memory

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #41
    Originally posted by coder View Post
    This is the most ignorant thing I've read in a while. What's scary is how confidently you proclaim it.
    No, you just misunderstood my post. And if my simple post shocks you, you haven't been reading any internet lately it seems.

    ECC UDIMMs only differ from non-ECC UDIMMs in terms of the number of DRAM chips on them. The DRAM chips, themselves, are exactly the same as the type used on non-ECC UDIMMs.

    Originally posted by coder View Post
    So, why the higher latency spec? That's only because they used conservative timing and adhere strictly to JEDEC specifications. They also tend not to have heatspreaders on them, like you often to see on "gaming" DIMMs. So, I'm not sure how much the specs are down to reducing heat dissipation or power consumption.
    That's exactly what I am talking about. You pick first off the shelf non-ECC stick, it will be much faster stick with low latency. You pick ECC stick, it will be much slower, conservative timing stick.
    Conservative timings create lower performance, with much bigger impact than just ECC processing logic.

    That being said, non-ECC sticks have interesting characteristics: lower, more aggressive timings which create more bit flip errors.. And additionally that stick have no ECC to fix it. Meanwhile ECC stick have rock solid timings AND error correction logic. I much more prefer the ECC ones!

    Comment


    • #42
      Originally posted by coder View Post
      Out-of-Band (OoB) ECC adds a >= 25% price premium to DDR5 DIMMs, because you need one extra DRAM chip for every 4, in order to provide 8 bits of ECC for every 32 bits of data. In mass-market products, such a cost is nontrivial.
      While it is true that most ECC UDIMMs that can be found now have a 25% overhead in capacity, the DDR5 standard allows either 40-bit channels (25% overhead) or 36-bit channels (12.5% overhead).

      For instance Micron makes ECC UDIMMs with 12.5% overhead. Other manufacturers, like Samsung, have chosen to make modules with 25% overhead because it is cheaper for them to do so, by using the same x8 chips used in non-ECC modules.

      So when a vendor chooses to sell you a module with 25% overhead, because that is cheaper for them, they certainly do not have any ground to demand a price that is 25% higher.

      I have also believed this myth about the 25% overhead of DDR5 ECC, until reading the actual standard, where it is shown otherwise.



      Comment


      • #43
        Originally posted by coder View Post
        This is the most ignorant thing I've read in a while. What's scary is how confidently you proclaim it.
        No, you just misunderstood my post. And if my simple post shocks you, you haven't been reading any internet lately it seems.

        Originally posted by coder View Post
        So, why the higher latency spec? That's only because they used conservative timing and adhere strictly to JEDEC specifications. They also tend not to have heatspreaders on them, like you often to see on "gaming" DIMMs. So, I'm not sure how much the specs are down to reducing heat dissipation or power consumption.
        That's exactly what I am talking about. You pick first off the shelf non-ECC stick, it will be faster stick due to lower latency. You pick ECC stick, it will be slower, conservative timing stick. I just said that in my post.
        Conservative timings create lower performance, with much bigger impact than just enabling/disabling ECC processing logic.

        That being said, non-ECC sticks have interesting characteristics: lower, more aggressive timings which create more bit flip errors.. And additionally that stick have no ECC to fix it. Meanwhile ECC stick have rock solid timings AND error correction logic. I much more prefer the ECC ones.. Stability over speed in this case!
        Last edited by piorunz; 06 October 2023, 05:53 AM.

        Comment


        • #44
          Originally posted by NM64 View Post
          One of the fun thing of using consumer boards that support ECC is that you can overclock the RAM and, due to the aforementioned error-correcting functionality, it makes it not just way easier to find stability but also gives you that extra peace of mind that, even if some random teeny bit of instability managed to slip through, it'll get corrected on-the-fly anyway.
          Yes, that is a great feature. I did that with my workstation PC. Because DDR4 ECC 3600 MT/s did not exist at the time, and 3600 is apparently a sweet-spot speed for my CPU, I bought two 32GB 3200 MT/s sticks. Selected 3600 speed in BIOS, rebooted... And it has been working like that ever since. Timings the same (conservative ECC ones), stability rock solid, tested with various programs, including memtest. Not one ECC error report yet. Computer is a AMD Ryzen 7 5800X in ASUS PRIME B550-PLUS.
          Fun fact that I had two internal cache ECC corrections within CPU. Linux is reporting these events. But not on DDR4 memory yet.

          Comment


          • #45
            Originally posted by coder View Post
            When the CPU is running in ECC mode, the CPU's integrated memory controller performs the ECC checking & computation. That can cost you a couple extra nanoseconds, at most. I'd further speculate that perhaps enabling ECC might disable burst chop, as that's just about the only way I can make sense of the more extreme outliers, assuming those results are stable.
            Yeah, I'm confused that it makes any measurable difference at all. ECC is a perfect candidate for speculative execution, since errors almost never happen. Logically the CPU should be able to roll along as if everything is correct, and only have to rollback extremely rarely.

            Comment


            • #46
              Originally posted by yump View Post
              Yeah, I'm confused that it makes any measurable difference at all.
              I wish we had more visibility into those outliers -- specifically, how much run-to-run variability they have, when you change absolutely nothing. I'm skeptical of anything with more than a 2% deficit for ECC.

              Originally posted by yump View Post
              ECC is a perfect candidate for speculative execution, since errors almost never happen. Logically the CPU should be able to roll along as if everything is correct, and only have to rollback extremely rarely.
              I don't follow this point. For a computing system to be usable, memory errors must be sufficiently rare that they don't occur in code segments and generally don't occur in data that would substantially affect software behavior. By the time you're seeing errors often enough for them to affect something like speculative execution, your machine would be crashing apps and causing kernel panics so often that it'd be effectively unusable.

              Comment


              • #47
                Originally posted by coder View Post
                I don't follow this point. For a computing system to be usable, memory errors must be sufficiently rare that they don't occur in code segments and generally don't occur in data that would substantially affect software behavior. By the time you're seeing errors often enough for them to affect something like speculative execution, your machine would be crashing apps and causing kernel panics so often that it'd be effectively unusable.
                That is the point. It seems to me that memory errors are so rare that it's safe to speculatively assume they never happen, so checking for them can be off the critical path. What is the CPU doing different when ECC is enabled?

                Comment


                • #48
                  Originally posted by yump View Post
                  It seems to me that memory errors are so rare that it's safe to speculatively assume they never happen, so checking for them can be off the critical path. What is the CPU doing different when ECC is enabled?
                  Well, ECC-checking probably adds about a nanosecond of latency or less. So, I'm not sure it's worth the complexity.

                  I suppose it's an interesting idea, though. It would mean computations not only become dependent on branch predictions, but also ECC-checks from the last load involved in the data dependencies. However, if the benefit is only like 5 cycles deeper speculation, then I'd say it's not worthwhile.
                  Last edited by coder; 16 October 2023, 01:55 AM.

                  Comment


                  • #49
                    Originally posted by peggyramos
                    I am considering going for a system with DDR5 ECC memory and I am unsure which platform works better:

                    - Intel: 13900k + Asus W680 ACE + Kingston DDR5-4800 ECC UDIMM
                    - AMD: 7900x + X670 / B660 + Kingston DDR5-4800 ECC UDIMM

                    Is there a better memory?
                    I can only comment on the Intel build, since that's also something I've recently looked at. The Qualified Vendor List on ASUS' website does show 3 SK Hynix DIMMs @ DDR5-5600, but I can't find anywhere to buy them in the USA!

                    Note that you'll ideally want dual-rank (sometimes called double-sided) DIMMs, as it can add a couple % of performance vs. single-rank. The downside is they're only available in higher capacities and burn a little more power, but probably just like a couple Watts. Also, try to stick with one DIMM per channel, for the best speed and compatibility.

                    Regarding what is available in the US, Kingston makes DDR5-5600 ECC UDIMMs, but their compatibility-checker tool doesn't state they're compatible with the ASUS W680 boards, instead listing only their DDR5-4800 ECC UDIMMs. I haven't found any info on the web indicating people successfully used those DIMMs with that board.

                    Originally posted by peggyramos
                    Are there any 48GB modules on the market yet?‚Äč
                    Not ECC UDIMMs, as far as I've seen.

                    If you can initially get by with lower quantity, you might try buying 2x 16 GB DDR5-4800 DIMMs, and just plan to replace it with 2x 64 GB DDR5-5600 DIMMs in a year or so. Micron has announced 64 GB UDIMMs (though not said anything about ECC versions, that I've seen). The market for ECC UDIMMs is small and slow to evolve.

                    Good luck.

                    Comment


                    • #50
                      So basically we have to stick with CPUs with DDR4 if we want ECC unless we want to pay way more for nothing. Or else the only other option is Threadripper which they ensure has ECC available (but via RDIMMs so you can't use it with reasonably priced CPUs). The amount of time we have to waste on dealing with their marketing scams just to use a computer reliable enough for work to make (and not lose) money is ridiculous.

                      We could have DDR5 with proper ECC running at 5400mhz - and that would make Zen 4 CPUs worth it if you can't justify reducing your data integrity... But no, they purposefully omit such products.

                      Comment

                      Working...
                      X