Interesting skylake power management

Discussion in 'Microsoft Surface Pro 4' started by Compusmurf, Sep 16, 2016.

  1. Compusmurf

    Compusmurf Active Member

    Joined:
    May 8, 2014
    Messages:
    488
    Likes Received:
    133
    Trophy Points:
    43
    Location:
    Odessa, FL
    My Device:
    SPro4
    I've been digging around looking for tidbits on battery savings.

    One of the features I found reviewing the skylake processor info is Duty Cycle.

    "Skylake systems-on-chips will offer another power saving feature: duty cycling. The processor's energy consumption is proportional to the square of the frequency, which is why cutting the frequency is so important to saving energy and increasing the battery life. But at low frequencies, the frequency-dependent energy consumption is no longer the dominating factor. Instead, things such as leakage (the small currents that flow though transistors even when they're "off") dominates. Once this threshold is reached, reducing the frequency further to save energy doesn't work. In fact, it makes energy usage worse: a lower frequency means that calculations take longer, meaning it takes longer for the processor to switch to its lowest "off" state.
    So what Skylake will do is duty cycle: instead of switching to ever lower frequencies, once it reaches the most efficient frequency it will cut energy usage further by cycling between this efficient frequency and suspended in the C6 power state."

    The many tricks Intel Skylake uses to go faster and use less power

    These are the registry keys that control it from Win 10

    8baa4a8a-14c6-4451-8e8b-14bdbd197537 – Processor performance autonomous mode (Enable/Disable) Specify whether processors should autonomously determine their target performance state.

    36687f9e-e3a5-4dbf-b1dc-15eb381c6863 – Processor energy performance preference policy (Percent) Specify how much processors should favor energy savings over performance when operating in autonomous mode.

    cfeda3d0-7697-4566-a922-a9086cd49dfa – Processor autonomous activity window (Microseconds) Specify the time period over which to observe processor utilization when operating in autonomous mode.

    4e4450b3-6179-4e91-b8f1-5bb9938f81a1 – Processor duty cycling Specify whether the processor may use duty cycling.

    On mine

    Autonomous ENABLED

    Perf pref policy : AC = 33, DC = 50

    Window: 30000 microseconds

    Processor duty: Disabled.

    Here's the MSDN article on the keys, not that it has much.
    Static configuration options for the performance state engine - Windows 10 hardware dev



    Now that I've bored you with tech junk, I've enabled processor duty for both AC and DC profiles. Nothing bad has happened, sleep, hibernate, recovery has all worked fine.

    There are a bunch of other really interesting processor management keys available that control everything from ramp speed to core parking parameters.

    Any of you fellow really geeky types dive into this area yet?
     
  2. hughlle

    hughlle Super Moderator Staff Member

    Joined:
    Jul 7, 2014
    Messages:
    2,692
    Likes Received:
    422
    Trophy Points:
    83
    You lost me at duty cycle :( But given that i've generally no real need for the power on offer on my i5, will be interesting to hear of whether this has a meaningful effect on battery life.
     
  3. GreyFox7

    GreyFox7 Super Moderator Staff Member

    Joined:
    Jul 27, 2014
    Messages:
    6,331
    Likes Received:
    1,279
    Trophy Points:
    113
    Id say this is generally like trying to beat the house in Vegas and they have a bigger advantage than normal. Intel has already spent countless hours modeling and studying this problem and they moved said optimizations from the OS to the silicone to speed up their reaction time. like a quarterback's read and recognition of situations and adjustments moved to hardware and speedup 100 times faster.

    Comparatively you are going to run the same defensive alignment on every down, if the defense matches the play run (program executed) you're good otherwise you're toast.

    Where it might work is if you had a very specific and controlled workload. (perhaps calculating pi to infinite decimal places or the mass of a supermassive black hole in a feeding frenzy) In that situation you might be able to make static adjustments to precisely tune for the specific use case, anything unusual and you get snookered.

    You might prove me wrong... the clock is ticking. ;)
     
    Last edited: Sep 16, 2016
  4. Compusmurf

    Compusmurf Active Member

    Joined:
    May 8, 2014
    Messages:
    488
    Likes Received:
    133
    Trophy Points:
    43
    Location:
    Odessa, FL
    My Device:
    SPro4
    Greyfox, that's one of the optimizations, however, from what I've been able to tell, it disabled by default (Processor Duty cycle) and the OS or computer manufacturer has to flag it to enable it. Not all systems like to have parts of the core processor turn itself off. Win 10 supposedly had the features "added". Curiously tho, it's not enabled on the SP4. Maybe for a good reason.

    There ARE some downsides. It should decrease your performance at the cost of saving more battery. Upon a load, it has to power up all the parts it put to sleep, but we're talking nano or micro seconds here. Will that be noticeable?
     
  5. GreyFox7

    GreyFox7 Super Moderator Staff Member

    Joined:
    Jul 27, 2014
    Messages:
    6,331
    Likes Received:
    1,279
    Trophy Points:
    113
    Oh, interesting...
    ... Will that be noticeable?
    A couple nanoseconds wont be, I figure it would take at least a hundred billion nanoseconds to amount to anything remotely measurable. Let's reverse that math... battery lasts X hours. There is 3,600 billion nanoseconds in an hour. ... so far I'm not liking where this is headed ... lets say we want a 10% return on our effort. So we need 360 billion nanoseconds per hour saved (6 minutes).
     
  6. Compusmurf

    Compusmurf Active Member

    Joined:
    May 8, 2014
    Messages:
    488
    Likes Received:
    133
    Trophy Points:
    43
    Location:
    Odessa, FL
    My Device:
    SPro4
    Under load, the cycling would be off, but for tasks that aren't a heavy load, having 1/2 the processor in c6 state would save a ton of battery.

    Ex watching a movie encoded in an efficient codec. It'll sleep part of the CPU and part of the GPU. If you did that for example while watching a movie for 2 hours, that could be pretty significant power savings on your battery.

    Under A/C power I doubt anyone would bother trying to save a few amps. It makes no sense to have it on.

    I have a thought.
    I'm going to peek at the settings for the hidden Power Saver profile. Maybe it's turned on there by default. :)

    Ok, it's also not enabled there by default, but some of the core parking algorithms are set pretty high.

    This key seems to be the biggest change.

    36687f9e-e3a5-4dbf-b1dc-15eb381c6863 – Processor energy performance preference policy (Percent) Specify how much processors should favor energy savings over performance when operating in autonomous mode.

    (AC)
    High perf=0
    balanced = 33
    power save=90
     
    Last edited: Sep 16, 2016
  7. GreyFox7

    GreyFox7 Super Moderator Staff Member

    Joined:
    Jul 27, 2014
    Messages:
    6,331
    Likes Received:
    1,279
    Trophy Points:
    113
    Hmm, there could be something there ... I have difficulty visualizing CPU utilization at 2-3 ghz. much less switching off and on. :) I need a visualization tool that shows these states.
     
  8. Compusmurf

    Compusmurf Active Member

    Joined:
    May 8, 2014
    Messages:
    488
    Likes Received:
    133
    Trophy Points:
    43
    Location:
    Odessa, FL
    My Device:
    SPro4
    Lol, well we aren't the rocket scientists who came up with this then shrunk it down to 14nm.
     

Share This Page