What is Simultaneous Multi-threading?

Simultaneous Multi-threading (SMT) is a feature to create multiple threads per core to provide slight performance gains in multi-threaded workloads. A thread is something you assign instructions and data to get a calculated outcome. A core is a physical processing unit and is found in the Central Processing Unit (CPU) among other equipment. Each core can either have 1 or 2 threads depending on if SMT is implemented. Intel uses its own propriety implementation of SMT called Hyper-Threading (HT), while AMD uses SMT.

Multi-Threaded workloads are pieces of software that can use multiple threads (regardless of being a core or a logical thread). These workloads it’s a bit like how 2 people work in a kitchen to make a meal that they both know the recipe of. They work together to cut down the time spent by one person on a meal.

Thread 1 (T1) will normally start getting pans ready, while Thread 2 (T2) will start on getting the boards, tools and ingredients to the prep area ready. Once the first task are done for T1 and T2, will grab at the ingredients and start. T1 will start with the meat, while T2 starts cutting/peeling ingredients for T1 to add when ready. This will go on till T2 has nothing left but to clean and T1 has finished combining the ingredients. T1 will be busy for longer than T2 because it’s the cooking thread. T1 and T2 are sharing resources and T1 in this case can reach a point where it’s waiting for the next ingredient being prepared by T2. The thread in charge of the cooking thread at this point will experience intermittent work spikes checking it hasn’t burnt.

This is how threads work allocating time to a predefined task and producing results. How SMT affects this is by creating a second logical thread on a core by replicating parts of the architecture and sharing resources with the core thread. This means resources such as the CPU cache and/or ram needs to be increased both in memory capacity and access speed.

SMT is also important as the number of cores increases, manufacturers have to make more traces between the CPU and other hardware resources such as RAM and Storage. Along with more traces the cores also needs more power to be delivered to it. Both of these combined increase the cost of the components to consumers. With SMT it allows the boards and CPUs to be cheaper while also drawing less power but can increase performance by 25 to 50% on depending on the CPU.

I tested the impact of HT on my Intel laptop by running Cinebench (a benchmarking tool for CPUs) before and after. I noticed a 30% drop when turned off in the score of my quad-core CPU. Though I did not notice an effect on the usability of the laptop in everyday tasks i.e. Web browsing, Blu-ray movies and Portal (A game).

Let’s say you want to listen to music on YouTube while you work on a large excel file for work. When the excel is calculating cells it may use 2 threads at 100% each on a dual-core SMT system, while the browser may only need 5% utilisation of the CPU and can be pushed on to a thread not being utilised. By contrast, a dual-core system without SMT the Excel file will take on 100% of both cores and when you try and get your music loaded the CPU will have to prioritise thus slowing both down.

Simultaneous Multi-Threading is the creation of a logical thread next to a core thread. Which in turn provides a method of processing faster with less power, lower costs and all the while it cuts down processing times on big tasks. Although SMT like MT is useless if the programs don’t use multiple threads.

References:
http://www.cs.cmu.edu/afs/cs/academic/class/15740-f03/www/lectures/smt.pdf

5 thoughts on “What is Simultaneous Multi-threading?”

  1. You actually make it seem so easy with your presentation but I find this matter to be actually something which I think I would never understand. It seems too complex and extremely broad for me. I am looking forward for your next post, I will try to get the hang of it!

  2. Can I just say what a reduction to seek out somebody who actually knows what theyre speaking about on the internet. You undoubtedly know how to deliver an issue to mild and make it important. Extra people must learn this and understand this side of the story. I cant imagine youre no more common since you undoubtedly have the gift.

  3. Excellent weblog here! Additionally your web site so much up fast! What host are you the use of? Can I am getting your associate hyperlink to your host? I want my web site loaded up as quickly as yours lol

  4. I have been browsing online more than three hours today, yet I never found any interesting article like yours. It was pretty worth the time for me. In my view, if all web owners and bloggers made good content as you did, the net will be much more useful than ever before.

Leave a Reply

Your email address will not be published. Required fields are marked *

WordPress Appliance - Powered by TurnKey Linux