Hyperthreading in Core i7 iMac

Discussion in 'iMac' started by Shawnstra, Nov 14, 2009.

  1. Shawnstra macrumors regular

    Joined:
    Oct 12, 2008
    Location:
    Singapore
    #1
    I heard that with some applications, hyperthreading has a negative effect. Is this really noticeable?

    Anyway, sometimes when i'm doing light work like browsing the web, I think it'll be better to save power to turn off hyperthreading. Is this possible on a Mac? If so, can anyone please tell me how to do so?

    Thanks!
     
  2. Eidorian macrumors Penryn

    Eidorian

    Joined:
    Mar 23, 2005
    Location:
    Indianapolis
    #2
    For what you're doing there's no need to disable it.
     
  3. 300D macrumors 65816

    300D

    Joined:
    May 2, 2009
    Location:
    Tulsa
    #3
    Hyperthreading doesn't alter power consumption.
     
  4. DoFoT9 macrumors P6

    DoFoT9

    Joined:
    Jun 11, 2007
    Location:
    Singapore
    #4
    unless there is a program to turn on/off HT in OSX, you probably cant do it (EFi is a bitch).

    just leave it on, the differences are negligible at best anyway.
     
  5. Eidorian macrumors Penryn

    Eidorian

    Joined:
    Mar 23, 2005
    Location:
    Indianapolis
    #5
    Hyper-threading does increase power consumption but I still believe it should be enabled in the majority of cases.

    The Developer Tools can turn it off. I haven't used them in ages but I think it's somewhere in the CHUD tools.
     
  6. admanimal macrumors 68040

    Joined:
    Apr 22, 2005
    #6
    The system manages power for you. For example it will crank up the GHz on one core if the other cores aren't being used (a.k.a. Turbo Boost). I would be surprised if turning off hyperthreading made any difference other than when all of the cores/threads are getting pegged.
     
  7. DoFoT9 macrumors P6

    DoFoT9

    Joined:
    Jun 11, 2007
    Location:
    Singapore
    #7
    ahh ok, wasnt quite sure.

    :confused: what does TB have to do with HT or this topic? (well yea it relates, but not in that sense).
     
  8. Eidorian macrumors Penryn

    Eidorian

    Joined:
    Mar 23, 2005
    Location:
    Indianapolis
    #8
    Turbo Boost is controlled on the hardware side on the processor without the intervention of the operating system. Nonetheless there are a few tricks you can play to force applications to use only certain cores. I've only encountered very few instances where I needed to force an application to a single or two cores so I'd get the full Turbo Boost bins instead of it bouncing around the slower four cores.
     
  9. DoFoT9 macrumors P6

    DoFoT9

    Joined:
    Jun 11, 2007
    Location:
    Singapore
    #9
    interesting.. i thought having 4 cores to 'bounce' around would have been faster then a single Turbo Boosted core. ;)

    i wonder what the actual performance decrease of HT is.
     
  10. Eidorian macrumors Penryn

    Eidorian

    Joined:
    Mar 23, 2005
    Location:
    Indianapolis
    #10
    Like I said it's in a select few instances. I had a single threaded application that would bounce around cores even with thread parking under Windows 7. Once I forced it onto a single core I got 3.2 GHz of dedicated speed vs. 2.66 - 3.2 GHz as it bounced around the cores.
     
  11. SmugMac macrumors regular

    Joined:
    Sep 25, 2009
    #11
    Hmm. Hyperthreading has always been 'smoke and mirrors' tech.

    You won't save any power turning off HT. :)
     
  12. DoFoT9 macrumors P6

    DoFoT9

    Joined:
    Jun 11, 2007
    Location:
    Singapore
    #12
    is that because HT doesnt like the application, or the application hasnt been produced efficiently enough?

    ive been searching the google for some definitive answers as to whether HT is faster or not compared to no HT. one program gave benchmarks of 415.9 (HT off) and 466.6 (HT on), but then in the next benchmark is gave 54.8 (HT off) and 37.7 (HT on).

    so for that program that you used, it was faster to be forced to use a single core then using multiple cores, even though it was chopping and changing all the time - the slow down was THAT bad??
     
  13. Eidorian macrumors Penryn

    Eidorian

    Joined:
    Mar 23, 2005
    Location:
    Indianapolis
    #13
    The application doesn't need hyper-threading. I just wanted it to park itself on a single core and stay there for full Turbo Boost and stop bouncing around all 4 cores. :p


    The benefits of hyper-threading depend on how the processor components are utilized by an application. I sadly didn't copy a long winded post on the subject with excessive, extreme detail but in short an application needs to schedule the usage of the core components so they don't occur concurrently and redundantly. Hence the usage of the virtual core. Even so there are some tasks that can't be handled that way.

    There are still some instances where disabling it will yield faster results.
     
  14. jav6454 macrumors P6

    jav6454

    Joined:
    Nov 14, 2007
    Location:
    1 Geostationary Tower Plaza
    #14
    HT helps only if the application is multi-threaded. Otherwise HT only hinders performance.
     
  15. DoFoT9 macrumors P6

    DoFoT9

    Joined:
    Jun 11, 2007
    Location:
    Singapore
    #15
    fair enough, it would have freed up the other cores for you to utilise too i guess. :)

    i wasnt doubting what you said at all, as i have no real education on the subject. its always good to learn how things work.

    so, the application itself tells which core/thread to use? i thought the OS handled how the cores were used. or maybe that was how HT was handled. argh i donno.

    correct, eid specified it was changing cores so i assumed that it was multi-threaded.
     
  16. Eidorian macrumors Penryn

    Eidorian

    Joined:
    Mar 23, 2005
    Location:
    Indianapolis
    #16
    My apologies. I only sought to be informative on the technical aspects of the subject to the best of my knowledge.

    Certain parts of a task can be broken down so that they can be processed simultaneously using other core components. You just can't have the application trying to access the same parts of the processor core simultaneously. Hence the virtual core vs. a true physical core.

    Portions of the processor are duplicated but not in their entirety.
     
  17. jav6454 macrumors P6

    jav6454

    Joined:
    Nov 14, 2007
    Location:
    1 Geostationary Tower Plaza
    #17
    What he said. I was posting a long post but then hit back accidentally, by the time I got to thread again I saw that. So, what Eidorian said.
     
  18. DoFoT9 macrumors P6

    DoFoT9

    Joined:
    Jun 11, 2007
    Location:
    Singapore
    #18
    no need to apologise mate, its all good :)

    right, so the application will try to do the best it can. this will of course be restricted by the OS, and the OS will be restricted by the physical components.

    oh yea of course not. the reality is that a CPU can still only perform one operation at a time (per core). if HT could do that then it wouldnt really be HT, it would be double the cores. :cool:
     
  19. 300D macrumors 65816

    300D

    Joined:
    May 2, 2009
    Location:
    Tulsa
    #19
    No. HT only works if portions of the CPU core are not being used by another thread and a waiting thread can utilize that unused section. If that unused portion of the CPU cannot execute the thread, or the entire CPU is busy, then HT has zero effect.
     
  20. DoFoT9 macrumors P6

    DoFoT9

    Joined:
    Jun 11, 2007
    Location:
    Singapore
    #20
    when you say thread, does an application thread = a CPU thread? so theoretically 8 application threads could be processing 'simultaneously' on a 4 core, HT enabled CPU?
     
  21. jav6454 macrumors P6

    jav6454

    Joined:
    Nov 14, 2007
    Location:
    1 Geostationary Tower Plaza
    #21
    I fail to see how a HT enabled CPU will deliver more performance out of an application that is single threaded.

    Doesn't matter how many threads the CPU can handle, it's down to the application now.
     
  22. Eidorian macrumors Penryn

    Eidorian

    Joined:
    Mar 23, 2005
    Location:
    Indianapolis
    #22
    There are still limits as to what operations can be handled in parallel and using different components of the core.

    Hyper-threading works when you can push another thread down the pipe and have it complete execution. If the entire core is in use it's moot.

    Video encoding is one thing that appears to gain the biggest benefits from Hyper-thread given the nature of the media.
     
  23. DoFoT9 macrumors P6

    DoFoT9

    Joined:
    Jun 11, 2007
    Location:
    Singapore
    #23
    i was just thinking about that. mathematical computations and whatnot wouldnt benefit that much from HT because each computation would probably require a previous computation to be completed rather then just doing them all 'willy-nilly'.

    video and audio compression/encryption/decryption seem to be the ones that benefit the most. results prove it too - we are seeing more then 20% increases with HT enabled over other systems.
     
  24. Eidorian macrumors Penryn

    Eidorian

    Joined:
    Mar 23, 2005
    Location:
    Indianapolis
    #24
    Off hand I can't provide examples of tasks that need to be completely linearly or sequentially. You have a good example though. Games tend to have some trouble scaling on cores. In most cases physics and audio are passed off to a second core but not much else. Real time presentation doesn't help a game either.

    You can break up the task into parts and those parts might only have certain operations performed on them. Reassemble the final product using an index you made at first and not every filter or transformation needs to occur simultaneously or immediately after the previous part is done.

    Waiting is the hardest part.
     
  25. DoFoT9 macrumors P6

    DoFoT9

    Joined:
    Jun 11, 2007
    Location:
    Singapore
    #25
    i guess there would not be many that need to be completely 100% sequential, but there would be a good amount that require quite a bit of prior-processing.

    true. each frame of a video requires exactly the same processing (more or less). i wonder if there are even more ways to make video conversions easier/more efficient.
     

Share This Page