Title :
Runtime optimization utilizing program structure
Author :
Gorti, Naga Pavan Kumar ; Somani, Arun K.
Author_Institution :
Electr. & Comput. Eng., Iowa State Univ., Ames, IA, USA
Abstract :
Dynamic Binary Optimization and dynamic compilation based schemes are widely employed for runtime program optimization. They are effective in specific program scenarios, but their scope of applicability is limited by the associated runtime overhead. Their capabilities can be exploited well with the knowledge of program parameters and execution conditions. These high level structures affect the runtime optimization decisions, thereby reducing the overhead in rediscovering them. In the current program flow process, the binary executable files are devoid of this program high-level structure. Such structures exist at earlier stages, i.e., at higher level program in the compiler front end generated parse and attributed abstract syntax trees, and data structures generated in the compiler back end for optimization, i.e. a call graph. However, the information is discarded at the final code generation stage. In this paper, we develop a framework that automatically captures attributes of program structure, which are carried forward through static compilation. They are used to make the runtime optimization process faster and lightweight in nature. We also develop a novel Runtime Management Module (RMM) to control the program execution process and reoptimize the code to better suit the current execution conditions, as needed. Our metadata extraction techniques coupled with the effectiveness of RMM results into significant performance gains during execution of diverse benchmarks from SPEC and Splash 2 benchmark suites.
Keywords :
abstract data types; computational linguistics; meta data; optimising compilers; program diagnostics; tree data structures; RMM; SPEC benchmark suite; Splash 2 benchmark suite; abstract syntax trees; binary executable files; call graph; code generation; code reoptimization; compiler back end; compiler front end; data structures; dynamic binary optimization; dynamic compilation-based schemes; high-level program structure; metadata extraction techniques; overhead reduction; performance gains; program execution conditions; program execution process control; program flow process; program parameters; program structure attributes; runtime management module; runtime optimization decisions; runtime overhead; runtime program optimization; static compilation; Benchmark testing; Libraries; Monitoring; Optimization; Performance gain; Program processors; Runtime;
Conference_Titel :
Advanced Computing and Communications (ADCOM), 2012 18th Annual International Conference on
Conference_Location :
Bangalore
Print_ISBN :
978-1-4799-0802-8
DOI :
10.1109/ADCOM.2012.6563583