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."

28 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 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.

    3. 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.
    4. 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.

    5. 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.
    6. 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.
  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 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.
  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

  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 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

  6. 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/

  7. 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.

  8. 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

  9. 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...

  10. 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?

  11. 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!
  12. 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.

  13. 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.