Leopard underclocking cpu?

Discussion in 'macOS' started by Hannify, Feb 19, 2009.

  1. Hannify macrumors member

    Joined:
    Jun 6, 2007
    #1
    Hi,

    I have a close friend and colleague who recently bought a unibody macbook. He claims to have discovered via benchmarking cpu frequency that leopard is underclocking the cpu of his machine from 2.4 ghz down to 1.2 ghz. He claims that this is apples band-aid solution to heat problems with the logic board and the aluminum enclosure.

    I can't imagine that this is true- it would be fraud on a massive scale, and it seems to me that someone would have nailed apple for this already. Does anyone know anything about this issue? I am still waiting for apple to replace my laptop, so I am unable to run any tests to confirm/disprove this (additionally, my last machine was still running tiger, so I have never run any benchmarks in leopard to compare with tiger).

    I'm not super knowledgeable about this, but perhaps some folks out there who can test both leopard and tiger on similarly speced machines can use sysctl -a | grep cpu to check cpu frequency difference between the two operating systems

    it just occurred to me that this probably has to do with leopard's implementation of Intel's speedstep. Does anyone know if leopard handles speedstep differently from tiger?
     
  2. SnowLeopard2008 macrumors 604

    SnowLeopard2008

    Joined:
    Jul 4, 2008
    Location:
    Silicon Valley
    #2
    If you use the battery then it will underclock itself.
     
  3. kolax macrumors G3

    kolax

    Joined:
    Mar 20, 2007
    #3
    You mean if you use it without the battery it will underclock significantly (like what the OP said).

    And by without the battery, I mean no battery and running off mains adapter.
     
  4. Shadow macrumors 68000

    Shadow

    Joined:
    Feb 17, 2006
    Location:
    Keele, United Kingdom
    #4
    This is a feature of almost every modern mobile CPU - they clock themselves down to save power. This has been going on for years, even Pentium 3's did it!
     
  5. Hannify thread starter macrumors member

    Joined:
    Jun 6, 2007
    #5
    It's not the battery. The machine had the battery installed and was running off the wall.

    Last night I got a hold of a friends leopard machine and ran some tests. The problem appears to be completely localized to a specific app: reaktor 5 by native instruments. All other apps I tested appear to upscale normally when they reach a certain load.

    Native instruments recommend disabling speedstep completely, which was possible in previous versions of OS x but is no longer possible. Reaktor must not be making the proper system calls in order to disable the throttling. Using a utility like coolbook to force the CPU frequency should solve the problem until native instruments fix their app.
     
  6. applefan69 macrumors 6502a

    applefan69

    Joined:
    Oct 9, 2007
    Location:
    Medicine Hat
    #6
    Im a litle confused but interested so i want to understand this.

    Someone tell me if I got this wrong...


    so leopard (OS X in general?) underclocks the CPU on laptops to save power. BUT when an application demands the full power of the CPU the app can tell the system it needs more processing power and OS X will up the CPU speed to what its truly capable of?
     
  7. Hannify thread starter macrumors member

    Joined:
    Jun 6, 2007
    #7
    this is my understanding, yes. But as I stated in my original post I am by no means an expert on this.

    I actually thought that speedstep was mostly handled automatically by the OS, but it certainly seems as if individual applications need to make some sort of call- otherwise I'm very confused as to why the cpu frequency refuses to upscale in reaktor but works fine in all other apps I tested.

    Can someone who understands cpu load requests better chime in?
     
  8. martijndeluxe macrumors newbie

    Joined:
    Feb 20, 2009
    #8
    I'm having exactly the same problem with the same software Reaktor 5.

    I just got the unibody tin can and installed Komplete on it. I noticed that the same factory ensamble SpaceDrone (that i made btw) used about half the CPU load on my old Dell 2GHz XP box than on the new MacBook UniBody 2.4GHz Leopard.

    I tried a kernal patch to get access to the speedstep:

    http://code.google.com/p/xnu-speedstep/

    This resulted in deauthorisation of Komplete due a System ID Change Woops.

    Maybe i did it wrong but it shorly didnt go any faster either.

    So i reinstalled Leopard and did the bootcamp + XP. Under XP it was running exactly 2 times faster.

    I tested in Class. Im a teacher musictechnology at California Institute of the Arts btw.

    So the few students with Window boxes where running full speed. Those with Tyger had simular performance. Those with Leopard where running twice as slow...

    Ok this is just a conformation of what was said above right...

    So if this could be a Reaktor only problem, What else multy platform software should we use to see if leopard SpeedStep speeds up at all ???

    I was thinking of maybe comparing Reaktor in Ableton Live or so. I assume that Ableton than should do the SpeedStep boogy. Do i make sense at all?

    So far Apple Support responded that Apple software runs on the disired speed and that 3rd party software is not theyre responsibility...

    CheerZ,

    -Martijn-
     
  9. Consultant macrumors G5

    Consultant

    Joined:
    Jun 27, 2007
    #9
    Looks like Reaktor has not been updated since 2006.

    It's Reaktor support, not Apple support.

    It's NOT CPU throttling in any way.
     
  10. martijndeluxe macrumors newbie

    Joined:
    Feb 20, 2009
    #10
    Latest update is 5.1.5 dated 10.03.2008

    I still think its a CPU throttling issue because of the performance on Tyger.

    Lets find out what NI has to say about this...
    I send m a link to this post.

    -Martijn-
     
  11. Consultant macrumors G5

    Consultant

    Joined:
    Jun 27, 2007
    #11
  12. martijndeluxe macrumors newbie

    Joined:
    Feb 20, 2009
    #12
  13. ppc750fx macrumors 65816

    Joined:
    Aug 20, 2008
    #13
    All modern CPUs will clock down when not under load. There's no sense generating a ton of extra heat and increasing power load if it's not going to do something useful.

    Your friend is 100% wrong. The chip in the unibody MacBooks can (and will) clock up to 2.4 when it's under load.

    As for your issues with Reaktor, that sounds like just a buggy app. Nothing about what you said makes me think it's related to CPU frequencies.
     
  14. martijndeluxe macrumors newbie

    Joined:
    Feb 20, 2009
    #14
    Did a bit further analysis... Propellerheads Reason (latest version) has exactly the same problem as Reaktor.

    Now both these programs seem single core programs. On windows when ya launch them they ocupy one core and stay there. than ya can say maxperformance to the windows enery saver and the cpu clock always is at max. so there the program runs on a single core at max speed nicely.

    I think on the mac these programs also run on one core at the time but they switch cores all the time sometimes several times per second sometimes they stay on one core for a few seconds. Meanwhile the mac Tread distributor finds that only half the CPU is utilized and therfore doesnt realy switch to a higher frq.

    It coeld very well be that Logic or Ableton work well on a mac sinds they are true multy core programs.

    Would be realy cool if someone has Live on both platforms and would test this. So a live song with loads of live instruments and effects and than compare the load.

    Looking forward for more clarity on the toppic...

    -M-
     
  15. Eddyisgreat macrumors 601

    Joined:
    Oct 24, 2007
    #15
    FWIW , there is alot of talk going around saying that Apple underclocks their gpu's to around 50-75% clock speed and memory is underclocked slightly below that of the 17 inch machines due to the additional available space.

    I don't know if apple says so specifically but I can use windows to clock it (the gpu) to its specifications using rivatuner. Heat isn't good, but it works great. No artifacts.
     
  16. ppc750fx macrumors 65816

    Joined:
    Aug 20, 2008
    #16
    First, there's no such thing as a "single core" or "multi core" program. A program can make good or poor use of multiple threads, but very few non-embedded programs are so tightly coupled to the hardware as to be considered "multi core" or "single core". (My guess is you were referring to threading.)

    I'd be surprised if they had a hard processor affinity set on Windows. I'm sure that CPU usage is similar, but my bet is that they're being shifted from one core to another just as they are on the Mac. It's possible that the image has an affinity flag set, but it's really unlikely.

    I also don't think it's related to the CPUs frequency scaling -- if it were, the problems would be present on any SMP-enabled Mac. The fact that it's only Leopard with issues makes me think that it's simply a case of the program being poorly written. Take a look at Activity Monitor when you're running the application on a Mac with Tiger and a Mac with Leopard. My guess is that you'll see the load bouncing from one core to the other as the program runs on both systems.

    Oh, and to the best of my knowledge, the frequency scaling is done on the basis of combined CPU load, so it shouldn't matter which core is being used for execution at any given moment.
     
  17. martijndeluxe macrumors newbie

    Joined:
    Feb 20, 2009
    #17
    >>(My guess is you were referring to threading.)

    Yes youre right i am. theres probebly more threads running but only one big audio thread that sits on one core.

    >>I'd be surprised if they had a hard processor affinity set on Windows. I'm >>sure that CPU usage is similar, but my bet is that they're being shifted >>from one core to another just as they are on the Mac. It's possible that >>the image has an affinity flag set, but it's really unlikely.

    Noop, they sit on one core and stay there. They might migrate to another core if for example the program resets the audio engine. the thread gets killed and new thread started. but appart from that they stay on one core.
    i know this for shore...

    >>I also don't think it's related to the CPUs frequency scaling -- if it were, >>the problems would be present on any SMP-enabled Mac. The fact that >>it's only Leopard with issues makes me think that it's simply a case of the >>program being poorly written. Take a look at Activity Monitor when you're >>running the application on a Mac with Tiger and a Mac with Leopard. My >>guess is that you'll see the load bouncing from one core to the other as >>the program runs on both systems.

    Have to admid i didnt look at it one Tyger.

    >>Oh, and to the best of my knowledge, the frequency scaling is done on >>the basis of combined CPU load, so it shouldn't matter which core is being >>used for execution at any given moment.

    That would than totaly explain it wouldnt it? I mean Reaktor sitting in one core or the other at a given time, so combined the 2 cores dont go over 50% so leopard sees no need to scale up the CPU frequency...

    -M-
     
  18. ppc750fx macrumors 65816

    Joined:
    Aug 20, 2008
    #18
    If true, that would make it the first multi-threaded Windows program I've seen behave that way by default. Weird.

    Uh... no. I should have elaborated: it doesn't matter which core is fully loaded. If the total CPU load is > 100% (out of 200% for a dual core machine,) then the processor should be running at its peak frequency. Put another way, the frequency scaling algorithm doesn't care which cores are being utilized or when they're being utilized -- if any core is fully-loaded all the cores will clock up. AFAIK the cores can't scale independent of one another.
     
  19. martijndeluxe macrumors newbie

    Joined:
    Feb 20, 2009
    #19
    If true, that would make it the first multi-threaded Windows program I've seen behave that way by default. Weird.


    What do you mean if true? Didnt i just say that reaktor and reason hang out on one core in windows for as long as tgheyre audio engine is running. I mean should i mail ya a screendump of the CPU monitor?

    Uh... no. I should have elaborated: it doesn't matter which core is fully loaded. If the total CPU load is > 100% (out of 200% for a dual core machine,) then the processor should be running at its peak frequency.


    Right so if Reaktor is running on ojne core at the time only the total load never gets > 100% right.

    -M-
     
  20. ppc750fx macrumors 65816

    Joined:
    Aug 20, 2008
    #20
    Well I'm skeptical because it's very, very, very rare for commercial software to come pre-configured with an affinity mask set.

    No. If Reaktor is fully utilizing one core, then the processor usage will be at least 100%. Different OSs/tools use different methods of calculating/displaying CPU usage percentage, which is why I clarified with the "100% (out of 200% for a dual core machine,)" bit. Using the model that I referred to, CPU usage is reported on a scale from 0-x%, where x is the number of CPUs (logical or physical) times 100. Thus on a dual-core machine, CPU usage can be represented as a percentage from 0% all the way up to 200%.

    If you're calculating percentage as a representation of total CPU usage across all cores (i.e. on a scale from 0-100%), then if Reaktor is pegging a core, then CPU usage will be at least 50%.

    In either scenario, the equivalent of at least one core is being fully utilized, thus all cores clock up to their peak frequency.

    Dig?

    Sorry for the confusing explanation. If you're still unclear let me know and I'll try to write up a better description when I'm not as tired.
     
  21. martijndeluxe macrumors newbie

    Joined:
    Feb 20, 2009
    #21
    Well I'm skeptical because it's very, very, very rare for commercial software to come pre-configured with an affinity mask set.


    Well hey, if ya dont belive me i guess ya have to try it youreself.

    If you're calculating percentage as a representation of total CPU usage across all cores (i.e. on a scale from 0-100%), then if Reaktor is pegging a core, then CPU usage will be at least 50%.


    I get that. Heres the thing, if i said reaktor using 100% on one core, A the reaktor build in cpu meter says close to 100%, B the mac cpu monitor shows the bars all the way up to 100% on one core at the time. So ya this is 50% of all cores or 100% per core where the total of 2 * 100 = 200...

    the thing is that sinds reaktor only can use 1 core it cant go over this 100% or 50% if ya prefer. It cant do that because it is simply not capable of utilizing both cores.

    I also do get that this is kinda stupid from reaktor and that this definitly should be addressed by NI.

    In either scenario, the equivalent of at least one core is being fully utilized, thus all cores clock up to their peak frequency.


    Well i get what you say, but this doesnt seem to be the case.

    Dig?

    Well what i learned so far from this chat and other readings is this:

    Apple has a diffrent way of sceduling threads than M$. Probebly the Apple way is more sivilized and better prepaired for the near future of for example 64 cores. If a program is broken up in a lot of threads the thread scedular will distribute these threads dinamicly even over the cores. Than if the cores get saturated the OS will step the speed up.

    M$ seems a bit more stupid so it seems. threads get a core that has not so much to do and sit there. probebly a core that has least to do. Not very dynamic. Not very prepared for the multy cores future maybe.

    Reaktor is a program that puts all the audio DSP in one tread. Historicly the program was written on M$ Windows on Intel CPUs. Until not so long ago most computers where single core. But not anymore. NI should probebly invest serious time in making it so!

    Meanwhile, on a WinBox Reaktor still runs realy well. On a Mac it runs 2 times slower. Same goes for Reason.

    A because the mac doesnt like big single treads.
    B because this single tread isnt scaling up the cpu on the mac.

    So appart from that Native should update there software so it can utilize a multy core mac machine. If ya wanna run the Reaktor now you are better of with a M$ based PC because it runs 2 times faster there...

    -M-

    Screendumps of the stuff

    by the way this is a 2.4 GHz mac and a 2GHz Dell
     

    Attached Files:

  22. neonblue2 macrumors 6502a

    Joined:
    Aug 25, 2006
    Location:
    Port Pirie, South Australia
    #22
    Why not switch off one of the two cores and see what happens?
     
  23. ppc750fx macrumors 65816

    Joined:
    Aug 20, 2008
    #23
    Well you weren't lying about the affinity. It does seem to be primarily loading one core over the other. Odd, that.

    It doesn't seem to be fully loading the CPU, however I'd be willing to bet that the CPU is running at its peak frequency. You can check this yourself with a copy of CoolBook2 -- open it up when Reaktor is using its max CPU and check the frequency; my bet is that it will be at the chip's peak.

    No. That's not really how the stepping algorithm works. It doesn't wait until it's fully loaded to step up. I'm not sure of the exact algorithm in use, but the goal is to minimize both the amount of load and the amount of time that the CPU is under load.

    Not really. Mac OS X has no problem whatsoever with single threads that chew up a lot of CPU.

    I'm also pretty sure your Mac's CPU frequency is scaling up -- but if you don't believe me you can verify this on your own. Actually, I'd appreciate it if you would, since I'm curious to know. :D

    Basically, I stand by my previous statement: Reaktor has a bug/bugs in the way that it distributes work across threads. This bug is exposed when running under Leopard. It has nothing to do with CPU frequency scaling. It has nothing to do with Mac OS X's threading model. It's simply a case of a poorly-designed program breaking under a more modern OS.
     
  24. martijndeluxe macrumors newbie

    Joined:
    Feb 20, 2009
    #24

    I'm also pretty sure your Mac's CPU frequency is scaling up -- but if you don't believe me you can verify this on your own. Actually, I'd appreciate it if you would, since I'm curious to know. :D


    It does not. whay dont you test it yourself.
     
  25. ppc750fx macrumors 65816

    Joined:
    Aug 20, 2008
    #25
    Unless Reaktor loads a kernel extension which overrides the default frequency scaling behavior (ala CoolBook2), it does.

    Your Mac will clock up even before it hits 50% utilization. Example:

    http://i40.tinypic.com/2dsi7ab.png
     

Share This Page