• DocumentCode
    2906437
  • Title

    Source Code Partitioning in Program Optimization

  • Author

    Bolat, Murat ; Kelsey, Kirk ; Li, Xiaoming ; Gao, Guang R.

  • Author_Institution
    Univ. of Delaware, Newark, DE, USA
  • fYear
    2011
  • fDate
    7-9 Dec. 2011
  • Firstpage
    56
  • Lastpage
    63
  • Abstract
    Program analysis and program optimization seek to improve program performance. There are optimization techniques which are applied to various scopes such as a source file, function or basic block. Inter-procedural program optimization techniques have the scope of source file and analyze the interaction and relationship between different program functions. The techniques analyze the entire translation unit (typically a source file) and optimize the whole translation unit globally instead of just optimizing inside a function. Analyzing and optimizing an entire translation unit increases compilation time drastically because many factors need to be considered during analysis and optimization. The translation unit size can be quite large, containing many functions. Another issue is that functions in different translation units can be more closely related to each other than to the functions within their translation unit. The main goal of this research is grouping or partitioning of closely related program functions into the same translation unit. Our method profiles an application, determines relationship information between program functions and groups closely related functions together. The source code partitioner method improves the processing time of inter-procedural optimization techniques by applying it to a subset of program functions. Partitioning of program functions by analyzing profiling output shows dramatic decrease in compilation time of programs. Our results show we can improve the compiling time in all tested real world benchmarks.
  • Keywords
    program compilers; program diagnostics; program interpreters; interprocedural program optimization technique; program analysis; program compilation time; program function; program performance; source code partitioning; source file; translation unit; Clustering algorithms; Communities; Mutual information; Optimization; Partitioning algorithms; Software algorithms; USA Councils; agglomerative; betweenness; compiler; divisive; instrumentation; optimization; partitioning;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel and Distributed Systems (ICPADS), 2011 IEEE 17th International Conference on
  • Conference_Location
    Tainan
  • ISSN
    1521-9097
  • Print_ISBN
    978-1-4577-1875-5
  • Type

    conf

  • DOI
    10.1109/ICPADS.2011.125
  • Filename
    6121260