Hyper Threading vs overclocking
Solution 1
Two completely separate approaches to increase performance.
Overclocking is the process of tweaking motherboard (or graphics cards) settings to have the 'clock' run faster than the vendor certified. Can increase performance for single or multiple threaded scenarios. Also has risk because excess heat can be generated which can damage circuitry.
Hyperthreading is a way to present one core to the OS as if it were two cores (see What is hyper-threading and how does it work??). This allows the OS to run two threads on a single core, somewhat simultaneously. In reality the hypervisor causes the core to switch between threads very rapidly. This can increase performance in some multi-threaded scenarios. Also there is no risk to this approach like there is with overclocking. but as noted an Intel only solution.
They are not mutually exclusive. You can overclock a hyperthreaded CPU.
Solution 2
Hyperthreading (HT) is more threads. Overclocking is more processor speed.
Overclocking is more useful and practical for gaming applications as opposed to hyperthreading. HT is more useful for editing or rendering of say media files because it allows multiple pieces of software to run at the same processing speed instead of dividing.
Overclocking is better for games because it is one application running as opposed to multiple and can take advantage of the boosted performance of the processor.
Related videos on Youtube
pnongrata
Updated on September 18, 2022Comments
-
pnongrata over 1 year
What is the difference between these two, and under what circumstances would I want to implement them? Are there circumstances when I would only want 1 and not the other?
According to Wikipedia, hyperthreading is a proprietary Intel technology, whereas overclocking seems to apply to any CPU (Intel or other).
But still, they both seem like very similar ways of speeding up processing time on the same machine, and I wonder if they are synonyms or mutually-redundant.
-
Dan Is Fiddling By Firelight about 11 yearsHyperthreading is just Intel's brand name for Simultaneous Multithreading. Some IBM Power and MIPS family processors also implement it. en.wikipedia.org/wiki/Simultaneous_multithreading
-
-
Bakuriu about 11 yearsThe "is one application running" is completely wrong. Games are (generally) highly multithreaded, and keep in mind that thread != process.
-
Scott - Слава Україні about 11 yearsThis sounds a lot like multitasking, except done under the control of a hardware/firmware scheduler, rather than the software scheduler that almost every operating system written in the past 30 years has. I guess the processor core duplicates some resources, like general registers and memory-management registers, to allow task switching to be faster than when done by a software scheduler. Or am I missing something?
-
Scott - Слава Україні about 11 yearsYou say, “there is no risk to this approach …” I feel obligated to point out that Wikipedia says, “In May 2005 Colin Percival demonstrated that on the Pentium 4, a malicious thread can use a timing attack to monitor the memory access patterns of another thread with which it shares a cache, allowing the theft of cryptographic information.[ref]
-
Brad Patton about 11 years@Scott I said
like there is with overclocking
meaning the vendor has certified the chip to function with HT enabled. A failed chip should be covered under warranty unlike overclocking. -
Scott - Слава Україні about 11 yearsYeah, I was splitting hairs.
-
BlueRaja - Danny Pflughoeft about 11 yearsSwitching between threads is extremely expensive (need to restore entire register state, flush the entire pipeline, etc.) with respect to individual instructions, so I find your explanation hard to believe. My understanding of hyper-threading is that it's a clever way to allow a second thread to make use of a core's unused logical units (idle arithmetic units, etc). Does anyone know whose understanding is correct?
-
Dan Is Fiddling By Firelight about 11 years@Bakuriu except for graphics code, which is run on the GPU not the CPU, are still fairly lightly threaded. That's why mid range gaming system guides generally recommend buying a $200 quad core non-HT i5 processor instead of the $300 i7 with HT enabled. It's possible that the 8core CPU in the PS4 and XBox 720 (rumors only atm) might change the situation in a few years.
-
Mokubai about 11 yearsIntel processors are capable of dispatching multiple instructions at the same time and having them run concurrently, this is why hyperthreading is more useful and threads only block each other when they require the same resource: "As on Core™2 processors, the RS (reservation station) dispatches the uops to one of 6 dispatch ports where they are consumed by the execution units. This implies that on any cycle between 0 and 6 uops can be dispatched for execution. " software.intel.com/sites/products/collateral/hpc/vtune/performance_analysis_guide.pdf
-
Bakuriu about 11 years@BlueRaja I believe any multiplayer game will have at least a thread listening & communicating with the server/other players and a thread for user's interaction(+ eventually rendering tasks or running AI of opponents). Also the server for such games probably use one thread per client.
-
Paul A. Clayton about 11 yearsHyperthreading does not involve a hypervisor! In the x86 implementations, it is Simultaneous MultiThreading (Itanium using "hyperthreading" for SoEMT). This allows operations from both threads to begin execution in the same cycle (limited by issue ports). Also, overclocking can introduce a risk of transient glitches where incorrect results can be generated.