Announcement

Collapse
No announcement yet.

AMD Ryzen 9 3900X Linux CPU Frequency Scaling Governor Benchmarks

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

  • AMD Ryzen 9 3900X Linux CPU Frequency Scaling Governor Benchmarks

    Phoronix: AMD Ryzen 9 3900X Linux CPU Frequency Scaling Governor Benchmarks

    Given the recent talk about the Schedutil CPU frequency scaling governor and its future along with CPU frequency scaling behavior in general on AMD Zen 2 processors, here are some benchmarks of the Ryzen 9 3900X when tested with the different Linux "CPUFreq" governor options.

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

  • Linuxxx
    replied
    Originally posted by Raka555 View Post

    https://www.tomshardware.com/reviews...ysis,6253.html
    • Workloads running on Ryzen 3000's slower cores experience lower frequencies than the chip's rated boost speed, and thus lower performance.
    • The combination of Windows 10's new Ryzen-aware scheduler and AMD's chipset drivers allow the operating system to schedule single-threaded tasks into the fastest cores (thread pinning). AMD has previously disclosed the Windows 10 scheduler and the CPCC2 feature, but not that the combined features assign threads to the fastest cores. This functionality requires the latest version of Windows 10. This is somewhat similar to Intel's Turbo Boost Max 3.0 on its HEDT processors, but Intel doesn't set this as a requirement to reach the normal Turbo Boost 2.0 clock speeds.
    • Older versions of Windows cannot schedule threads into the fastest cores as efficiently, thus resulting in lower clock frequencies and performance for Ryzen 3000-series processors in some workloads, which may be at the root of many user complaints.
    I see now that understanding & following an argument is not your strong point...

    Let me put it this way for all Ryzen owners:

    To fully take advantage of your shiny new processors, you will need to switch over to the schedutil governor once AMD mainlines their CPPC amd_cpufreq driver.
    Why?
    Because then (and only then) will Linux be able to do exactly what Windows 10 can do right now - namely scheduling tasks as efficiently as possible!
    Because the way things are looking now, AMD's Zen CPU driver will have no other option left but schedutil!
    [Maybe it will have a knob to fine-tune the performance vs. power-saving though, as INTEL already has with the x86_energy_perf_policy...]

    Leave a comment:


  • Raka555
    replied
    Originally posted by Linuxxx View Post

    Guess what - what you just described here is exactly what schedutil is positioned to do, while the performance governor is not!
    (Or any other governor really...)

    But hey, I guess you must know better than the Linux kernel wizards!
    https://www.tomshardware.com/reviews...ysis,6253.html
    • Workloads running on Ryzen 3000's slower cores experience lower frequencies than the chip's rated boost speed, and thus lower performance.
    • The combination of Windows 10's new Ryzen-aware scheduler and AMD's chipset drivers allow the operating system to schedule single-threaded tasks into the fastest cores (thread pinning). AMD has previously disclosed the Windows 10 scheduler and the CPCC2 feature, but not that the combined features assign threads to the fastest cores. This functionality requires the latest version of Windows 10. This is somewhat similar to Intel's Turbo Boost Max 3.0 on its HEDT processors, but Intel doesn't set this as a requirement to reach the normal Turbo Boost 2.0 clock speeds.
    • Older versions of Windows cannot schedule threads into the fastest cores as efficiently, thus resulting in lower clock frequencies and performance for Ryzen 3000-series processors in some workloads, which may be at the root of many user complaints.
    Last edited by Raka555; 09-05-2019, 09:26 AM.

    Leave a comment:


  • Linuxxx
    replied
    Originally posted by Raka555 View Post

    When all cores are busy 100% of the time, the scheduling strategy does not matter as long as you can keep the cores busy.

    At less than 100% load it matters more to use the fastest cores, which means the scheduler needs low level knowledge of the hardware.

    Also at light load it is better to stick to cores in the same compute complex to maximize cache hits etc. Again needing low level info.

    It is not enough anymore to have a scheduler that does smart queuing based on load and idle states.
    Guess what - what you just described here is exactly what schedutil is positioned to do, while the performance governor is not!
    (Or any other governor really...)

    But hey, I guess you must know better than the Linux kernel wizards!

    Leave a comment:


  • Raka555
    replied
    Originally posted by Linuxxx View Post

    Nope!
    Schedutil is able to make smart decisions, like delegating a task to the CPU core with the least amount of wake-up time, for improved latency/smoothness/reaction times - something no other governor is able to achieve.

    You know, there's a reason why Linux kernel developers want everyone to use only one scheduler; namely schedutil.

    Android is again the one setting the pace here!
    With a user-base in the billions, that shouldn't really surprise anyone...

    Anyway, my prediction is that by 2021, we all will be using schedutil!
    I really wonder what the opponents will be doing then...
    When all cores are busy 100% of the time, the scheduling strategy does not matter as long as you can keep the cores busy.

    At less than 100% load it matters more to use the fastest cores, which means the scheduler needs low level knowledge of the hardware.

    Also at light load it is better to stick to cores in the same compute complex to maximize cache hits etc. Again needing low level info.

    It is not enough anymore to have a scheduler that does smart queuing based on load and idle states.

    Leave a comment:


  • Raka555
    replied
    Originally posted by shmerl View Post
    Did anyone encounter reboots during heavy load? My Ryzen 9 3900X / Asrock X570 Taichi (firmware 2.0) starts rebooting when CPU temperature reaches somewhere between 70°C and 80°C. For example when building Linux kernel.
    I doubt it will be temperature that causes a reboot.
    I will put my money on voltages dipping too low under load.
    It might be the PSU or maybe the VRM on the motherboard.

    Leave a comment:


  • Shevchen
    replied
    Originally posted by Linuxxx View Post

    Nope!
    Schedutil is able to make smart decisions, like delegating a task to the CPU core with the least amount of wake-up time, for improved latency/smoothness/reaction times - something no other governor is able to achieve.

    You know, there's a reason why Linux kernel developers want everyone to use only one scheduler; namely schedutil.

    Android is again the one setting the pace here!
    With a user-base in the billions, that shouldn't really surprise anyone...

    Anyway, my prediction is that by 2021, we all will be using schedutil!
    I really wonder what the opponents will be doing then...
    As long as the Performance setting yields better results than Schedutil, this isn't going to fly. Esp. as Schedutil could take advantage of the better reaction time and even overthrow performance. But it doesn't.

    Leave a comment:


  • Linuxxx
    replied
    Originally posted by rabcor View Post
    Long story short: Always use performance.
    Nope!
    Schedutil is able to make smart decisions, like delegating a task to the CPU core with the least amount of wake-up time, for improved latency/smoothness/reaction times - something no other governor is able to achieve.

    You know, there's a reason why Linux kernel developers want everyone to use only one scheduler; namely schedutil.

    Android is again the one setting the pace here!
    With a user-base in the billions, that shouldn't really surprise anyone...

    Anyway, my prediction is that by 2021, we all will be using schedutil!
    I really wonder what the opponents will be doing then...

    Leave a comment:


  • Raka555
    replied
    I have a question about the core numbering.

    In ryzenmaster you can see which is your best core and the runner up. Core 5 and 4 are the best and 2nd best on my 3700x
    I can see in ryzen master that most tasks get schedules onto core 5 in windows.

    Do the core numbers as reported by linux for example /proc/cpuinfo correlate to the core numbers as reported by ryzenmaster ?

    Would core 5 of ryzenmaster correlate to cpu8 and cpu9 under linux ?


    Leave a comment:


  • Raka555
    replied
    Originally posted by rabcor View Post
    Long story short: Always use performance.
    I like this idea, but will it have consequences for the longevity of the CPU ?

    Leave a comment:

Working...
X