Slashdot Mirror


Intel Turbo Boost vs. AMD Turbo Core Explained

An anonymous reader recommends a PC Authority article explaining the whys and wherefores of Intel Turbo Boost and AMD Turbo Core approaches to wringing more apparent performance out of multi-core CPUs. "Gordon Moore has a lot to answer for. His prediction in the now seminal 'Cramming more components onto integrated circuits' article from 1965 evolved into Intel's corporate philosophy and have driven the semiconductor industry forward for 45 years. This prediction was that the number of transistors on a CPU would double every 18 months and has driven CPU design into the realm of multicore. But the thing is, even now there are few applications that take full advantage of multicore processers. What this has led to is the rise of CPU technology designed to speed up single core performance when an application doesn't use the other cores. Intel's version of the technology is called Turbo Boost, while AMD's is called Turbo Core. This article neatly explains how these speed up your PC, and the difference between the two approaches. Interesting reading if you're choosing between Intel and AMD for your next build."

53 of 198 comments (clear)

  1. Can we get.. by vjlen · · Score: 5, Funny

    ...Turbo switches on our workstations again like back in the day?

    1. Re:Can we get.. by sznupi · · Score: 4, Funny

      Plus a straightforward way of figuring out how to best assign processes to particular cores? (which ones are faster and which are slower)

      --
      One that hath name thou can not otter
    2. Re:Can we get.. by sznupi · · Score: 2, Insightful

      But perhaps not without exceeding the amperage value for which power lines are rated...

      --
      One that hath name thou can not otter
    3. Re:Can we get.. by Anpheus · · Score: 3, Interesting

      Yes but it consumes more power and heat than they'd like. Binning is also a bigger deal than you think with CPUs. My CPU can be over-clocked significantly, because I got a lucky unit, but not nearly as much as what some people get. My CPU isn't stable at the memory speeds most over-clockers see online either. So in some ways, I got a good CPU, in some, it's meh.

      On the other hand, there's no way I'd sell a company my CPU & motherboard at the speed I've boosted it up to. Not a chance. It's not 100% stable, there are infrequent glitches, etc. I improved my cooling, decreased my over-clock, and I've still had it not wake up from s3 sleep and done a couple other odd things.

      So no, super turbo boost is not what you think it is. Is it a marketing ploy? Everything is a marketing ploy, but it's also a useful feature. Especially on laptops, where all but one core of the CPU can completely shut down and the remaining one can nearly double its clock speed.

    4. Re:Can we get.. by postbigbang · · Score: 4, Interesting

      So what you do is get people to code apps that use lighter-weight threads. Apple's GCD and FOSS ports of GCD spawn low-cost (as in overhead) threads so you can cram more in, make them smaller, and relieve part of the dirty cache memory problem in using them.

      Spawn threads across cores, keep thread life simpler. Make those freaking cores actually do something. It can be done. It's just that MacOS or Linux or BSD have to be used to run the app/games.

      Don't get me started on GPU threading.

      --
      ---- Teach Peace. It's Cheaper Than War.
    5. Re:Can we get.. by wealthychef · · Score: 2, Informative

      I like Grand Central Dispatch. Don't shoot me, it's from Apple. But it's open source, so it's good, right? What I like about it is that it relieves a programmer from the burden of choosing the number of threads to run, initializing all the various mutexes, etc. Very nice model. I don't see a big driver for adoption, unfortunately, outside of HPC geeks like yours truly.

      --
      Currently hooked on AMP
    6. Re:Can we get.. by ckaminski · · Score: 3, Informative

      Last I checked, fibers were NOT useful for parallelism. They basically slave off of the thread that created them, and have to be cooperatively shared on that same thread of execution.

    7. Re:Can we get.. by Hurricane78 · · Score: 5, Informative

      Actually, that’s pretty easy to do with Linux right now.
      Just choose any ACPI button (you at least have a power button, often more), and in your /etc/acpi/ directory, modify the scripts so they call “cpufreq-set -f $freq” on the right events. (You may need a state file in your /var/state/ dir, to remember which mode you are in. But you can also toggle a keyboard led that you don’t use much.)

      And this is why I love Linux. If you can think of it, and it’s physically possible... you can do it. :)

      Next: Using the graphics ram that is unused while in 2D mode, as a fast swap/tmpfs/cache. ;)

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    8. Re:Can we get.. by Hurricane78 · · Score: 2, Interesting

      How about a small daemon that at intervals re-assigns the running processes to the cores in a balanced way (or one of your choice), and also sets the affinity for new processes. Should be about 30 minutes with any fast language of your choice that can call the appropriate commands.

      I think you could even do it with bash, although it would not be very resource-saving. (Hey, everything is a file even those settings! If not, then they did UNIX wrong. ;)

      Remember: You are using a computer. Not an appl(e)iance. You can automate whatever you wish yourselves. And usually pretty quickly too. :)

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    9. Re:Can we get.. by grcumb · · Score: 4, Funny

      Plus a straightforward way of figuring out how to best assign processes to particular cores? (which ones are faster and which are slower)

      Heh, trick question. You almost got me there.

      You see, Intel stack their cores from fastest to slowest in order to maximise heat dissipation. This is known as a High-Endian architecture. AMD, on the other hand, use a Low-Endian architecture, stacking their cores from slowest to fastest because they claim it lowers power usage. So the real trick when trying to figure out which cores are faster is finding a cross-platform approach that won't penalise any given processor.

      The Slaughterhouse-5[*] method says that with a non-randomised Tralfamadorean transform, you can infer where your sample data is going to end up before you actually send it there. So you just measure the incipient idiopathic latency of your unsent bytes and then apply a parsimonious lectern to the results and voilà!

      ... Why, yes, I am in Marketing. Why do you ask?

      ------------------
      [*] As developed by Billy Pilgrim. Po tee-weet

      --
      Crumb's Corollary: Never bring a knife to a bun fight.
    10. Re:Can we get.. by beelsebob · · Score: 2, Informative

      How about a small daemon that at intervals re-assigns the running processes to the cores in a balanced way (or one of your choice), and also sets the affinity for new processes. Should be about 30 minutes with any fast language of your choice that can call the appropriate commands.

      The linux scheduler doesn't do this? The OS X one certainly does, it also moves processes from core to core based on which one is getting hot.

  2. Huh? by Wyatt+Earp · · Score: 5, Insightful

    That read like the pasting of two press releases together. That did very little to explain what is going on beyond press grade buzz words.

    1. Re:Huh? by Darkness404 · · Score: 5, Informative

      Essentially they both just detect if other cores can be powered down, power them down and then crank up the clock speed on the single cores because heat/power doesn't matter if the other cores are turned off or in the low megahertz. AMD's solution is like an afterthought because their architecture is older than Intel's while Intel's was built in to the architecture.

      --
      Taxation is legalized theft, no more, no less.
    2. Re:Huh? by DeadboltX · · Score: 3, Informative

      The way I understand it (and I could be wrong) is that on a quad core 1.6ghz i7 each core is actually capable of going up to 2.8ghz, although I'm not sure if they are all capable of going to 2.8ghz at the same time. If you run a program that can't take advantage of more than 1 core, and it starts maxing out that core at 100%, the cpu will increase the clock speed of that core, up to 2.8ghz until it isn't maxed out anymore. In order to keep energy consumption and heat down the cpu will also lower the clock speeds of the other cores as needed.

      With older multi-core processors if you had a quad core 1.6ghz and you had a program that could only use 1 core then you would effectively just have a 1.6ghz processor, in which case a dual core 2.8ghz would be way better. With Turbo Boost you can essentially get the best of both worlds.

    3. Re:Huh? by oldhack · · Score: 4, Insightful

      The damn thing could (and should) have been two-paragraph memo - reads like it's written by a high school kid trying to fill up page quota. Oh well - the info, as shallow as it is, still is something I didn't know before.

      --
      Fuck systemd. Fuck Redhat. Fuck Soylent, too. Wait, scratch the last one.
    4. Re:Huh? by gparent · · Score: 2

      Performance information?
      Intel is better.
      Has been that way for many years now. Yes, it's more expensive.

    5. Re:Huh? by Gr8Apes · · Score: 4, Informative

      Intel is better.
      Has been that way for many years now. Yes, it's more expensive.

      Depends on your metrics. If the only thing that matters is pure raw speed out of a single die, Intel does eek out on top, but not by as much as you'd think.

      If you're going for massive multi-processor, multi-core systems, it's AMD.

      If it's power vs performance out of a single die, then it depends - idle or full throttle. Intel for the former, AMD for the latter, depending upon weighting.

      and so on. At least as of the last set of performance benchmarks I read just a few months ago on the topic, meaning they're probably completely out of date by now.

      --
      The cesspool just got a check and balance.
    6. Re:Huh? by Athanasius · · Score: 2, Informative

      This might make things a little clearer for the Intel case. Certainly it gives more detail about how it works (for one thing it's not just a "base speed or Turbo speed" thing, there are multiple boost steps depending on the exact situation).

    7. Re:Huh? by AntiDragon · · Score: 2, Informative

      Performance on it's own isn't meaningful for everyone. If I'm setting up a server or better yet a data center, performance against cost has to be considered. And that's not just the cost of the hardware but also things like MTBF and power costs.

      I'm not implying that one is better than the other here, but a raw performance comparisson between like-for-like processors is not enough information to make spending decsion with. It may be better value to buy the system with poor performance and spend the savings elsewhere for example.

      --
      "...So I hung back and lurked. For 18 months. Can't beat a good old-fashioned lurking."
  3. PS. by sznupi · · Score: 3, Interesting

    For that matter, can we have one more thing: a way to limit max core usage to, say, 10% (imagine you're playing an old game on a laptop, for example Diablo2; now, many games have the unfortunate habit of consuming all available CPU power...whether they need to or not; taking battery with them)

    --
    One that hath name thou can not otter
    1. Re:PS. by icebraining · · Score: 4, Informative

      aptitude install cpulimit

    2. Re:PS. by bhtooefr · · Score: 2, Informative

      It's called SpeedStep. (OK, it doesn't reduce the CPU usage, but it reduces the CPU clock speed, which is more effective.)

    3. Re:PS. by sznupi · · Score: 2, Insightful

      Yes, one can force SpeedStep setting - but the game would still be consuming all available power, preventing the CPU from going to pseudo sleep states (which is even more effective)

      --
      One that hath name thou can not otter
    4. Re:PS. by fedcb22 · · Score: 2, Insightful

      Really? I always thought that going to a lower voltage mode was much more effective than C1/C2/C3. That's why SpeedSted is used, against normal CPU throttling.

    5. Re:PS. by Animaether · · Score: 2, Informative

      In the off chance that you're running on Windows;
      http://mion.faireal.net/BES/
      ( ugly UI, does the job )

    6. Re:PS. by sznupi · · Score: 2, Interesting

      What do you mean "that's why SpeedStep is used, against normal CPU throttling"? SpeedStep is CPU throttling; but on top of that C-states are also highly effective, or at least Thinkpad Wiki thinks so, and I see no reason to disbelieve them...

      --
      One that hath name thou can not otter
  4. "Apparent performance" by macshome · · Score: 4, Insightful

    What's "apparent performance"? It's either faster or it's not.

    1. Re:"Apparent performance" by asdf7890 · · Score: 3, Insightful

      What's "apparent performance"? It's either faster or it's not.

      You have obviously never worked in UI design! (though in this area I don't know who/what they would be trying to fool or how they would be trying to fool them/it so your response is probably quite right)

    2. Re:"Apparent performance" by phantomcircuit · · Score: 4, Insightful

      Many programs simply do not benefit from multiple cores. This technology is basically a trade off between partially disabling one core and increasing the frequency of the other core.

    3. Re:"Apparent performance" by pwnies · · Score: 4, Interesting

      Not necessarily. If they're overclocking a single core, while underclocking the rest, it may all balance out to have an average core speed that's less than what it was. However, in doing this it may actually increase performance if there is a single app that requires a lot of CPU time (and isn't threaded). In reality the total speed of the computer is being reduced, while the performance as viewed by the user is increasing.

  5. A better explanation by Sycraft-fu · · Score: 5, Informative

    The article kinda glosses over things. So a more detailed explanation of how Intel's turbo boost works:

    As stated, every core has a budget for the maximum heat it can give off, and the maximum power it can use, as well as a max clock speed that it can handle. However, when you look at these things, they aren't all even, one ends up being the limiting factor. So Intel said, ok, we design a chip to always run at a given speed and stay under the thermal and power envelopes. However, if it isn't running at that, we allow for speed increases. It can increase the speed of cores in 133MHz increments. If things go over, it throttles it back down again.

    This can be done no matter how many cores are active, but the less that are active the more it is likely to be able to be. On desktop cores, it isn't a big deal since they usually run fairly near their speed limit anyhow. So you pay see only 1 or 2 max 133MHz increments that can happen. For laptop cores, in particular quad cores, it can be a lot more.

    The Intel i7-720QM runs at 1.6GHz and has 1/1/6/9 turbo boost multipliers. That means with all 4 cores running, it can clock up at most 1 increment, to 1.73GHz. However with only one running, it can go to 2.8GHz, 9 133MHz clocks up. It allows for a processor that would be too fast to reside in the laptop to go in there with some flexibility. A desktop Core i7-930 is 2.8GHz with 1/1/1/2 turbo mode. That means it'll clock up to 2.93GHz with 2-4 cores active, and 3GHz with 1. Much less flexible, since it is already running near it's rated max clock speed.

    Now this is not the same as speed step, which is their technology to down clock the CPUs when they aren't in so much use. Similar idea, but purse based on how hard the CPU is being asked to work, not based on if the system can handle the higher speeds.

    As an aside, I'll call BS on the "Little uses multiple cores." Games these days are heavily going at least dual core, some even more. Reason is, if nothing else, the consoles are that way too. The Xbox 360 has 3 cores, 2 threads each. The PS3 has a weak CPU attached to 7 powerful SPUs. On a platform like that, you learn to do parallel or your games don't look as good. Same knowledge translates to the PC.

    However there are still single core things, hence the turbo boost thing can be real useful. In laptops this is particularly the case. If the i7 quad was limited to 1.6GHz, few people would want it over one of the duals that can be 2.53GHz or more. Just too much loss in MHz to be worth it. However now, it can be the best of all worlds. A slower quad, a faster dual, whatever the apps call for, it handles.

    1. Re:A better explanation by juuri · · Score: 2

      What I find interesting is that the current OS most people use, with the exception of
      some RealTime and big iron custom dealies are still built in such a monolithic way that
      it becomes more "profitable" to the user experience to still ramp up single cores as
      opposed to having most cores running at the same speed.

      With the exception of some high demand apps like games, extensive math apps,
      and stuff that could or should be offloaded to GPUs desktop OS don't need a VERY
      fast single core, they instead need lots of equal cores with fast context switch times
      coming from the OS.

      For example the fastest core in Win7/OSX for a desktop should be the one handling
      the UI but it doesn't need to be THAT much faster than anything else. Instead all the
      tiny little apps need to be sent around to as many different cores as possible when
      they aren't multithreaded... unfortunately none of the current schedulers are that great
      at this in consumer land. Even worse the kernels can have so much locked in that
      you end up with lots of things stuck on a single core that could exist elsewhere.

      Such a shame that true mach never got the switch times down because of the
      huge separation in "drivers" or "kernel features". QNX definitely got this right,
      but they never took multicores seriously, perhaps it is a much harder problem than
      I am assuming.

      --
      --- I do not moderate.
    2. Re:A better explanation by DMalic · · Score: 4, Informative

      The third core gives a significant performance benefit over two cores, especially since many games were originally designed for consoles and are badly ported to PCs. Unoptimized performance hogs like Grand Theft Auto demand more cores (and can use them). Just today I saw an article on Anandtech describing significant, unexpected benefits from a slower quad core over a newer, faster dual-core in gaming. http://www.anandtech.com/show/3695/the-clarkdale-experiment-mea-culpa

    3. Re:A better explanation by petermgreen · · Score: 2, Insightful

      I'd say games qualify for "little uses". Believe it or not, most people don't use their computers for high end gaming.
      Afaict most people don't use their computers for anything that strains the CPU at all. Most people would be perfectly happy with a bottom of the range C2D, i3, late P4 or maybe even less as long as the system was kept free of crapware and had enough ram for their OS and applications of choice.

      However of those apps that DO strain the CPU (e.g. games, video encoding, scientific software, software build systems) a lot do now have the ability to use multiple cores.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
  6. Why not use the extra transistors... by John+Hasler · · Score: 2, Interesting

    ...for more cache instead of more processors? Think of something with as many transistors as a hex core but with only two cores and the rest used for L1 cache! I'd suggest lots more registers as well, but that would mean giving up on x86.

    --
    Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
    1. Re:Why not use the extra transistors... by glsunder · · Score: 4, Interesting

      Larger caches are slower. Moving to a larger L1 cache would either require that the chip run at a lower clock rate, or increase the latency (increasing the length of time it takes to retrieve the data).

      As for registers, they did increase them, from 8 to 16 with x64. IIRC, AMD stated that moving to 16 registers gave 80% of the performance increase they would have gained by moving to 32 registers.

    2. Re:Why not use the extra transistors... by sznupi · · Score: 2, Interesting

      PII is also of the PPro lineage. And even if PII, PIII and to some degree P-M and Core1 aren't that different, there are supposed to be some notable changes with Core2 and, especially, Nehalem.

      Besides, if the tech is good and it works... (look what happened when they tried "innovating" with PIV)

      --
      One that hath name thou can not otter
    3. Re:Why not use the extra transistors... by DMalic · · Score: 2, Interesting

      It's more like a series of improvements on that model. It works really well, though. Cache doesn't seem to help performance as much as you'd think it would, though. There are some core2 cpus described as "pentium dual core" with a fraction of the cache which perform almost as well.

    4. Re:Why not use the extra transistors... by petermgreen · · Score: 2, Insightful

      L1 and sometimes L2 caches are small not because of die area but because there is a tradeoff between cache size and cache speed. Only the lowest level cache (L3 on the i series) takes significant chip area (and it already takes a pretty large proportion on both the quad and hex core chips).

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
  7. Re:Cooling fan noise anyone? by washu_k · · Score: 5, Informative

    There are a multitude of aftermarket CPU coolers which are much quieter than the stock ones from Intel or AMD. Some chips can even be run passive with the right heatsink. Take a look at the reviews on http://www.silentpcreview.com/

  8. Turbo button comming back? by TavisJohn · · Score: 2, Funny

    So they are bringing the Turbo Button back?

    Seriously, When I was looking at laptops, 2 laptops that were pretty much the same in specks, one had a "Turbo" CPU the other's CPU was the speed of the "Boosted" one next to it...
    The price difference... $20.00!!! I'll pay an extra $20 to have FULL SPEED ALL THE TIME!

  9. Why? by Bootarn · · Score: 2, Insightful

    Why this compromise? There's a huge need for developers to start thinking in terms of multicore CPUs. Offering them this solution is just postponing the inevitable. We need change now.

    1. Re:Why? by Shikaku · · Score: 4, Insightful

      Because it's a pain in the ass and very hard for most coders.

      What we need is either a simple library for threading or a new language (like haskell) for auto-parallelization

    2. Re:Why? by Anonymous Coward · · Score: 2, Insightful

      And more importantly, not all tasks CAN be parallelized.

  10. Re:Cooling fan noise anyone? by ozbird · · Score: 2, Interesting

    Do both.

    I bought an Intel i7-860 recently and the supplied HSF is barely able to keep the core temperatures under 95 deg. C with eight threads of Prime95 running. Eek!! I replaced it with a cheap Hyper TX3 cooler (larger coolers won't fit with four DIMMs fitted), and it run at least 20 degrees C cooler under the same conditions. The supplied fan is a little noisy under full load, but for gaming etc. it's not a problem.

    Turbo Boost is cute, but I've opted to overclock it at a constant 3.33GHz (up from 2.8GHz) instead for predictable performance, with no temperature or stability issues. YMMV.

  11. Re:Question... by John+Hasler · · Score: 2, Insightful

    > I've also been wondering why, given the new poly-core systems, we
    > don't see a mix of CPU types in a system.

    How would the OS decide which process to assign to which core?

    --
    Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
  12. In layman's terms by digitalhermit · · Score: 4, Funny

    Just wanted to clarify some of the misconceptions about the Turbo Boost...

    The technology is fairly simple. At it's most level, we take the exhaust from the CPU fan and route it back into the intake of the system. If you're using Linux you can see the RPM increase by running 'top' (google Linux RPM for more information).

    The turbo itself is a fairly simple technology. As you're aware, we can use pipes to stream the outputs of different applications together. In the case of Linux, we pipe the stdout stream to the stdin (the intake) of the turbo (tr) which increases the speed and feeds it into a different application. For example, we can increase the throughput of dd as follows:

            dd if=/dev/zero | tr rpm | tee /proc/cpuinfo

    This will increase the CPU speed by feeding output from dd into the turbo (and increasing the rpm) and finally pumping it back into the CPU.

    On other platforms there are some proprietary solutions. For example, take the output of Adobe AIR to HyperV to PCSpeedup! then back into the processor.

    Hope this helps...

  13. Re:"Your next build" - who builds PCs anymore? by 0123456 · · Score: 4, Insightful

    For $300 you can get a brand new Dell - who builds a PC anymore?

    Someone who wants something better than a $300 Dell?

  14. Re:Cooling fan noise anyone? by SanityInAnarchy · · Score: 4, Interesting

    predictable performance

    Predictable power-drain, you mean, and a predictable shortening of the life of your hardware -- assuming it doesn't just overheat and underclock itself, which I've seen happen a few times.

    CPU scaling has been mature for awhile now, and it's implemented in hardware. Can you give me any real examples of it causing a problem? The instant I need that speed (for gaming, etc), it's there. The rest of the time, I'd much rather it coast at 800 mhz all around, especially on a laptop.

    with no temperature or stability issues. YMMV.

    Understatement of the year.

    Overclocking is a bit of a black art, for a number of reasons. First problem: How do you know it's stable? Or rather, when things start to go wrong, how do you know if it's a software or a hardware issue? The last time I did this was a 1.8 ghz machine to 2.7. I ran superpi, 3dmark, and a number of other things, and it seemed stable, but occasionally crashed. Clocked it back to 2.4, it crashed less often, but there were occasionally subtle filesystem corruption issues -- which was much worse, because I had absolutely no indication anything was wrong (over months of use) until I found my data corrupted for no apparent reason. Finally set it back to the factory default (and turned on the scaling) and it's been solid ever since.

    Second problem: Even with the same chip, it varies a lot. All that testing I did is nothing compared to how the manufacturer actually tests the chip -- but they only test what they're actually selling. That means if they're selling you a dual-core chip that's really a quad-core chip with two cores disabled, it might just be surplus, the extra cores might be fine, but they haven't tested them. Or maybe they have, and that's why they sold it as a dual-core instead of quad-core.

    So even if you follow a guide to the letter, it's not guaranteed.

    I'm sure you already know all of the above, but I'm at the point in my life where, even as a starving college student, even as a Linux user on a Dvorak keyboard, it's much saner for me to simply buy a faster CPU, rather than trying to overclock it myself.

    --
    Don't thank God, thank a doctor!
  15. Re:Question... by TheSHAD0W · · Score: 2, Funny

    How about, every app that runs in the background or as a tray icon by default gets a cheesy core? :-P

  16. Because Intel knows their history by Animats · · Score: 3, Interesting

    When Intel came out with the Pentium Pro, they had a good 32-bit machine, and it ran UNIX and NT, in 32-bit mode, just fine. People bitched about its poor performance on 16-bit code; Intel had assumed that 16-bit code would have been replaced by 1995.

    Intel hasn't made that mistake again. They test heavily against obsolete software.

  17. correct me if i'm wrong, but by yanyan · · Score: 3, Interesting

    Correct me if i'm wrong, and maybe i'm missing something here, but i think it's possible to simulate this kind of functionality on Linux with a script. Cores 2 to N are taken offline (echo 0 > /sys/devices/system/cpu/cpu/offline), the "performance" governor is used for cpu0 (which causes it to run at full clock), then the script monitors usage of cpu0 and brings the other cores online as load on cpu0 goes up. When load goes down then the other cores can be taken offline again.