• DocumentCode
    621531
  • 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
  • fYear
    2012
  • fDate
    14-16 Dec. 2012
  • Firstpage
    46
  • Lastpage
    53
  • 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;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Advanced Computing and Communications (ADCOM), 2012 18th Annual International Conference on
  • Conference_Location
    Bangalore
  • Print_ISBN
    978-1-4799-0802-8
  • Type

    conf

  • DOI
    10.1109/ADCOM.2012.6563583
  • Filename
    6563583