ZDNet UK


Skip to Main Content

ZDNet.co.uk - Winner of Best Business Website 2007
  1. Home
  2. News
  3. Blogs
  4. Reviews
  5. Jobs
  6. Resources
  7. Community
  8. My ZDNet

 

ZDNet UK RSS Feeds


Server platforms Toolkit

Hyper-threading without the hype

Rupert Goodwins ZDNet.co.uk

Published: 01 Oct 2002 16:23 BST

  • Email
  • Trackback
  • Clip Link
  • Print friendly
  • Post Comment

What is a thread?

A thread in programming terms is the flow of control within a program, the path taken through the instructions -- a bit like the sequence of thoughts you have when working something out. It's analogous to the thread we lose when our concentration lapses. Most software is single-threaded, but multithreaded programs can make use of multiple processor chips to run two things at once.

What is Hyper-threading?

Hyper-threading is Intel's name for a feature where a single processor can simultaneously run two threads. It's been built into the Pentium 4 since the start, but until recently only enabled for some Xeon chips. With all Pentium 4s from 3GHz speeds upwards, hyper-threading is enabled -- but you can turn it off in your computer BIOS.

A modern processor is made up of many sub-units -- specialised areas that cope with mathematics, program control, data transfer, logical decisions and so on. Intel realised that most of these were mostly idle, because a single thread only uses two or three of these at any one time. Some sub-units were always used, however. The Intel designers duplicated these, so each thread was guaranteed its own essential components, and arranged for the chip to distribute the use of the rest between the threads as required.

Is it the same as having two non hyper-threaded processors?

No. It's a halfway house between a single threaded processor -- just about every common chip made since the seventies -- and two independent processors. With two processors, you are guaranteed to be able to run two threads simultaneously. With hyper-threading, you may be able to run two threads simultaneously, providing they use different parts of the chip at the same time.

Why is Intel doing this?

It makes more efficient use of the processor's silicon, and thus gives a large potential performance boost -- of the order of 25 percent -- for a small additional overhead of around five percent more transistors. Compared to other ways of improving processor performance, such as making the caches bigger, it's miles ahead

What are the downsides?

Not all software works well with hyper-threading. It can slow some software down -- including, to Intel's chagrin, most current benchmark software -- and quite a lot shows little or no improvement. Also, because Hyper-threading makes a lot more of the chip work a lot harder it increases power consumption and thus heat dissipation, stresses cache usage more, and so on.

Next

Previous

1 2


  • Email
  • Trackback
  • Clip Link
  • Print friendlyPrint with Konica

Did you find this article useful?
129 out of 258 people found this useful


Full Talkback thread

0 comments

Company/Topic Alerts

Create a new alert from the list below: