How Windows Vista drags Core i7 down
4th Nov 2008 | 11:30
Core i7's problem with Vista's thread management
At first glance, the combination of HyperThreading and Turbo Mode on the Core i7 processor looks like a winner. One ups the chip's multi-threading ante to frankly ludicrous levels, the other gives a helping hand to clunky old apps that haven't been coded to take advantage of modern multi-core CPUs.
It's thoroughly ironic, therefore, to find that both appear to have something of a falling out with Windows Vista's thread management routines. Before we go any further, we should highlight that these issues are still under investigation, so watch this space.
Anyhow, during our Core i7 testing, we noticed some extremely odd behaviour in Task Manager. When running a single-threaded application, our 64-bit build of Vista was constantly shunting it from one core to another. The same is true when running two separate single-threaded applications at the same time. Vista continually juggles the threads among the available cores.
Big deal? Actually, it is. The problem with regard to HyperThreading is that Vista cannot tell the difference between a real physical core and a virtual core created by HyperThreading. Hence, as far as Vista is concerned, a system running the quad-core Core i7 looks like it has eight 'logicalCPUs', each of them equal.
10 per cent performance hit
As the two threads dance among the available logical CPUs, occasionally they both land on the same physical core. That's not what you want for maximum performance. HyperThreading may be a handy feature, but you will still get more performance when running two software threads on two separate cores than one dual-threaded core.
In our initial testing, it appears this occasional overlap of threads on the same core hits performance to the tune of approximately 10 per cent compared with running the same load with HyperThreading disabled. Not a massive hit, but definitely a bit of a bummer.
The way Turbo Mode and Vista's thread management interact is even more of a conundrum. With all the thread shunting going on, it's awfully difficult to track whether Turbo Mode is overclocking individual cores as Intel claims it does. Core i7 is a new architecture, so many of the observational software tools we use do not support it.
Similarly, we're not sure we fully trust the ones that do, such as CPU-Z, just yet. Along with the question marks surrounding HyperThreading and Vista's thread management, we're working with Intel to get to the bottom of exactly how Turbo Mode really behaves.