Announcement

Collapse
No announcement yet.

AMD Ryzen 9 3900X Linux Memory Scaling Performance

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

  • AMD Ryzen 9 3900X Linux Memory Scaling Performance

    Phoronix: AMD Ryzen 9 3900X Linux Memory Scaling Performance

    For those wondering if upgrading your RAM to higher frequency DIMMs is worthwhile when moving to AMD X570 and a new Zen 2 processor like the Ryzen 9 3900X, here are some reference benchmarks at different frequencies while maintaining the same timings.

    http://www.phoronix.com/vr.php?view=28044

  • #2
    Possible typo:

    Originally posted by phoronix View Post
    most of them continued scaling to DDR4-3800 nicely
    (it only did until 3600)

    Comment


    • #3
      most of them continued scaling to DDR4-3800 nicely though in cases like some of the RAMspeed runs the DDR4-3800 performance came in slower than DDR4-3600 due to higher latencies past DDR4-3733
      You are misidentifying the performance issue above DDR4-3600. The regression isn't related to increased latency in memory above that speed, but is instead caused by the dramatic reduction in the speed of the infinity fabric above DDR4-3600. From Anandtech:

      AMD had published an interesting slide in regards to the new faster DDR support that went well above the officially supported 3200 speeds, with AMD claiming that the new controllers are able to support up to DDR4-4200 with ease and overclocking being possible to achieve ever higher speeds. However there’s a catch: in order to support DDR4 above 3600, the chip will automatically change the memory controller to infinity fabric clock ratio from being 1:1 to 2:1.
      The big reduction in performance with Apache Siege leads me to believe that benchmark involves a heavy amount of cross-core communication and is saturating the infinity fabric, especially when it's nearly halved in speed.
      Last edited by existensil; 07-09-2019, 07:07 PM.

      Comment


      • #4
        So you used the same memory kit running it at different frequencies? I don't think this is very informative. Since different RAM can also have different latency for different frequencies.

        I.e. let's say you have 3200 MHz dual channel RAM with 14 CAS latency, and 3600 MHz one with 16 CAS.

        So timing usually is calculated as CL / (single channel frequency) * 1000.

        I.e.:

        14 / 1600 * 1000 = 8.75 ns.
        16 / 1800 * 1000 ≈ 8.89 ns.

        So If I understand it correctly, 3200 MHz RAM with 14 CAS latency should perform better than 3600 MHz one with 16 CAS. Though I've never tested that, would be interesting to confirm.
        Last edited by shmerl; 07-09-2019, 08:07 PM.

        Comment


        • #5
          Originally posted by shmerl View Post
          So you used the same memory kit running it at different frequencies? I don't think this is very informative. Since different RAM can also different latency for different frequencies.

          I.e. let's say you have 3200 MHz dual channel RAM with 14 CAS latency, and 3600 MHz one with 16 CAS.

          So timing usually is calculated as CL / (single channel frequency) * 1000.

          I.e.:

          14 / 1600 * 1000 = 8.75 ns.
          16 / 1800 * 1000 ≈ 8.89 ns.

          So If I understand it correctly, 3200 MHz RAM with 14 CAS latency should perform better than 3600 MHz one with 16 CAS. Though I've never tested that, would be interesting to confirm.
          Very spot on. Is really like to know how timings affect too. Most off the cheaper range nodules have much higher timings.

          Comment


          • #6
            Seems like Zen2 is less hungry for memory bandwidth than previous generations. Though, part of me questions if that giant cache has something to do with it.

            Originally posted by shmerl View Post
            So you used the same memory kit running it at different frequencies? I don't think this is very informative. Since different RAM can also have different latency for different frequencies.
            The point was just to to test memory scaling, which is exactly what was tested and is in fact informative. In a controlled experiment, using the same DIMMs at the same frequency makes the most sense, where it shows how much frequency alone has an impact. The point of the test wasn't to show the maximum possible memory performance you could get, because Michael isn't known for pushing hardware to its limits; that's not why we come here.
            That being said... it would be nice seeing the difference between timings, too.

            Comment


            • #7
              Originally posted by schmidtbag View Post
              The point was just to to test memory scaling, which is exactly what was tested and is in fact informative.
              I meant more for choosing which RAM to get for better performance. Memory scaling with the CPU is surely informative on its own too.

              Comment


              • #8
                This is very helpful for those of with older boards and RAM considering upgrading. This shows the variance at a fixed timing, and shows the combined effect of IF speed and RAM speed scaling together. At 4-8% on Zstd and LLVM compilation, it definitely makes me feel better about using 2666/2933/3200 RAM with an R9.

                I think the internal improvements that AMD has made with IF in reducing latency are really showing here. Great job AMD.

                Comment


                • #9
                  Originally posted by existensil View Post
                  The big reduction in performance with Apache Siege leads me to believe that benchmark involves a heavy amount of cross-core communication and is saturating the infinity fabric, especially when it's nearly halved in speed.
                  The same effect is visible for the timed LLVM compilation in the geometric mean chart.

                  Comment


                  • #10
                    Originally posted by shmerl View Post

                    14 / 1600 * 1000 = 8.75 ns.
                    16 / 1800 * 1000 ≈ 8.89 ns.

                    So If I understand it correctly, 3200 MHz RAM with 14 CAS latency should perform better than 3600 MHz one with 16 CAS. Though I've never tested that, would be interesting to confirm.
                    Yes, CAS 14 @ 1.6GHz has lower latency than CAS16 @ 1.8GHz, but that only matters for codes that are bottlenecked on memory latency. Codes that are bandwidth limited will run better on the higher bandwidth memory.

                    Comment

                    Working...
                    X