cs.kennesaw.edu

download report

Transcript cs.kennesaw.edu

Multi-Threading
Darsha Hobson
Benjamin Rye
Brandon Cross
Types of Multi-Threading
Temporal Multi-Threading
Fine-grained Multithreading (FGMT)
·
Switches threads on a fine-grained schedule, following through with instructions
from a different thread every clock tick.
·
Multiple threads processing in between one another, round robin style
·
FGMT skips threads that stall for any reason, though it sacrifices performance and
requires registry files to hide stalls
● Suffers single thread performance loss
Coarse-grained Multithreading (CGMT)·
Invented as an alternative to FGMT
·
Executes one thread over many cycles until an explicit trigger switch instead of
skipping stalls.
·
Decreases vertical waste, doesn’t sacrifice single thread performance, but can’t
handle frequent short latency instructions.
Types of Multi-Threading
Simultaneous Multithreading
●
●
●
SMT works as a more dynamic and flexible
fine-grained thread
Tries to reduce ‘white boxes’ as much as
possible
Shares functional units dynamically between
multiple threads
● Allows to serve more than one resource at a time
● Ability to manage multiple simultaneous requests
● Makes your computer more efficient.
● Several threads can work on the same set of data.
● If a thread cannot use all the computing resources of
the CPU, running another thread can avoid this idle.
● Multiple threads can interfere with each
other when sharing hardware resources
such as caches
● Execution times of a single thread are not
improved but degraded, even when only
one thread is executing.
● Software support and hardware needed
[1] http://www.cse.unsw.edu.au/~cs9244/06/seminars/05-gaol.pdf
[2] Garrido, J. M., Schlesinger, R., and Hoganson, K., 2008, Principles of
Modern Operating Systems- 2nd Edition, Jones and Bartlett Learning,
Burlington, MA.
[3] R. A. Dua and B. Lokhande. A comparative study of smt and cmp
multiprocessors. Project Report, ee8365.
[4] http://cache-www.intel.com/cd/00/00/01/77/17705_htt_user_guide.pdf