AMD's TurboCore or Intel's TurboBoost

AMD's Turbo Core (TurboCore) and Intel's Turbo Boost (TurboBoost) are essentially frequency scaling in reverse. It increases the frequency and voltage of a select group of cores if only a few are in use. This allows it to 'overclock' a few active cores. If all were clocked that high, at that power, then the CPU/chip would overhead. So, this is their solution to squeeze a little more performance out of many recent AMD and Intel CPUs.

Advantages

The advantage is you have a few cores that are operating at a higher frequency under certain circumstances. Specifically, those circumstances would be approximately 30-50% CPU use, sustained for any benefit. Above that and more cores are sure to be involved, and so it would turn off. Below that, it might kick in, but it may not matter much.

Disadvantages

The worst disadvantage at this time is that the Windows CPU scheduler (up to latest - 7/2008R2) is not aware of processors (cores) that may be clocked at a higher frequency, with either technology (as far as we know and have seen as of 12/3/2011). It therefore will haphazardly throw a thread's next time slice onto which core it chooses. Due to core thrashing, it may make some attempt to keep that thread on that CPU, but the thread can be swapped around every time slice if the scheduler decides. Therefore, there is no guarantee that the active thread(s) will be executing on up-clocked processor(s).

Optimizations

Therefore, using software like Process Lasso can help you to set default (sticky/permanent) CPU affinities on processes (applications) you know only use a maximum of X active threads. While an application may have 10 threads, it could be that only 1 does any real work, so do not let the total thread count confuse you. For those processes, you can be sure that their threads are limited to a subset of available cores, all of which can be overclocked by AMD's TurboCore or Intel's TurboBoost if properly configured (with not too many cores selected).

Warning to Overclockers

Since many enthusiast like to take the risky action of overclocking their PC a bit, we should warn you that you should turn off these technologies before doing any over-clocking. For those who do take this risk of overclocking your system, it is generally better if you overclock as far as you can without this feature enabled at all. Enabling this function would limit your range as stability tests would fail due to the up-clocked cores. Given that the Windows scheduler is not aware of these technologies, that is yet another reason to go farther by turning it off. Make all cores execute at the maximum frequency, while achieving stability and safety. Be *sure* to run stability tests, as you'd be surprised as how well a PC can act, but have hidden surprises during high loads that will get you in trouble later down the road.

UPDATE - 01-12-2012

Somewhat related -- As of Jan 2012 Microsoft has released an update for the Windows 7 and 2008/R2 scheduler that views the new AMD Bulldozer platform as having 1/2 real CPUs, and 1/2 'fake' hyper-threaded CPUs. This helps to try to put the workload onto every other processor, an important thing for two reasons. One, TurboCore will be more likely to kick in. Two, the design of AMD Bulldozer is such that there are 2 pairs of cores that share an L2 cache, FPU, and other items. Thus, they are not fully independent, and you certainly want to back-fill utilization of them after the first core of each module is saturated. Don't worry, if full computing power is needed, all cores get used -- this just helps them perform better in 'lightly threaded' situations.

Patches for Windows 7 / 2008 R2:
http://support.microsoft.com/kb/2645594
http://support.microsoft.com/kb/2646060

DRAFT

This article is part of a collection of information available at Bitsum Technologies as part of our Process Lasso software. These articles attempt to be hybrid type documents easily understood by laymen, yet with enough technical specifics included for peer review.

Get Process Lasso to experience the benefits of automated process priority adjustment and more.

Application vs. Process

An Application may consist of one or more processes. Most consist of a single process, with ancillary processes for installation and uninstallation. However, some more complex applications may have many processes running on the system. For example, security software often has multiple processes to monitor various aspects of the system and perform other tasks.

Process vs. Thread

A Process is simply a collection of Threads. The CPU Scheduler (the part of the OS that doles out tasks to the CPU) of Windows only sees threads. A process is just a higher level abstraction to group these threads together into a common unit.

Reminder about what CPU % use is

I want to remind people that CPU utilization occurs in micro-bursts, and the % use per second is not a perfect representation of how fast or slow a CPU is. That is to say, just because that metric shows only 75% of a CPU consumed, that doesn't mean that you had an 'extra' 25% laying around. The speed at which that 75% was executed matters too. At best this metric gives you some idea of how CPU intensive your operations are.

NO gimmicks!