Common Misconception about CPU throttling.

Discussion in 'MacBook' started by Mike Boreham, Nov 26, 2016.

  1. Mike Boreham, Nov 26, 2016
    Last edited: Nov 26, 2016

    Mike Boreham macrumors 65816

    Joined:
    Aug 10, 2006
    Location:
    UK
    #1
    I have seen few threads where it is clear some people think the M processor throttles right back after a short spell at load to control the temperature, so is not suitable for any sustained task.

    To debunk this I have run my 2016 M5 at very high CPU load using HIARCS Deep Chess in analysis mode. This uses 350% CPU in Activity Monitor. I monitor CPU cycle GHz and CPU temp with Intel Power Gadget.

    After starting HIARCS the CPU goes very quickly to the max multi-core overboost spec value of 2.4 Ghz. The temperature takes about 6 mins to reach about 92C. There after the CPU is throttled down to 2.3/2.4 to keep the temperature around 90C. After 30 minutes it settles down to 2.2 Ghz and 87C. It will stay at these levels indefinitely.

    My 15" quad core runs at similar temperature doing the same thing. The casing is warm not hot.

    The attached screenshot was taken 33 minutes after starting HIARCS running at 350% CPU.

    If you want to try this yourself there are processes you can launch in Terminal to load the CPU instead of HIARCS.


    EDIT ......added a screenshot after 58 mins
     

    Attached Files:

  2. linguist macrumors member

    Joined:
    Mar 31, 2009
    #2
    Nice to know for CPU only intensive load core M is quite capable.

    My observation is mostly CPU load only won't throttle too bad or still quite usable, it's when GPU is loaded/needed at the same time that will slow things down. Either the GPU load would cause the CPU to throttle, or CPU is waiting for certain task to be finished by throttled GPU.
     
  3. Zazoh macrumors 6502a

    Zazoh

    Joined:
    Jan 4, 2009
    Location:
    San Antonio, Texas
    #3
    Mike Boreham - great post, thanks for sharing and debunking.
     
  4. Mike Boreham thread starter macrumors 65816

    Joined:
    Aug 10, 2006
    Location:
    UK
    #4
    Thanks. What kind of activities cause this?

    I would guess some games (not chess!).
     
  5. thesimsboi macrumors member

    thesimsboi

    Joined:
    Nov 3, 2016
    Location:
    USA
    #5
    What a great and insightful post, Mike!

    This machine can handle a lot of tasks that are thrown at it. If it were priced cheaper, I bet a lot more people would adopt it and even praise it. I love the MacBook and I don't regret purchasing it one bit. It does everything I need to do - well.
     
  6. evec macrumors regular

    Joined:
    Jun 8, 2016
    #6
    Most of the Benchmark tools or softwares will not fully usage of the CPU power even the monitor show fully use of CPU, because most task will use of CPU cache and reduce memory IO because the process is repeat and repeat, also it not fully use of the auxiliary unit (like SSE, ) and display units.


    For example, when using Core M for Android studio usage will drop down speed to about 1.3ghz after 30s, in some environment, using Cinebench will maintenance above 1.8ghz, it is due to IO and more complexing process for compiling that Cinebench drawing process.


    For Geekbench, most of the CPU can keep their throttling due to all test process is relative single simple tasks and it will stop a while when switch of next test process.

    Also it depending on the surrounding temp. The unit will reduce the speed to protect motherboard and battery.
    On south area, environment temp more that 27C will easy let the system reduce to very low frequency.

    In most case, the MacBook will suitable especially most people use it for browsing or multimedia.
     
  7. Mike Boreham, Nov 26, 2016
    Last edited: Nov 26, 2016

    Mike Boreham thread starter macrumors 65816

    Joined:
    Aug 10, 2006
    Location:
    UK
    #7
    Evec, Having trouble reconciling some of the statements in your post with my experience. e.g. I was not using Geekbench or a benchmarking tool, and the CPU was being fully used and it wasn't throttling down very much (2.4->2.2).

    Your last sentence about being mainly suitable for browsing and multimedia is part of the misconception IMHO. Everyones needs and speed criteria are personal, but I think many people would actually find it meet theirs better than they thought from reading comments about throttling back under sustained load. Don't get me wrong...it is not for everyone or even most people, and there are plenty of reasons for not getting one.

    For interest here is a link about using the rMB for pro apps. It all depends on your usage and criteria for speed.
     
  8. evec macrumors regular

    Joined:
    Jun 8, 2016
    #8
    My meaning is :
    The program "HIARCS Deep Chess" will not fully use of CPU power and even the photoshop filter and final cut task will not because those task is simple task (in CPU term), even it may run long time, it just repeat some part of CPU, for chess is mainly use FPU, for filter it mostly use the some section of CPU hardware spec for those task, compare as programing complier which need high memory and more complex actives such as linking, interpreter,conv...., so some program will throttle the CPU and much easy for generate more heat because it fully use all section of CPU and it require a lot of IO.
    Even MBP will easy of throttle fan speed due to very complex task and will reduce the speed as hit of TDP.

    So it is hard to say misconceptions, i just said most people only use of the computer for browsing and multimedia is good for purpose of MacBook 12, it not mean MacBook 12 cannot use as some CPU-intensive task but just not good.
     
  9. Mike Boreham thread starter macrumors 65816

    Joined:
    Aug 10, 2006
    Location:
    UK
    #9
    So you are saying there are different kinds of CPU usage? and that when Activity Monitor says it is using 350% CPU it is a different kind of CPU usage which is not really loading the CPU?

    This is a new concept to me so would be grateful for more info, links?

    What is FPU?

    I take Linguist's earlier point that a chess analysis program is not going to use the GPU, and there could be interaction between CPU and GPU usage, but you seem to be making a different point about types of CPU usage.
     
  10. evec macrumors regular

    Joined:
    Jun 8, 2016
    #10
    FPU floating point unit of CPU, it use for calculate the best order of the chess game.
    Depending on the program, the CPU will dynamic shut down some unit when no use to save power and reduce heat.
    400% mean the CPU cannot receive additional tasks, not mean CPU internal fully operate.
    For example, x86 CPU with spec unit for provide random number, so if the software don't require random, the unit will close to save the power.
    Also program is hard to fully use every core of CPU 100% because many program need follow sequence, for example you need to wear your cloth before leave your home, so you should process wear your cloth by your two hands (two core), and wait all hand finish and use one hand (one core) to open your door.
    So the intel CPU can run only a core to throttle it highest to improve the performance, in this case, OS may show not all core using but actually the CPU can not received more task.
     
  11. Mike Boreham thread starter macrumors 65816

    Joined:
    Aug 10, 2006
    Location:
    UK
    #11
    In the situation where HIARCS chess is using 350% CPU Intel Power Gadget is also showing a solid continuous 2.2/2.4 Ghz. Does this not indicate that the CPU is fully loaded? There are many tasks where the IPG graph is spiky, fluctuating between base and overboost, illustrating the situation you describe.
     
  12. evec macrumors regular

    Joined:
    Jun 8, 2016
    #12
    The CPU should run it as fast as possible, but some part may close because program don't require for use it.
     
  13. Mike Boreham thread starter macrumors 65816

    Joined:
    Aug 10, 2006
    Location:
    UK
    #13
    Having trouble understanding this. If some part (of what?) has closed, why does the CPU continue at max cycles? What is it doing? Why would cycles not drop?....and save temperature and battery.
     
  14. evec macrumors regular

    Joined:
    Jun 8, 2016
    #14
    The car run in full speed not mean that the car can't switch off their air conditioner.
     
  15. Mike Boreham thread starter macrumors 65816

    Joined:
    Aug 10, 2006
    Location:
    UK
    #15
    I don't find the car analogy very convincing, but in a car if you turn off air conditioning the engine doesn't need to produce as much power so it can be throttled back. BHP is the measure of how hard the engine is working not speed.
     
  16. evec macrumors regular

    Joined:
    Jun 8, 2016
    #16
    Sure, it some theory, when some part of the CPU switch off, other part will run it faster because less heat.
     
  17. Mike Boreham thread starter macrumors 65816

    Joined:
    Aug 10, 2006
    Location:
    UK
    #17
    So as long as task is there the CPU will run at max cycles, which is what is happening during HIARCS analysis.
    You mentioned Geekbench as a common CPU benchmark test tool. This runs as you say, quite spiky as the CPU can be unloaded, but HIARCS is continuous high load. I am not at my MB at the moment so can't show you the Intel Power Gadget cycles output for a Geekbench run.
     
  18. evec, Nov 27, 2016
    Last edited: Nov 27, 2016

    evec macrumors regular

    Joined:
    Jun 8, 2016
    #18
    Is it hard to mention in short for the modern CPU running, you should read the relative book because CPU is a very complex thing.
    You know that the CPU actually is many MOSFET and capacitor, to increase the performance, two type can work:

    1. Increase the frequency, mean the clock of the CPU
    2. Increase the component, mean added more calculated unit / DSP / specified circuit for specified tasks

    For increase the frequency, unfortunately the MOSFET will increase leakage and require much much more power Exponential due to voltage need increase (and other affect) for the MOSFET running,
    in ideal the CPU will not generated heat and don't need power just require very small power for signal usage, all heat should prevent, however, the MOSFET switch and capacitor will generate leakage and make the CPU consume much more power by the theory P=V2R.

    So, to prevent much power require, CPU manufacturing will add more circuit (functions) for CPU but those functions only apply for some tasks, those unit can switch off when not in use to prevent to draw power and heat.

    So, program is rarely use all of the unit, for example VT-d is a specified unit that use for virtualization ,so most program will not use this unit because those program don't require virtualization.
    If a user using a windows virtualization machine, and run another program together, it will generated more heat because the CPU switch ON more units.
     
  19. Mike Boreham thread starter macrumors 65816

    Joined:
    Aug 10, 2006
    Location:
    UK
    #19
    Interesting but I don't know enough to know how relevant all that is, and also not sure what your conclusion is.

    Are you saying that my testing does not refute the misconception that the MB throttles back after a short period under load?
     
  20. linguist macrumors member

    Joined:
    Mar 31, 2009
    #20
    Yes 3D accelerated game would be most obvious (under throttling average framerate would be lower), and video editing GPU+CPU constant use, apps under VM that waits directX process to be completed can stutter more(on Windows VM guest running on Parallels on OSX, directX process are translated to openGL).
     
  21. macintoshmac macrumors 68030

    macintoshmac

    Joined:
    May 13, 2010
    #21
    I personally think there is no "part" of a CPU that can be closed. There are instructions that a CPU, well, processes. Load is load, so if a CPU is shown running at 2.4, it is running at 2.4. Only, different instruction sets might mean varying efficiencies at processing those sets, that's it.

    And yet, all these differences still do not mean that 2.4 != 2.4. If a CPU is working at 2.4GHz and not shutting down, there is not going to be a different kind of load making it run at same 2.4 and cause it to shut down, unless there is a hardware IO error.
     
  22. evec, Nov 27, 2016
    Last edited: Nov 27, 2016

    evec macrumors regular

    Joined:
    Jun 8, 2016
    #22
    Sorry, switch off part of the circuit inside chipset is a very very basic function of a MOSFET, which CPU full of those,
    and them 2.4 only mean the APU main frequency, each element of CPU can have their individual frequency and their voltage require, modern CPU and relative component can very flexible to switch off every elements, it just MOSFET can be do.

    For example, LPDDR3 ram have self refresh function and CPU can almost totally switch off their memory controller when not change the information, also LPDDR3 can be switch 166mhz-upper frequency individually of the CPU.
    --- Post Merged, Nov 27, 2016 ---
    You said is most acceptance in most case, and Intel design the CPU Core M to tweak it suitable for most case and continue run at relative high frequency >1.8ghz, however some people like to run it on fully for extreme and in worst case and said it will reduce to lower to 1.3ghz or below is also correct.
     
  23. unagimiyagi macrumors 6502a

    Joined:
    Jun 9, 2009
    #23

    This is my experience exactly. Android studio slowed my machine to a crawl and build times were 4 times longer than a 2013 mbp. I have no idea why, but my experience with everything java has been quite poor with regard to speed. That program seems like a huge resource hog and the macbook couldn't cope as the cpu throttled down to 1.1 ghz after less than a minute. That was a 2015 base model. Perhaps a 2016 M5 might be better equipped to handle the load.
     
  24. Cristim74, Nov 28, 2016
    Last edited: Nov 29, 2016

    Cristim74 macrumors member

    Cristim74

    Joined:
    Aug 27, 2016
    Location:
    Bucharest, Romania
    #24
    I did the same test on a 2016 Core m7 rMB. I loaded the processor using a couple of "yes" loops started in terminal as suggested by the thread starter. It took less than a minute for the processor to go full speed at 2.6GHz and 93'C. After less than a minute it started to throttle down at 2.30/2.40 GHz and about 90'C. It stayed there for about 10 minutes and than I stopped it. It took about a minute to cool down to 40'C and another 6 minutes to go down to 35'C.
     

Share This Page