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

Full description

Bibliographic Details
Main Authors: Ming-Yu Hung, 洪明郁
Other Authors: Jenq-Kuen Lee
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