Threads are small tasks that the computer must perform simultaneously, that is to say operations that one or more open programs must execute and which compete for the attention of the processor.
This one administers these requests using a resource called scheduling, where it carries out certain operations of the program 1, then of the program 2, and so on, while attending to all the tasks at the same time.
As the processor is capable of performing billions of calculations per second, this scheduling is very fast. All programs thus represent an independent processing unit.
Table of Contents
Hyperthreading and Multithreading
This ability of the processor to manage several threads at the same time is called multithreading. It is thanks to this technology, present in most modern processors, that we can run several applications at once, requiring only one multitasking operating system, such as Windows, Linux or UNIX.
What is Hyperthreading?
Intel debuted its first model with hyper-threading technology in 2002 in the Xeon MP Foster, a processor focused on the server line, then incorporating it into the Pentium 4 and all models that came after.
Although the operating system seems to see twice as many processing cores present, this is not the case in practice. In reality, each physical core has two independent logic units, each with its own programmable interrupt controller (PIC) and set of registers.
These architectural modifications have allowed a productivity gain in certain specific tasks. Hyperthreading does not replace multicore models, but complements them, allowing them to make better use of available resources.
Dual-core processors can run multiple parallel threads in a single program. In contrast, hyper-threading only benefits applications with segmented instructions that use a pipeline.
Advantages of hyperthreading
The advantages of hyperthreading are:
- improved multi-threaded code support
- ability to run multiple threads at the same time
- best reaction time, best response time
- in the case of a server, increase in the number of users possible
Probably the biggest benefit of hyperthreading is the fact that implementing hyperthreading technology in microprocessors is less expensive than integrating two physical microprocessors.
However, since most computers today are already equipped with multi-core processors, this advantage can only be exploited if processors with hyperthreading have the same number of physical processors as machines that do not support hyperthreading.
Practical examples of the hyperthreading process
When looking at hyperthreading, the question often arises whether this feature really brings advantages over multi-core processors without hyperthreading.
The answer is simple: it depends. The material used and its destination are decisive elements here. That hyperthreading can optimize thread processing through separate pipelines and parallel register sets is beyond doubt.
For example, the Cray MTA supercomputer is capable of handling an impressive 128 threads with a single CPU core.