Search code examples
intelhyperthreading

Does hyperthreading lead to unstable systems?


I'm building a PC with the new Intel I7 quad core processor. With hyperthreading turned on it will report 8 cores in Task Manager.

Some of my colleagues are saying that hyperthreading will make the system unreliable and suggest turning it off.

Can any of you good people enlighten me and the rest of the stockoverflow users.

Follow on: I've been using hyperthreading constantly, and its been spot on. No instability whatsoever. I'm using:

  • Microsoft Server 2008 64 bit
  • Microsoft SQL Server 2008 64 bit
  • Microsoft Visual Studio 2008
  • Diskeeper Server
  • Lots of controls (Telerik, Dundas, Rebex, Resharper)

Solution

  • Stability isn't likely to be affected, since the abstraction is very low level and the OS just sees it as another CPU to provide work to. However, performance is another matter.

    In all honesty I can't say if this is still the case, but at least when the HT-enabled CPUs first came out, there were known problems with at least some applications. For example, MySQL, and multi-threaded apps like the Java application I support for my day job were known to have decreased performance when HT was enabled. We always recommended it be removed, at least for our particular use case of a server-side enterprise application.

    It's possible that this is no longer an issue, and in a desktop environment this is less likely to be a problem for most use cases. The ability to split work on the CPU generally would lead to more responsive applications when the CPU is heavily utilized. However, the context switching and overhead could be a detrement when the app is already heavily threaded and CPU-intensive such as in the case of a database server.