LYNN ADLINGTON asked on March 5, 2013. Status: Answered & Closed.
Disable Hyperthreading Without Reinstallation
» I have a quad core i7 with windows 7 Enterprise installed. I run a lot of single-thread programs for heavy calculations, so the multi-threading is really costing me a lot of time. I can only use half of the cpu I could use without hyperthreading. How could I approach this best, without losing stability, without unpleasant side effects, and with the least amount of effort.
I've noticed a lot of people have a bad idea of just what and how hyperthreading is and works. A hyperthread is called a 'logical' cpu core. Current day Intel cpus can run 2 logical cores per actual cpu core.
Windows, when it boots, gets information from BIOS concerning the status of the cpus HT setting. If on, it automatically handles the LCs, if off, it handles the cpu as having no LC, but what ever original core number it's designed with.
A very few programs are capable of dealing with hyperthreads. Those that can't, are known as 'single thread' programs; they use only 1 core. There are a few single thread programs that do NOT act well in a HT environment; they become unstable, or fail to to operate at all.
Exe virus infection can also slow down your computer, often inconceivably slow. Exe virus(TrojanSpy:MSIL/Labapost.B) causes more than one instances of .exe process in operation, consuming large amounts of system resources. Sometimes there will be only one .exe process which is taking up a very large capacity of CPU on its own. Consequently, all the systems resources are being consumed by the virus.
Fortunately, here is a program for you to scan the computer for registry errors and fix related viruses. Download DLL Suite and run it, it will automatically analyze the error and remove .exe virus infection for you.
JOSHUA SHRADER replied on March 11, 2013
- JOSE NOGUEIRA replied on March 5, 2013: » I think your assessment of the situation may not be accurate. The "hyperthreads" present as an additional core. So, if you have a hyperthreaded quad-core CPU, you have 8 cores to do work with. If the application can only make use of one core, that's 1/8th (12.5%) of the total CPU power available. If you disable hyperthreading, you still have 4 cores; a CPU-bound single-threaded app in that case would use 25% of the total CPU power available. That would seem to explain what you are seeing, and is not justification for disabling hyperthreading to "improve performance".
- LYNN ADLINGTON replied on March 3, 2013: » My assessment might not be formulated completely exact, turning off hyperthreading reduces calculation time for my models from 8 hours to 4 hours. Checked it on a test computer in the lab here. That's all the justification I need to never ever turn it on again.
And honestly, can you give me an application where you actually gain something by having 8 cores available, apart from heavy 3D games which I'm not allowed to play at work? For me the mere idea of hyperthreading on a quadcore is rather ridiculous. Stays the fact that I lose about half of my calculation power with hyperthreading on.
Not that reinstalling Windows is the problem, it's more all other software I have installed by now, including server connections etc.
- RON INMAN replied on March 6, 2013: » Thread allocation is all it is. Most experienced developers even today don't know how, don't care or have effective tools to write app's that can multi-thread. Only the latest versions of the .net framework have started to include native support for parallelism. Seems debugging is one of the biggest challenges. Even Intel has been pushing compilers to help developers take advantage of true and split threaded cores.
- JAMES LINDLER replied on March 9, 2013: » From personal experience:
1 core: enable hyperthreading.
2 cores: enable only if you do many easy tasks simultaneously, otherwise disable.
4 cores: disable hyperthreading.
- SEAN AHSER replied on March 11, 2013: » Go to Task Manager, try to identify the "real cores" in the CPU Usage History (those with no zero activity, always working); from left to right in the History graph they are CPU0, CPU1,..., CPU(n-1), 'n' is the number of logical cores detected by Windows. Then locate your program in the Processes List, right-click it and click Set Affinity. Finally choose the cores that be "on" for your application.
DLL Q & A You Might Like:
- Computer Freezing Up When Not Plugged In Charger »
- Custom Dynamic Link Libraries Loaded For Every Application »
- Live Photo Gallery High CPU Error »
- Win7 Backup Disk Space Not Recognizing Correct Amount »
- Windows 7 64bit Explorer.exe Crash User32.dll »
- Windows Freezing And Programs Unable to Open »