Announcement

Collapse
No announcement yet.

The Performance Impact Of Turbo Boost On Linux

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

  • The Performance Impact Of Turbo Boost On Linux

    Phoronix: The Performance Impact Of Turbo Boost On Linux

    After the tests this weekend of Intel Hyper Threading and core scaling with the new Intel Xeon E3 "Skylake" processor, I proceeded to do some Turbo Boost benchmarking...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    No idea about disabling it with the bios, but when I first installed pstate-frequency on my laptop, I ran it with the "performance" profile and it disabled turbo boost. (Since then it got an update so that what was formerly called "max-performance" is now "performance" and enables turbo boost.)
    Point is, on my i7 3632QM I have 2.2 GHz base and 3.2 GHz turbo boost and there is a huge difference:
    I have this CPU: http://ark.intel.com/products/71670/Intel-Core-i7-3632QM-Processor-6M-Cache-up-to-3_20-GHz-BGA Processor Base Frequency 2.2 GHz Max Turbo Frequency 3.2 GHz The difference between t...

    So the first thing you can do is disable turbo boost not with the bios, but with something like pstate-frequency -S -t 1.

    And all that was in a single threaded test. Are your tests all multithreaded? Running i7z says Max TURBO Multiplier (if Enabled) with 1/2/3/4 Cores is 32x/31x/29x/29x for my CPU, so perhaps you can check if turbo boost even gives a significant boost if all cores are fully utilized vs when only one core is used.

    Comment


    • #3
      The BIOS sometimes only sets defaults. The kernel is free to do the exact same things the BIOS does, and often will if it has drivers for the hardware.

      Comment


      • #4
        desktop CPUs usually have a low turbo range so there is no big difference (below 400MHz afaik), on mobile chips it can be over 1GHz, which makes a big difference.

        Comment


        • #5
          What is the frequency of the CPU when idle? That could tell you a lot about whether it is functioning properly, or always enabled.

          I haven't yet used a modern Intel CPU with turbo boost on a desktop Linux system, but on Windows I've noticed TB is always on depending on the power setting. Pretty stupid, considering that can be as much as 15W extra being used even when idle.

          Comment


          • #6
            Turbo boost is mostly effective when only one core is active, which is why you only see the benefits of it on a single threaded task, like Redis.
            My gut feeling is that on heavily multi-threaded tasks, the effect may be detrimental if one core is boosted for a small period of time and either the others are down-clocked automatically or maybe the CPU "anticipates" more heat to be dissipated.

            Comment


            • #7
              Michael
              In the OC settings you can enable All Core for Turbo, I use that with my Asus board to get more speed from an i7-3770S (which is automatically enabled as soon as a custom RAM speed is selected, no idea why).

              Comment


              • #8
                Turbo boost should only apply if less than all cores are running. It's specifically meant to boost single threaded process. You can monitor the real CPU frequency with "turbostat" (found in linux-tools-common package for Ubuntu systems.)

                Comment


                • #9
                  Originally posted by karolherbst View Post
                  desktop CPUs usually have a low turbo range so there is no big difference (below 400MHz afaik), on mobile chips it can be over 1GHz, which makes a big difference.

                  yes, like mine i7 4720hq without turbo runs at 2.6 with turbo 3.4 to 3.6 (4 or 1 core) makes a lot of difference

                  Comment


                  • #10
                    Originally posted by fguerraz View Post
                    Turbo boost is mostly effective when only one core is active, which is why you only see the benefits of it on a single threaded task, like Redis.
                    My gut feeling is that on heavily multi-threaded tasks, the effect may be detrimental if one core is boosted for a small period of time and either the others are down-clocked automatically or maybe the CPU "anticipates" more heat to be dissipated.
                    That's only true with the first gen turbo boost. 2nd gen works on all cores.

                    Comment

                    Working...
                    X