Hyperthreading both acts and sounds like something out of a 90’s sci-fi film. This article seeks to demystify hyperthreading by defining it, simplifying it, explaining how hyperthreading works and helping you decide if it’s of any use to you, cool and desirable as it may sound.
What Is Hyperthreading?
Simply put, hyperthreading is a technology – that takes advantage of superscalar architecture – first made available through Intel’s IA-32 processors. Other processors, such as the SPARC, also attempt to achieve the same goal, but through other means of hardware design.
Hyperthreading accelerates a computer’s performance by using available resources more efficiently, effectively and essentially “doubling” your core’s capability and capacity, working as if there were two physical processor cores, despite actually just being the single one.
Hyperthreading allows multiple independent sets of instructions to run concurrently, allowing for a level of overlap comparable to an actual dual-processor system with multiple cores.
Basically, it’s Intel’s implementation of something called simultaneous multithreading, or symmetric multiprocessing, a process of dividing the computer’s work among multiple processors present in most Windows and Linux systems.
For this, software and applications must be multi-threaded, meaning the application must be able to split its processing stream into multiple instruction threads that the CPU can simultaneously process in parallel.
It sounds fantastic, but it does lead us to prompt a deeper understanding of the ‘mechanics’ involved.
How Does Hyperthreading Work?
Considering the system as a whole, the real backbone of performance is clock speed. Doubling this, in theory, would mean that the CPU will perform doubly better as well, with double the amount of full calculation cycles in a second.
Even in quad-core CPUs, or even in something you could consider the best gaming CPU out there, each process is still in a state of flux and constantly catering to different jobs, where multitasking means its working on a thousand things, one bit of one thing at one time, but never the same thing.
Thus, hyperthreading allows us to make every single processor “faster”, with two concurrent streams of simultaneous execution of process, doubling the work done per clock cycle.
In layman terms, your computer can now work twice as faster, twice as better, twice as powerfully. In more technical terms, however, many would argue that it’s just allowing your CPU to work as efficiently as possible, something it wouldn’t really do on its own without hyperthreading, given all the resources that usually lie idle and underutilized.
Save Processing Time With Hyperthreading
What does this mean for us on a practical level?
Processors with hyperthreaded cores have dual instruction pipelines. Since these pipelines queue the instructions to be executed next, CPUs utilize these pipelines to speed up the execution process by performing preliminary low-level pre-processing for these.
With Intel’s hyperthreading technology, a single CPU core quickly switches between two equally-maintained execution states – the primary execution unit is still just the one, but the other parts of the CPU (the ones that execute the instructions for processing and maintaining those execution contexts) are duplicated.
The factor is the addition of the second set of registers to the dual instruction pipelines, and for most, the boost to performance is significantly noticeable. The system’s responsiveness level remains alert even while demanding applications are being run by the user, as well as making sure the level of protection is maintained side-by-side with productivity.
To add on that last point, however, there has been some concern in recent years over whether or not hyperthreading impacts your system’s security, with conflicting statements from Intel and those on the other side. For this, we’ve added the last section: how to disable hyperthreading, a question that might arise no matter what side of the debate you might fall on (such as in case of running an application not optimized for HT or having HT-incompatible OS and BIOS).
For now, however, this begs a slightly more fundamental question: does everyone need hyperthreading? Is it worth it to pay extra for those hyperthreaded Intel cores, or would a regular core suffice? What about multi-cores as opposed to a single hyperthreaded processor?
Who Is Hyperthreading For?
We’ve explained how hyperthreading works. For people with some knowledge of how to “build” a system, an image might already have started to develop about their needs and how Intel’s HT technology can help.
Putting the bottom line upfront, physical cores will always remain significant. If you’re a gamer, then you’ll know that it was only in the last year that a lot of mainstream titles started becoming more thread-heavy. What does this mean? Hyperthreading would help you see increased performance, of course.
At the same time, however, we’re moving into a world where even twelve-core CPUs don’t sound excessive, so it’s best to prioritize more cores; then, if you can bear the cost, spring for hyperthreading if your appetite for having the absolute best possible justifies the prices.
Most users, however, don’t need to worry about hyperthreading outside of work which requires intensive multiple processes to be run in the background or at the same time, such as photo editing, video encoding, animation, 3D rendering, all of which are thread-heavy professional-level software-requiring tasks. For this, professional-level CPUs such as the I7, with Intel’s HT technology, are used.
The rule of thumb? Between two processors that are both capable of handling the same number of threads but differ in cores, the CPU with more physical cores is king.
Hence, for most people using their computers for leisure, school work, or in the office, hyperthreading is irrelevant. For the rest, your appetite may vary when it comes to gaming, but for a lot of computer-intensive professions, especially in architecture, finance, arts, and media, hyperthreaded cores are the way to go.
How To Disable Hyperthreading (Should You Want To)
Finally, a note for people looking for instructions on how to disable hyperthreading.
Hyperthreading is a BIOS function and requires OS support to disable it at the UEFI level. This means that your Operating System needs to either disable hyperthreading by default, or ship kernels with updated support that allows users to disable them.
Some, however, report another way to ‘disable’ the usage of hyperthreading per-process, restricting it by activity/application: activating Process Lasso’s Hyperthreaded Core Avoidance. Exercise caution, however, when tinkering around with things on a hardware level by means of software; best to add or remove hardware and keep it simple.