Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the difference between the Temporal multithreading and Super-threading?

There are two terms:

  • Temporal multithreading: In fine-grained temporal multithreading, the main processor pipeline may contain multiple threads, with context switches effectively occurring between pipe stages (e.g., in the barrel processor). A barrel processor is a CPU that switches between threads of execution on every cycle.

  • Super-threading: is a type of multithreading that enables different threads to be executed by a single processor without truly executing them at the same time.1 This qualifies it as time-sliced or temporal multithreading rather than simultaneous multithreading (SMT). It is motivated by the observation that the processor's functional units are occasionally left idle while executing instructions from one thread due to long-latency events. Super-threading seeks to make use of the otherwise unused processor cycles by executing instructions from another thread until the previous thread is ready to resume execution.

Is the main difference between TM and ST, that Temporal multithreading (fine-grained) uses C-slowing and switches between threads of execution on every cycle, but Super-threading switches between threads not every cycle and only when processor's functional units are left idle while executing instructions from one thread due to long-latency events?

What is the difference between the Temporal multithreading (fine-grained) and Super-threading?

like image 758
Alex Avatar asked Oct 30 '22 18:10

Alex


1 Answers

Temporal multi-threading could be in form of fine-grain or coarse-grain multi-threading. Fine-grain multithreading switches contexts at fixed fine-grain interval (e.g. every cycle). Coarse-grain multithreading switches contexts on long-latency events (e.g. LLC cache misses).

Simultaneous multithreading, on the other hand, does not have any notion of thread switching. Multiple threads can run concurrently.

A picture is worth a thousand words. Take a look at slides 5 to 7 here. It has pictures for all 3 methods and compares them nicely.

As other people have said, super-threading is not a common term and it seems similar to coarse-grain TM to me.

like image 150
aminfar Avatar answered Nov 10 '22 18:11

aminfar