The ThrottleStop Guide

Discussion in 'Hardware Components and Aftermarket Upgrades' started by unclewebb, Nov 7, 2010.

  1. T1mur

    T1mur Notebook Guru

    Reputations:
    0
    Messages:
    55
    Likes Received:
    3
    Trophy Points:
    15
    Ok, then lets settle on the threads terminology. I was rather using Windows terminology, which identifies all threads as single CPUs (CPU0/1/2...) and which is more easy to understand for end-users.

    Yes, I mean threads, or CPUx. AFAIK there is no such thing as parking from the CPUs perspective anyway. Parking effectively only means that the OS scheduler does not make use of a CPU thread, consequently the thread can be put into C3/6/7.

    Indeed, and that is why I am saying that Windows' default behavior of never parking both threads of a core can have an influence on the effective CPU multiplier. The chance for a whole core to go to C3/6/7 decreases because the core is still marked as "use as you please" for the scheduler. That being said the influence doesn't seem to be very big when higher load is present. So take it as a footnote, not as an issue needing discussion.

    According to TS my effective multiplier with Windows' profiles is around 32.8 when running a single Prime95 thread. So at least x33 does seem to happen often enough. My own profile that allows all threads to be parked reaches a *lower* effective multiplier in this specific situation, so I may have to tweak it some more.

    Yes and no. If a single core is not fully utilized it can be more efficient (both performance and power-vise) to keep threads on that single core and thus allows a higher effective multiplier, not only because of the cache, but also because waking threads from C3/6/7 costs energy and *time*. This is what core-parking is all about.

    When I allow all threads to be parked and watch core utilization with mainly Firefox running then all cores but one are only at 0.x% C0 (=99.x% C7). Running the "High Performance" or "Balanced" power-profiles (=only half the threads being parked at max) with the very *same* load makes the load being spread/moving among cores (=higher C0 on all cores = lower C7 on all cores).

    This obviously is an idle case and load cases behave somewhat differently. But even when running a single Prime95 thread at Realtime priority (16 for the math doing thread) it keeps switching between cores. I did another test with a single thread of 80% (and less) load using Ableton Live. Curiously my own power-profiles lead to switching happening even with this lower load (and temp) while the default profiles keep close to 80% on a single core/thread.

    So there must be some power-settings that affect this behavior. Once I find time I will try to find out which one that is. This whole stuff isn't sufficiently documented and already took quite some time to get into/analyze in real-world scenarios. But since I'm working on professional audio it's something I have to look into anyway.

    I'm using Throttlestop and Windows' Performance Monitor. Where can I download your analysis tool that allows to set different polling times?
     
  2. Dufus

    Dufus .

    Reputations:
    1,194
    Messages:
    1,336
    Likes Received:
    548
    Trophy Points:
    131
    That's a bit of software written long ago that is pretty rough and certainly not user friendly.

    Unclewebb has a program called i7Turbo that will let you see C0 usage for each core. If you ask him nicely it should be fairly simple for him to change the timer from 1 second to higher. He might be interested in the results too.
     
  3. T1mur

    T1mur Notebook Guru

    Reputations:
    0
    Messages:
    55
    Likes Received:
    3
    Trophy Points:
    15
    Throttlestop already does show C0, C3, C6 and C7 per core (C0 even per thread). Maybe some parameter could be added to the INI that allows to define the polling rate (20s might be a bit much though).
     
  4. SlickDude80

    SlickDude80 Notebook Prophet

    Reputations:
    3,262
    Messages:
    4,997
    Likes Received:
    3
    Trophy Points:
    106
    does throttlestop work with the i7 2630?

    i've tried ver 3.5 and 3.3 and both don't work for me at all. It throttles as soon as the short interval time is up from 2.6ghz...down to 2.4ghz. I've upped my bclk so i've added about 100mhz (without the small OC, 2.4ghz is actually 2.3ghz)

    I've done everything right i believe...EIST is enabled, speedstep is enabled.
     
  5. unclewebb

    unclewebb ThrottleStop Author

    Reputations:
    7,780
    Messages:
    6,411
    Likes Received:
    6,667
    Trophy Points:
    681
    ThrottleStop supports the i7-2630 but if your laptop bios has decided to lock the power register, there is nothing that ThrottleStop can do about that. I think the R3 might have a modified bios out for it now that unlocks this register.

    The ThrottleStop C State window is separate from the rest of ThrottleStop so I will look into adding a variable polling interval for some more interesting data. Unfortunately not much time to play or do any programming recently.
     
  6. Dufus

    Dufus .

    Reputations:
    1,194
    Messages:
    1,336
    Likes Received:
    548
    Trophy Points:
    131
    Unclewebb, you would have to make sure there is no other core polling during the c-state sample time ie no MSR reads.

    Something you might be interested to know T1mur, is that W8, at least the pre-beta, default behavior appears much more aggressive with core parking by parking whole cores.

    Quad CPU with no HT.
    [​IMG]
     
  7. SlickDude80

    SlickDude80 Notebook Prophet

    Reputations:
    3,262
    Messages:
    4,997
    Likes Received:
    3
    Trophy Points:
    106
    thanks Unclewebb...i'll look into it
     
  8. T1mur

    T1mur Notebook Guru

    Reputations:
    0
    Messages:
    55
    Likes Received:
    3
    Trophy Points:
    15
    @Dufus: Likely they only changed the option called "Processor performance core parking core override" from its default of enabled to disabled.

    According to MS help this option does "Ensure that at least one processor remains unparked per core".

    As you can see Microsoft calls these "processors" instead of threads, while Resource Monitor and Performance Monitor call them CPUx. It's all a big confusion and no real standard nomenclature.
     
  9. Dufus

    Dufus .

    Reputations:
    1,194
    Messages:
    1,336
    Likes Received:
    548
    Trophy Points:
    131
    Each thread is being seen by the OS as a logical CPU and this is how it should be. Makes things easier for the OS.

    I did some testing a while back with W7 core parking, turns out it can be a bit buggy in some situations when using affinity mask.
     
  10. T1mur

    T1mur Notebook Guru

    Reputations:
    0
    Messages:
    55
    Likes Received:
    3
    Trophy Points:
    15
    Didn't you disagree when I called those threads "logical cores" earlier? Logical CPUs doesn't sound that much different. :p ;)

    Your testing was done with the "Balanced" profile, which - as the name and description suggests - does not necessarily aim for better performance (aka high GFlops). So I wouldn't call it a "bug" at this point, but more a matter of settings. Did you repeat the tests with the "High Performance" profile?
     
Loading...

Share This Page