HyperThreading Threads Its Way into Application

Advantages

Intel claims threading an application can result in increased performance on a uni-processor machine or for a multi-processor application. Threads can make a GUI more responsive. They can also facilitate the overlap of I/ O and computation. If multiple processors are available, threaded applications may see substantial speedup.

Disadvantages

Threading an existing serial application increases the complexity of the application, Intel says. Sharing of resources, such as global data, can introduce common parallel programming errors such as storage conflicts and other race conditions. Debugging such problems is difficult as they are non-deterministic, and introducing debugging probes, such as print statements, can mask these errors.

Intel's HT Patent Pool

HT has been an application-specific technology since its inception. In fact, a patent obtained by Tom's Hardware Guide and filed by Intel lists and describes a wide range of applications the company may have in mind for the future based on HT and processor parallelism. In "Fast Write Instruction for Micro Engine Used in Multithreaded Parallel Processor Architecture," with Intel as the assigned party and Donald Hooper of Shrewsbury, Mass., as the inventor, the text outlines a series of HT applications that fall under several umbrellas: networking, multimedia, and storage subsystem applications.

The patent details, for example, how a multi-threaded processor can interface to media access controllers (MACs) such as Gigabit Ethernet devices. While the patent does not quantify the performance boosts, the document describes how a multithreaded network processor can interface to several different types of communication devices and switch and route large amounts of data. A router in the scenario described in the patent receives data packets from two Gigabit speed data pipes and while each network packet is independently processed. In other words, only one network processor would be required to do the job of two (you wonder why Intel would tout this application as it has a lot vested in its network processor business). In storage subsystems, such as in Redundant Array of Independent Disk (RAID) storage, the patent describes how HT programs would enable disk drives to employ two or more drives for fault tolerance and performance in parallel. This would be handy in the securities industry, for example, as electronic trading requires the use of electronic matching engines to match orders between buyers and sellers, the patent's text maintains.

A hand drawn diagram in Intel's original HT patent, filed in March 2001.

Because HT-enabled processors and HT compilers have been released only recently, this patent portends the grand ambitions Intel may have in store for HT. The company has employed its usual marketing muscle and practices behind HT-enabled Pentium 4s and, prior to that, its Xeon server processors. But taken to its logical conclusion and with its new line of compilers for most standard programming languages and Windows and Linux OSs, Intel will likely seek to apply the breadth of its HT technology as described in the patent. Look for Intel to continue to muscle its way into non-PC sectors in communications and storage.