machine balance in turboboost

machine balance in turboboost

Black.S's picture

Hi all
May be a stupid question, but
Please tell me. With increasing cores frequency in turboboost mode the Uncore (or may be memory controller or simple memory bandwidth) increases too ?
In other words, the balance between performance CPU and memory subsystem bandwidth worsening or scaling with core frequency ?

if scaled then due to what?

Thanks for your time
12 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.
Tim Prince's picture

Not a stupid question, but the turbo boost is implemented as a change in the clock speed multiplier and doesn't directly impact memory performance.  So, turbo boost is likely to be disabled where performance is memory limited and one doesn't wish to waste power.  On the other hand, turbo boost could save power in the long run by allowing short bursts of enhanced single thread performance but cutting back on idle power consumption.

You may have independent control over RAM clock speed in your BIOS setup, which usually defaults to an auto setting which picks the best all-around clock speed for the installed RAM, and this doesn't change with turbo boost.

Black.S's picture

thanks for the interesting answer.

Long wanted to clarify for ourselves this question

iliyapolak's picture

I think that TurboBoost internal implementation(hardware and microcode level) can use performance counters data to monitor some thread performance and probably when thread is not memory bound and it is cpu bound in such a case TurboBoost can increase the CPU frequency for short period of time.

Black.S's picture

it is clear, however, CPU bound applications in real life probably no more than applications suitable for accelerators (fine grained parallelism)

In my opinion the bulk of the applications is memory bound

Tim Prince's picture

For parallel applications, at least partially memory bound performance is expected, as we can add CPU parallelism less expensively than memory parallelism.

John D. McCalpin's picture

The details of how the uncore behaves under Turbo boost is product-dependent.   

On my Xeon E5-2680 processors I ran a variety of tests to measure the uncore frequency as a function of the frequency of the cores.  From these tests, it appears that the frequency of the uncore is set to match the frequency of the fastest core, except that the uncore only runs at Turbo frequencies when *all* of the cores are running at the maximum Turbo frequency.

The DRAM frequency is not changed in any of these cases, but the memory throughput decreases as the uncore frequency decreases.

On the other hand, I don't see a significant decrease in memory throughput on my Xeon E3-1270 processors as I decrease the CPU core frequencies.  My current interpretation is that the uncore frequency remains fixed on that processor when I change the core frequencies (though I have not checked this explicitly).

John D. McCalpin, PhD "Dr. Bandwidth"
Black.S's picture
ie the balance between memory performance and CPU performance nevertheless scales with increasing frequency at turboboost ?
iliyapolak's picture

>>> thread is not memory bound and it is cpu bound in such a case >>>

It should have been written that application performance scales lineary with the CPU frequency increment.

Black.S's picture

its clear

Black.S's picture

interesting case then application is memory bound or mixture of cpu and memory bound.

iliyapolak's picture

For example using objects as primitive data types and perform simple mathematical calculation on them ,then such program will spend more time on dereferencing pointers to objects and walking heap allocated objects than performing math computatons.

Login to leave a comment.