Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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)
like image 437
Simon Hughes Avatar asked Jan 20 '09 18:01

Simon Hughes


People also ask

Can hyper-threading hurt performance?

Sometimes, hyper-threading is not beneficial to system performance. In extreme cases, enabling hyper-threading could reduce system performance.

Is it better to have more cores or hyperthreading?

Two logical cores can work through tasks more efficiently than a traditional single-threaded core. By taking advantage of idle time when the core would formerly be waiting for other tasks to complete, Intel® Hyper-Threading Technology improves CPU throughput (by up to 30% in server applications3).

Is hyperthreading worth disabling?

If you use applications that don't support hyperthreading, you may need to disable it because it affects these programs' performance, especially with large programs such as database server processes. However, most experts advise against disabling HT because you may put your computer at risk.

Is hyperthreading insecure?

Intel processors are vulnerable to exploitation if they are running hyper-threading, and if you want full security for your CPU, you should disable that feature (which will obviously come at a considerable performance hit in some cases).


1 Answers

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.

like image 148
Jay Avatar answered Sep 19 '22 05:09

Jay