download report

Transcript cs.kennesaw.edu

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
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