Run-time optimization of adaptive irregular applications

Compared to traditional compile-time optimization, run-time optimization could offer significant performance improvements when parallelizing and optimizing adaptive irregular applications, because it performs program analysis and adaptive optimizations during program execution. R...

Full description

Bibliographic Details
Main Author: Yu, Hao
Other Authors: Rauchwerger, Lawrence
Format: Others
Language:en_US
Published: Texas A&M University 2004
Subjects:
Online Access:http://hdl.handle.net/1969.1/1285
id ndltd-tamu.edu-oai-repository.tamu.edu-1969.1-1285
record_format oai_dc
spelling ndltd-tamu.edu-oai-repository.tamu.edu-1969.1-12852013-01-08T10:37:33ZRun-time optimization of adaptive irregular applicationsYu, Haocompiler optimizationsadaptive optimizationperformance modelingrun-time parallelizationrun-time optimizationreduction parallelizationCompared to traditional compile-time optimization, run-time optimization could offer significant performance improvements when parallelizing and optimizing adaptive irregular applications, because it performs program analysis and adaptive optimizations during program execution. Run-time techniques can succeed where static techniques fail because they exploit the characteristics of input data, programs' dynamic behaviors, and the underneath execution environment. When optimizing adaptive irregular applications for parallel execution, a common observation is that the effectiveness of the optimizing transformations depends on programs' input data and their dynamic phases. This dissertation presents a set of run-time optimization techniques that match the characteristics of programs' dynamic memory access patterns and the appropriate optimization (parallelization) transformations. First, we present a general adaptive algorithm selection framework to automatically and adaptively select at run-time the best performing, functionally equivalent algorithm for each of its execution instances. The selection process is based on off-line automatically generated prediction models and characteristics (collected and analyzed dynamically) of the algorithm's input data, In this dissertation, we specialize this framework for automatic selection of reduction algorithms. In this research, we have identified a small set of machine independent high-level characterization parameters and then we deployed an off-line, systematic experiment process to generate prediction models. These models, in turn, match the parameters to the best optimization transformations for a given machine. The technique has been evaluated thoroughly in terms of applications, platforms, and programs' dynamic behaviors. Specifically, for the reduction algorithm selection, the selected performance is within 2% of optimal performance and on average is 60% better than "Replicated Buffer," the default parallel reduction algorithm specified by OpenMP standard. To reduce the overhead of speculative run-time parallelization, we have developed an adaptive run-time parallelization technique that dynamically chooses effcient shadow structures to record a program's dynamic memory access patterns for parallelization. This technique complements the original speculative run-time parallelization technique, the LRPD test, in parallelizing loops with sparse memory accesses. The techniques presented in this dissertation have been implemented in an optimizing research compiler and can be viewed as effective building blocks for comprehensive run-time optimization systems, e.g., feedback-directed optimization systems and dynamic compilation systems.Texas A&M UniversityRauchwerger, Lawrence2004-11-15T19:53:44Z2004-11-15T19:53:44Z2004-082004-11-15T19:53:44ZBookThesisElectronic Dissertationtext675171 bytes186711 byteselectronicapplication/pdftext/plainborn digitalhttp://hdl.handle.net/1969.1/1285en_US
collection NDLTD
language en_US
format Others
sources NDLTD
topic compiler optimizations
adaptive optimization
performance modeling
run-time parallelization
run-time optimization
reduction parallelization
spellingShingle compiler optimizations
adaptive optimization
performance modeling
run-time parallelization
run-time optimization
reduction parallelization
Yu, Hao
Run-time optimization of adaptive irregular applications
description Compared to traditional compile-time optimization, run-time optimization could offer significant performance improvements when parallelizing and optimizing adaptive irregular applications, because it performs program analysis and adaptive optimizations during program execution. Run-time techniques can succeed where static techniques fail because they exploit the characteristics of input data, programs' dynamic behaviors, and the underneath execution environment. When optimizing adaptive irregular applications for parallel execution, a common observation is that the effectiveness of the optimizing transformations depends on programs' input data and their dynamic phases. This dissertation presents a set of run-time optimization techniques that match the characteristics of programs' dynamic memory access patterns and the appropriate optimization (parallelization) transformations. First, we present a general adaptive algorithm selection framework to automatically and adaptively select at run-time the best performing, functionally equivalent algorithm for each of its execution instances. The selection process is based on off-line automatically generated prediction models and characteristics (collected and analyzed dynamically) of the algorithm's input data, In this dissertation, we specialize this framework for automatic selection of reduction algorithms. In this research, we have identified a small set of machine independent high-level characterization parameters and then we deployed an off-line, systematic experiment process to generate prediction models. These models, in turn, match the parameters to the best optimization transformations for a given machine. The technique has been evaluated thoroughly in terms of applications, platforms, and programs' dynamic behaviors. Specifically, for the reduction algorithm selection, the selected performance is within 2% of optimal performance and on average is 60% better than "Replicated Buffer," the default parallel reduction algorithm specified by OpenMP standard. To reduce the overhead of speculative run-time parallelization, we have developed an adaptive run-time parallelization technique that dynamically chooses effcient shadow structures to record a program's dynamic memory access patterns for parallelization. This technique complements the original speculative run-time parallelization technique, the LRPD test, in parallelizing loops with sparse memory accesses. The techniques presented in this dissertation have been implemented in an optimizing research compiler and can be viewed as effective building blocks for comprehensive run-time optimization systems, e.g., feedback-directed optimization systems and dynamic compilation systems.
author2 Rauchwerger, Lawrence
author_facet Rauchwerger, Lawrence
Yu, Hao
author Yu, Hao
author_sort Yu, Hao
title Run-time optimization of adaptive irregular applications
title_short Run-time optimization of adaptive irregular applications
title_full Run-time optimization of adaptive irregular applications
title_fullStr Run-time optimization of adaptive irregular applications
title_full_unstemmed Run-time optimization of adaptive irregular applications
title_sort run-time optimization of adaptive irregular applications
publisher Texas A&M University
publishDate 2004
url http://hdl.handle.net/1969.1/1285
work_keys_str_mv AT yuhao runtimeoptimizationofadaptiveirregularapplications
_version_ 1716502738359025664