Evaluation of the Intel® Core™ i7 Turbo Boost feature
The Intel® Core™ i7 processor, code named Nehalem, has a novel feature called Turbo Boost which dynamically varies the frequencies of the processor’s cores. The frequency of a core is determined by core temperature, the number of active cores, the estimated power and the estimated current consumption.
We performed an extensive analysis of the Turbo Boost technology and characterized its behavior in varying workload conditions. In particular, we analyzed how the activation of Turbo Boost was affected by inherent properties of applications (i.e., their rate of memory accesses) and by the overall load imposed on the processor. Furthermore, we analyzed the capability of Turbo Boost to mitigate Amdahl’s law by accelerating sequential phases of parallel applications. Finally, we estimated the impact of the Turbo Boost technology on the overall energy consumption.
We found that Turbo Boost provided (on average) up to a 6% reduction in execution time but also resulted in an increase in energy consumption up to 16%. Our results also indicated that Turbo Boost set the processor to operate at maximum frequency (where it has the potential to provide the maximum gain in performance) when the mapping of threads to hardware contexts is sub-optimal.
In the paper we further explore these ideas, explaining the testing methodology. For example, we tested the Core i7 using a single benchmark (isolation tests), using a pair of benchmarks (paired tests) where a the benchmarks are either assigned to the same core or to different cores, using 8 benchmarks (saturation tests, one for each logical core), and finally, using a multithreaded workload.
The most interesting thing about the Core i7 was the responsiveness to sequential sections in the multithreaded workload. Amdhal's law states that these sequential sections are the single greatest bottleneck for multithreaded workloads. Previous papers have theoretically proposed asymmetrical processors such that when a multithreaded application approaches a sequential phase, it is assigned to a single fast core instead of being assigned to several smaller slower cores. The Core i7 was extremely responsive to the sequential sections and increased the frequency of the core that was running the sequential section.
We were hoping that idle cores would spend more time at the lowest possible frequency, and thus save power, but this wasn't the case. While Turbo Boost does provide some performance gains (about 6%), it consumes a lot of energy. Hopefully, the next generation processor will have a more intelligent frequency scaling algorithm!
To find out more, and look at some pretty pictures, read the paper!.