What the hell is Hyper-Threading?
More bangs per buck, maybe
Server Briefing Announced last autumn, Intel's Hyper-Threading technology has finally made it to market, courtesy of the latest Xeon processors. Hyper-Threading is a clever way of making a single chip operate like two separate devices without implementing two cores on one die. That, claims Intel, makes for higher performance without having to resort to significantly larger chips or even adding a second processor to the system.
So how does it work? HT is Intel's implementation of a technique known as Simultaneous Multi-Threading (SMT), a technology originally mooted for the cancelled EV8 Alpha processor. It's also going to be implented in IBM's Power5 processor, due 2004. Programmers have long known that some applications will run more efficiently if they're coded into a series parallel tasks, called threads. Modern multi-processing operating systems can then schedule those threads to operate on each of a system's two or more CPUs, just as it schedules the applications and other processes themselves.
Intel's technology essentially fools the operating system into thinking it's hooked up to two processors, allowing two threads to be run in parallel, both on separate 'logical' processors within the same physical processor. The OS sees double through a mix of shared, replicated and partitioned chip resources, such as registers, maths units and cache memory.
According to Intel, less that five per cent of the Xeon's die area is taken up the SMT-enabling circuitry, primarily because most of the functionality is provided by chip components that would otherwise be standing idle. The chip maker estimates that a single instruction thread only uses around 35 per cent of a processor's available resources. Running a second thread allows those otherwise idle circuits to be do some work.
So if one thread is busily hacking away at a list of integer values, the floating-point units are free to crunch numbers for a second thread. Such a smooth division of labour is uncommon, alas, so the best HT can do is increase certain applications' performance by up to 30 per cent, according to Intel, though it admits the average gain is more like 10-20 per cent.
That clearly isn't going to allow a single Xeon MP to match the performance of a HT-less multi-processor rig, but it does provide a significant boost. Equally, there's a small performance hit when the OS switches from one thread to two, but these events occur infrequently, Intel claims, and the pipeline is cleared in far less time than it takes the OS to manage the switch.
And whatever performance increase HT brings, it does so at almost no impact on power consumption and heat generation, Intel claims.
The bottom line, then, is Xeon's delivers more bangs per buck. Of course, server owners will need an HT-aware operating system - Windows XP for certain and possibly Linux by now - and applications recompiled to avoid some performance-sapping pitfalls. Presumably that's one reason why Intel hasn't made as much of HT as it might have done.
Another reason is that HT undermines Intel's reliance on clock frequency as the be-all and end-all of processor performance. HT clearly shows that you can boost processing speed without increasingly clock frequency, which is, of course, AMD's argument. ®