Foundations of Probabilistic Points-to Analysis for Advanced Architecture
博士 === 國立清華大學 === 資訊工程學系 === 93 === When performing aggressive optimizations and parallelization to exploit features of advanced architectures, optimizing and parallelizing compilers need to quantitatively assess the profitability of any transformations in order to achieve high performance. Useful o...
Main Authors: | , |
---|---|
Other Authors: | |
Format: | Others |
Language: | en_US |
Published: |
2005
|
Online Access: | http://ndltd.ncl.edu.tw/handle/80796744860698494747 |
id |
ndltd-TW-093NTHU5392108 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-TW-093NTHU53921082015-10-13T11:15:49Z http://ndltd.ncl.edu.tw/handle/80796744860698494747 Foundations of Probabilistic Points-to Analysis for Advanced Architecture 先進硬體架構之機率化指標分析之研究 PENG-SHENG CHEN 陳鵬升 博士 國立清華大學 資訊工程學系 93 When performing aggressive optimizations and parallelization to exploit features of advanced architectures, optimizing and parallelizing compilers need to quantitatively assess the profitability of any transformations in order to achieve high performance. Useful optimizations and parallelization can be performed if it is known that certain points-to relationships would hold with high or low probabilities. For instance, if the probabilities are low, a compiler could transform programs to perform data speculation or partition iterations into threads in speculative multithreading, or it would avoid conducting code specialization. Consequently, it is essential for compilers to incorporate pointer analysis techniques that can estimate the possibility for every points-to relationship that it would hold during the execution. However, conventional pointer analysis techniques do not provide such quantitative descriptions and thus hinder compilers from more aggressive optimizations, such as thread partitioning in speculative multithreading, data speculations, code specialization, etc. This thesis addresses this issue by proposing a probabilistic points-to analysis (PPA) technique to compute the probability of every points-to relationship at each program point. Based on the foundation of data-flow analysis, an elimination algorithm and an iterative algorithm were developed respective to handle and solve the related problems of probabilistic interprocedural points-to analysis. A prototype compiler has been implemented upon the SUIF system to perform the interprocedural probabilistic points-to analysis. Experimental results show this technique can estimate the probabilities of points-to relationships in benchmark programs with reasonable small errors, about 4.61% in average. In additions, we present an application of adopting probabilistic points-to information into compiler optimizations for speculative multithreading architecture. Speculative multithreading (SpMT) architecture 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 happen if the threads are highly dependent, since a recovery mechanism will be activated when a speculative thread executes incorrectly and such a recovery action usually incurs a very high penalty. Therefore, it is essential for SpMT to quantify the degree of dependences and to turn off speculation if the degree of dependences passes certain thresholds. We propose a technique that quantitatively computes dependences between loop iterations and such information can be used to determine if loop iterations can be executed in parallel by speculative threads. 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, and then the degree of dependences between loop iterations is computed quantitatively. Experimental results show compiler-directed thread-level speculation based on the information gathered by this technique can achieve significant performance improvement on SpMT. Jenq Kuen Lee 李政崑 2005 學位論文 ; thesis 93 en_US |
collection |
NDLTD |
language |
en_US |
format |
Others
|
sources |
NDLTD |
description |
博士 === 國立清華大學 === 資訊工程學系 === 93 === When performing aggressive optimizations and parallelization to exploit features of advanced architectures, optimizing and parallelizing compilers need to quantitatively assess the profitability of any transformations in order to achieve high performance. Useful optimizations and parallelization can be performed if it is known that certain points-to relationships would hold with high or low probabilities. For instance, if the probabilities are low, a compiler could transform programs to perform data speculation or partition iterations into threads in speculative multithreading, or it would avoid conducting code specialization. Consequently, it is essential for compilers to incorporate pointer analysis techniques that can estimate the possibility for every points-to relationship that it would hold during the execution. However, conventional pointer analysis techniques do not provide such quantitative descriptions and thus hinder compilers from more aggressive optimizations, such as thread partitioning in speculative multithreading, data speculations, code specialization, etc.
This thesis addresses this issue by proposing a probabilistic points-to analysis (PPA) technique to compute the probability of every points-to relationship at each program point. Based on the foundation of data-flow analysis, an elimination algorithm and an iterative algorithm were developed respective to handle and solve the related problems of probabilistic interprocedural points-to analysis. A prototype compiler has been implemented upon the SUIF system to perform the interprocedural probabilistic points-to analysis. Experimental results show this technique can estimate the probabilities of points-to relationships in benchmark programs with reasonable small
errors, about 4.61% in average.
In additions, we present an application of adopting probabilistic points-to information into compiler optimizations for speculative multithreading architecture.
Speculative multithreading (SpMT) architecture 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 happen if the threads are highly dependent, since a
recovery mechanism will be activated when a speculative thread executes incorrectly and such a recovery action usually incurs a very high penalty. Therefore, it is essential for SpMT to quantify the degree of dependences and to turn off speculation if the degree of dependences passes certain thresholds. We propose a technique that quantitatively computes dependences between loop iterations and such information can be used to determine if loop iterations can be executed in parallel by speculative threads. 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, and then the degree of dependences between loop iterations is computed quantitatively. Experimental results show compiler-directed
thread-level speculation based on the information gathered by this technique can achieve significant performance improvement on SpMT.
|
author2 |
Jenq Kuen Lee |
author_facet |
Jenq Kuen Lee PENG-SHENG CHEN 陳鵬升 |
author |
PENG-SHENG CHEN 陳鵬升 |
spellingShingle |
PENG-SHENG CHEN 陳鵬升 Foundations of Probabilistic Points-to Analysis for Advanced Architecture |
author_sort |
PENG-SHENG CHEN |
title |
Foundations of Probabilistic Points-to Analysis for Advanced Architecture |
title_short |
Foundations of Probabilistic Points-to Analysis for Advanced Architecture |
title_full |
Foundations of Probabilistic Points-to Analysis for Advanced Architecture |
title_fullStr |
Foundations of Probabilistic Points-to Analysis for Advanced Architecture |
title_full_unstemmed |
Foundations of Probabilistic Points-to Analysis for Advanced Architecture |
title_sort |
foundations of probabilistic points-to analysis for advanced architecture |
publishDate |
2005 |
url |
http://ndltd.ncl.edu.tw/handle/80796744860698494747 |
work_keys_str_mv |
AT pengshengchen foundationsofprobabilisticpointstoanalysisforadvancedarchitecture AT chénpéngshēng foundationsofprobabilisticpointstoanalysisforadvancedarchitecture AT pengshengchen xiānjìnyìngtǐjiàgòuzhījīlǜhuàzhǐbiāofēnxīzhīyánjiū AT chénpéngshēng xiānjìnyìngtǐjiàgòuzhījīlǜhuàzhǐbiāofēnxīzhīyánjiū |
_version_ |
1716840600631771136 |