Hyper-Threading is a technology that has been around for several years now; readily accessible on a wide variety of specialist and home computers.
But what exactly is hyper-threading?
Hyper-Threading is a feature introduced by Intel that attempts to increase computer processing power without the need for additional cores. Having existed for a short period of time on certain Pentium 4 and Xeon processors it was discontinued after Intel realised that the architecture on which these chips were based was incapable of achieving the goals they had set themselves. This isn’t to say that hyper-threading was a bad feature and as such Intel found the time and resources to integrate it into their latest processor architecture – Nehalem. This is the architecture on which all current Intel Core i3, i5 and i7 processors are based.
Looking back at all the technological advancements that have been made with processors; we have come a long way. Despite this, they still have one major limitation – an individual process can only execute one instruction at a time. When you use your computer and you have multiple programs running at the same time it is often referred to as multi-tasking. Such a term is somewhat misleading as in actual fact the processor is only executing one instruction at a time; it is the incredible speed at which is does this that leads you to believe you are truly multi-tasking. There is, however, a delay. This delay is due to the fact that each stream of data – or thread – in the processor must be scheduled and executed by the core individually. This is where hyper-threading can help, allowing the core to schedule and assign resources to two threads at once.
Imagine a building in which there are two meeting rooms. Both of these meeting rooms have been scheduled for use at the same time but for different purposes. It is the responsibility of one person to confirm the details of each person attending and show them which meeting room they will be going to. However all attendees are in one queue with no particular order; as a result the queue moves slowly and people may arrive at the wrong time. Hyper-Threading is the concept of adding an additional queue so that there are dedicated queues for each meeting. There is still only one worker but this means that people can get through more quickly and efficiently.
People often mistake hyper-threading with having twice as many cores. This is because Windows Task Manager and the like read additional threads as being logical processors. The term ‘logical processor’ sounds fancy but by definition is a processor with no physical existence. Windows can send threads to each logical processor but it is still just the one core carrying out the execution. It is important to note that the difference in performance is substantial. You should always be wary of people trying to make you think you have purchased a 4 or 8 core processor when it is actually a 2 or 4 core with hyper-threading.
So where does hyper-threading stand? In terms of your day-to-day tasks like web browsing, emails and word processing, hyper-threading won’t have much of an impact. Theoretically hyper-threading is better at multi-tasking but when you consider the processors available today they are so fast that basic programs are rarely limited by their speed. It is also important to consider that a lot of programs are often only coded in a manner that allows them to utilise a single core as that is all they need.
When you’re trying to do some heavy lifting, however, hyper-threading can be more helpful; benefiting 3D rendering programs, heavy-duty audio and video transcoding and any other demanding applications with a boost in performance of up to 30%.
At Painting Pixels we utilise such demanding software on a daily basis, this is why our workstations feature both 8 physical cores and hyper-threading. This power means that we can produce stunning high quality 2D and 3D graphics, animation and visual effects for use across all of our services without being limited by the capabilities of our machines.
In conclusion; whilst hyper-threading does offer a performance increase it does not match the raw power of having twice as many physical cores. Anyone who tells you otherwise is likely trying to convince you of buying something. In light of the requirements of most modern software if you tend to use your computer for nothing more than word process, spreadsheets, emails and internet browsing the improvement hyper-threading offers may not warrant the cost; this is however a decision you need to make yourself. With all that said hyper-threading is a feature worth having if you utilise more demanding software and applications. For us there was no doubt and for all of you reading this, it’s up to you.