Desktop multiprocessing: Not so fast

Not every application can be reprogrammed for multicore architectures, and some bottlenecks will always remain. Here's why.

1 2 3 4 5 Page 3
Page 3 of 5

In general, consumer operating systems "don't do anything very smart" with multiple cores, says Jim Turley, head analyst with Silicon Insider, a consulting service and newsletter in Pacific Grove, Calif. Vista is "reasonably aware" of multiple cores, and is "fairly smart about dividing up background tasks and foreground tasks." Vista can run games on one or two cores while housekeeping tasks run the other cores.

Rob Enderle, principal at the Enderle Group in San Jose, Calif., says that Windows 7 does an even better job of it. "Windows 7 is designed to use as many cores as the machine has, and will partition an application among the multiple cores -- but that does not give as much benefit as if the application used the cores directly."

Windows 7 has an alternative mechanism called User Mode Scheduling (UMS), which lets thread multiplexing onto cores take place within the application itself instead of in the kernel. Multiplexing of threads is the process of deciding which thread is executed next. Handling this multiplexing within the application instead of in the operating system kernel "makes thread scheduling more efficient," Smith says.

A Microsoft blog link he supplied indicates that programmer access to UMS is possible through Visual Studio 2010, currently in beta, and involves use of the operating system's Concurrency Runtime facility. Windows 7 will also be able to use 256 cores, arranged in four groups of 64.

Meanwhile, most applications will run on only one core, "so you get the benefit of having multiple cores only when running multiple applications," Enderle says. Virus checkers and utilities that run in the background "tend to not visibly drag down your machine, whereas on a single-core processor they definitely do," he says. Two cores seem to be optimum and a third "gives you headroom." When watching the performance meter in Windows "you can light up two cores really easily, three occasionally and four hardly ever. Four cores are for video games, heavily threaded applications or DNA analysis."

Some Intel processors additionally offer a form of on-chip dual processing, called Hyper-Threading Technology, where each core can run two threads in parallel, so the software sees twice as many cores as there really are. It is not as good as having two separate cores, and the boost you get varies greatly, but most people get a 20% to 30% boost through Hyper-Threading, according to George Alfs, an Intel spokesman.

Enderle notes that the Windows performance meter displays each core with Hyper-Threading as if it were two cores.

1 2 3 4 5 Page 3
Page 3 of 5
7 inconvenient truths about the hybrid work trend
Shop Tech Products at Amazon