Linux Load Averages and HyperThreads

I generally think of a HyperThreaded core as being 20%-30% of a real core, depending on how effectively your application can leverage multiple threads. They are considered in load average and load average thresholds.

Here's an example of a dual-socket Intel X5570 Nehalem system before and after enabling Hyperthreading. The OS is CentOS 5.8. The actual average system run queue/load average did not change substantially (the app is pretty much single-threaded), but the load threshold did.

enter image description here

That said, there are many times when I disable HyperThreading... For my low-latency and deterministic applications, I want finer control of where application resources are scheduled. There's a penalty for going to a HyperThread core in those cases. Also, I have one particular situation where the application is running on a 4-socket 8-core CPU that has HyperThreading. It's way too many cores... so I just disabled HT to cut from 64 logical CPU's to 32.

enter image description here