What is Hyper Threading
Understand how the technology that accelerates the performance of Intel processors works
Intel’s main processor lines often feature a technology called Hyper Threading. The term is used to designate an extremely important characteristic of the brand’s CPUs, which ends up appreciably impacting the performance of each processor and its price, especially when considering the use in heavier applications.
Learn how to use all your processor power
Next, you will get to know how Hyper-Threading works and find out what makes it so important on Intel processors.
Threading and threads
You can understand the term “threads” as tasks being performed by the processor, such as keeping the anti-virus running in the background while you watch a video and listen to its sounds. Threads are performed, in general, in parallel on processors with more than one core and depend directly on the level of optimization of the software you are running.
When using “threading” in relation to processors, the idea revolves around scheduling tasks to be performed by a processor. For everything to work correctly on your machine, an extremely precise regime, in the nanoseconds, must be followed in the order in which each instruction passed to the CPU is processed.
Consider that a processor receives a set of instructions to be worked on. If he is alone, in the sense that there is only one core to work with, he will have to wait for each of these tasks to be scheduled and faced by the core, which will process it and output the data. This is how single-core processors work.
But and how to accelerate?
If you take the example from the previous paragraph and put more cores to work with the instructions, there will be a speed increase in processing: more threads can be executed simultaneously, since there will be more processing cores in which tasks will be scheduled independently of each other .
Ideally, processors would always have a larger number of cores because that makes them actually faster, or at least more robust, since they now have a real multiplied work capacity. But filling a CPU with a few square millimeters of physical cores is not feasible from the point of view of cost and even the manufacturing processes used today. And that’s where the idea of Hyper-Threading comes in.
As we have seen, in a very summarized and simple way, “threading” is the scheduling of “threads” inside a processor (remember, the technical definitions, literally, of these two terms are much more comprehensive, but our focus is not is in their study).
If you are following the examples, you may have noticed that, even on any multicore processor, CPU cores can end up idle from time to time for a number of circumstances: some threads can be less complex than others, or a core can finish its load work faster than your neighbor, leaving idle time, doing nothing.
This idleness is not ideal: it is a waste of energy, which continues to circulate in the CPU, whether it works or not, besides being a focus of inefficiency, since the idle pieces of the processor could be better used if put to work in more threads.
Hyper Threading is a technology, therefore, that allows multicore processors (two, four, six, eight and, currently, already in 10 and 12 cores) to have access to a much smarter task scheduling feature, in the sense of which is able to route threads to the CPU cores in a much more agile way in order to reduce these idle periods.
Processors with available Hyper Threading achieve much better performance in applications that depend on a high degree of data processing parallelism (or, as we have seen, that are capable of passing a set of instructions to the CPU that can be divided and processed simultaneously by the cores). Examples of such applications are video editors, games, modeling software, simulators, etc.
Hyper Threading doubles the number of processor cores?
There is a myth, much strengthened by Windows, that Hyper Threading effectively doubles the number of processor cores: a quad-core would then operate as an octa-core. It is not so.
In fact, the much more efficient scheduling of tasks by the CPU allows it to have much higher parallel processing performance, but that does not mean that a dual-core will function as a quad-core. Windows has twice as many processing cores on CPUs with Hyper Threading because that is how the operating system sees the processor with this high work capacity and efficient scheduling.
Recovering the analogy of highway traffic, made by Intel: without Hyper-Threading, a dual-core processor would have two access routes through which the information to be processed would reach the cores. With Hyper-Threading, that same processor would display these two routes, but two more, totaling four access routes. That is why, for example, it is common to see processor specifications in this model “four cores and eight threads”, or in the case of the most powerful Xeon today “12 cores and 24 threads”.
How to choose a good processor with Hyper Threading?
Until a few years ago, it was not essential to look for a CPU with Hyper Threading simply because there were not a lot of applications that worked taking advantage of these resources: applications were still developed to send threads to the CPU in a serial way: one at a time, regardless of number of cores.
Over time, and the persistence of this technology in processors, the software began to be developed with an eye on the capacity of multiple threads running at the same time.
Today, anyone in the market looking for a new CPU should consider this technology, especially if the computer will have to face data processing in more demanding applications, such as games and video and image editors in high resolutions. In the case of Intel, the vast majority of i3, i5, and i7 processors offer Hyper-Threading. The thing changes between Celeron and Pentium: only the Pentium G4560 has Hyper-Threading.