Hyper Threading vs overclocking

7,279

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.

Share:
7,279

Related videos on Youtube

pnongrata
Author by

pnongrata

Updated on September 18, 2022

Comments

  • pnongrata
    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.

  • Bakuriu
    Bakuriu about 11 years
    The "is one application running" is completely wrong. Games are (generally) highly multithreaded, and keep in mind that thread != process.
  • Scott - Слава Україні
    Scott - Слава Україні about 11 years
    This 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 - Слава Україні
    Scott - Слава Україні about 11 years
    You 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
    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 - Слава Україні
    Scott - Слава Україні about 11 years
    Yeah, I was splitting hairs.
  • BlueRaja - Danny Pflughoeft
    BlueRaja - Danny Pflughoeft about 11 years
    Switching 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
    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
    Mokubai about 11 years
    Intel 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/perfo‌​rmance_analysis_guid‌​e.pdf
  • Bakuriu
    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
    Paul A. Clayton about 11 years
    Hyperthreading 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.