Compiler supports for Optimizing Speculative Multithreading Architecture
碩士 === 國立清華大學 === 資訊工程學系 === 92 === By the progress of VLSI technology, there are more and more features added in a single processor. Speculative multithreading (SpMT) architecture is one of them. It has speculative function and multithreading feature in a processor, and it can exploit thread-level...
Main Authors: | , |
---|---|
Other Authors: | |
Format: | Others |
Language: | en_US |
Published: |
2004
|
Online Access: | http://ndltd.ncl.edu.tw/handle/34974431939945341349 |
id |
ndltd-TW-092NTHU5392002 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-TW-092NTHU53920022015-10-13T13:08:03Z http://ndltd.ncl.edu.tw/handle/34974431939945341349 Compiler supports for Optimizing Speculative Multithreading Architecture 支援推測式多緒計算機結構的編譯器設計 Ming-Yu Hung 洪明郁 碩士 國立清華大學 資訊工程學系 92 By the progress of VLSI technology, there are more and more features added in a single processor. Speculative multithreading (SpMT) architecture is one of them. It has speculative function and multithreading feature in a processor, and it can exploit thread-level parallelism that cannot be identified statically. Speedup can be obtained by speculatively executing threads in parallel that are extracted from a sequential program. However, performance degradation might occur if the threads are highly dependent. A recovery mechanism will be activated when a speculative thread violates the sequential semantics. The recovery action usually incurs a very high penalty, because it must squash all living threads before doing recovery code. Therefore, it is essential for SpMT to quantify the degree of dependences and to turn off speculation if the degree of loop carried dependence is over a certain threshold. This paper presents a technique that quantitatively computes loop carried dependences and such information can be used to determine if loop iterations should be executed in parallel by speculative threads or not. This technique can be broken into two steps. First, probabilistic points-to analysis is performed to estimate the probabilities of points-to relationships in case there are pointer references in programs. That way, the degree of dependences between loop iterations is computed quantitatively. Second, experimental results show compiler-directed thread-level speculation based on the information gathered by this technique can guarantee the architecture to always do a right decision on the experimental platform, SImulator for Multithreaded Computer Architectures (SIMCA). SIMCA be modeled as SpMT architecture by inserting SIMCA specific instructions. Jenq-Kuen Lee 李政崑 2004 學位論文 ; thesis 39 en_US |
collection |
NDLTD |
language |
en_US |
format |
Others
|
sources |
NDLTD |
description |
碩士 === 國立清華大學 === 資訊工程學系 === 92 === By the progress of VLSI technology, there are more and more features added in a single processor. Speculative multithreading (SpMT) architecture is one of them. It has speculative function and multithreading feature in a processor, and it can exploit thread-level parallelism that cannot be identified statically. Speedup can be obtained by speculatively executing threads in parallel that are extracted from a sequential program. However, performance degradation might occur if the threads are highly dependent. A recovery mechanism will be activated when a speculative thread violates the sequential semantics. The recovery action usually incurs a very high penalty, because it must squash all living threads before doing recovery code. Therefore, it is essential for SpMT to quantify the degree of dependences and to turn off speculation if the degree of loop carried dependence is over a certain threshold.
This paper presents a technique that quantitatively computes loop carried dependences and such information can be used to determine if loop iterations should be executed in parallel by speculative threads or not. This technique can be broken into two steps. First, probabilistic points-to analysis is performed to estimate the probabilities of points-to relationships in case there are pointer references in programs. That way, the degree of dependences between loop iterations is computed quantitatively. Second, experimental results show compiler-directed thread-level speculation based on the information gathered by this technique can guarantee the architecture to always do a right decision on the experimental platform, SImulator for Multithreaded Computer Architectures (SIMCA). SIMCA be modeled as SpMT architecture by inserting SIMCA specific instructions.
|
author2 |
Jenq-Kuen Lee |
author_facet |
Jenq-Kuen Lee Ming-Yu Hung 洪明郁 |
author |
Ming-Yu Hung 洪明郁 |
spellingShingle |
Ming-Yu Hung 洪明郁 Compiler supports for Optimizing Speculative Multithreading Architecture |
author_sort |
Ming-Yu Hung |
title |
Compiler supports for Optimizing Speculative Multithreading Architecture |
title_short |
Compiler supports for Optimizing Speculative Multithreading Architecture |
title_full |
Compiler supports for Optimizing Speculative Multithreading Architecture |
title_fullStr |
Compiler supports for Optimizing Speculative Multithreading Architecture |
title_full_unstemmed |
Compiler supports for Optimizing Speculative Multithreading Architecture |
title_sort |
compiler supports for optimizing speculative multithreading architecture |
publishDate |
2004 |
url |
http://ndltd.ncl.edu.tw/handle/34974431939945341349 |
work_keys_str_mv |
AT mingyuhung compilersupportsforoptimizingspeculativemultithreadingarchitecture AT hóngmíngyù compilersupportsforoptimizingspeculativemultithreadingarchitecture AT mingyuhung zhīyuántuīcèshìduōxùjìsuànjījiégòudebiānyìqìshèjì AT hóngmíngyù zhīyuántuīcèshìduōxùjìsuànjījiégòudebiānyìqìshèjì |
_version_ |
1717732075579113472 |