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
Link To Document