LWN.net Logo

5 to 30% Speed Improvement

5 to 30% Speed Improvement

Posted May 20, 2005 17:08 UTC (Fri) by ksmathers (guest, #2353)
Parent article: Is hyperthreading dangerous?

If what I've read is correct, hyperthreading increases processor efficiency in the event of a stalled pipeline (such as for a mispredicted branch, or a subroutine entry/exit), but doesn't provide any extra execution units for parallelism. A 30% upper end to speed improvement is about right, but the bottom end is more like -5%. For two CPU bound tasks both of which are contending for cache-lines and each with relatively long spans of instructions between function calls (typically C code instead of C++) Hyperthreading can cause thrashing in the L1 and L2 cache for a net drop in performance.


(Log in to post comments)

5 to 30% Speed Improvement

Posted May 26, 2005 13:34 UTC (Thu) by MarkWilliamson (guest, #30166) [Link]

HT doesn't provide extra functional units but it may enable better use of
the functional units available, as well as allowing the CPU to continue
working in the event one thread stalls.

Unfortunately, with cache contention (and the different mix of functional
units required by different threads), the performance benefits can be
highly variable - scheduling-wise it's a whole new can of worms!!!

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds