Hyperthreading (aka Symmetrical multithreading - SMT) is Intel's latest (circa 2002 or so) attempt to use more transistors productively to do more work with one computing chip. Previous steps in this direction have included instruction optimization, multiple instruction execution units, out of sequence instruction execution, and speculative execution of instructions. Hyperthreading allows simultaneous execution of several program threads in the same CPU. Dual thread SMT is already used in the Pentium 4 Xeon. SMT will be incorporated in future mainstream CPUs.

As with multiprocessing, to get substantial benefits from hyperthreading, applications must be coded to use multiple threads. That is often neither easy nor even possible.

SMT/hyperthreading allow the CPU to operate fully autonomous instruction schemes simultaneously. This prevents situations where the program running is not using resources and a waiting program could use them. It also cuts down on task switching overhead as task context for several tasks is stored in CPU registers.

On October 2002, Intel released several 845/850 chipsets supporting hyperthreading. Intel claims that hyperthreading CPUs used in conjunction with these chipsets will exhibit up to 25% improvement in workstation performance, 30% improvement in server performance. In the past, Intel's performance projections have often been optimistic. It has been reported that in practice results from hyperthreading are mixed with improvment in some cases and small decreases in performance in other cases.


Return To Index Copyright 1994-2002 by Donald Kenney.