Hyper-Threading Technology: Impact on Compute-Intensive Workloads

 

Intel’s recently introduced Hyper-Threading Technology

promises to increase application- and system-level

performance through increased utilization of processor

resources. It achieves this goal by allowing the

processor to simultaneously maintain the context of

multiple instruction streams and execute multiple

instruction streams or threads. These multiple streams

afford the processor added flexibility in internal

scheduling, lowering the impact of external data latency,

raising utilization of internal resources, and increasing

overall performance.

We compare the performance of an Intelâ XeonÔ

processor enabled with Hyper-Threading Technology to

that of a dual Xeon processor that does not have Hyper-

Threading Technology on a range of compute-intensive,

data-parallel applications threaded with OpenMP1. The

applications include both real-world codes and handcoded

“kernels” that illustrate performance

characteristics of Hyper-Threading Technology.

The results demonstrate that, in addition to functionally

decomposed applications, the technology is effective for many data-parallel applications. Using hardware

performance counters, we identify some characteristics

of applications that make them especially promising

candidates for high performance on threaded processors.

Finally, we explore some of the issues involved in

threading codes to exploit Hyper-Threading Technology,

including a brief survey of both existing and still-needed

tools to support multi-threaded software development.

Download (51.91 KB)