TY - GEN
T1 - Sharing analysis of arrays, collections, and recursive structures
AU - Marron, Mark
AU - Méndez-Lojo, Mario
AU - Hermenegildo, Manuel
AU - Stefanovic, Darko
AU - Kapur, Deepak
PY - 2008
Y1 - 2008
N2 - Precise modeling of the program heap is fundamental for understanding the behavior of a program, and is thus of significant interest for many optimization applications. One of the fundamental properties of the heap that can be used in a range of optimization techniques is the sharing relationships between the elements in an array or collection. If an analysis can determine that the memory locations pointed to by different entries of an array (or collection) are disjoint, then in many cases loops that traverse the array can be vectorized or transformed into a thread-parallel version. This paper introduces several novel sharing properties over the concrete heap and corresponding abstractions to represent them. In conjunction with an existing shape analysis technique, these abstractions allow us to precisely resolve the sharing relations in a wide range of heap structures (arrays, collections, recursive data structures, composite heap structures) in a computationally efficient manner. The effectiveness of the approach is evaluated on a set of challenge problems from the JOlden and SPECjvm98 suites. Sharing information obtained from the analysis is used to achieve substantial thread-level parallel speedups.
AB - Precise modeling of the program heap is fundamental for understanding the behavior of a program, and is thus of significant interest for many optimization applications. One of the fundamental properties of the heap that can be used in a range of optimization techniques is the sharing relationships between the elements in an array or collection. If an analysis can determine that the memory locations pointed to by different entries of an array (or collection) are disjoint, then in many cases loops that traverse the array can be vectorized or transformed into a thread-parallel version. This paper introduces several novel sharing properties over the concrete heap and corresponding abstractions to represent them. In conjunction with an existing shape analysis technique, these abstractions allow us to precisely resolve the sharing relations in a wide range of heap structures (arrays, collections, recursive data structures, composite heap structures) in a computationally efficient manner. The effectiveness of the approach is evaluated on a set of challenge problems from the JOlden and SPECjvm98 suites. Sharing information obtained from the analysis is used to achieve substantial thread-level parallel speedups.
KW - Parallelism
KW - Shape analysis
KW - Shared structures
UR - http://www.scopus.com/inward/record.url?scp=77950552734&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=77950552734&partnerID=8YFLogxK
U2 - 10.1145/1512475.1512485
DO - 10.1145/1512475.1512485
M3 - Conference contribution
AN - SCOPUS:77950552734
SN - 9781605583822
T3 - ACM SIGPLAN/SIGSOFT Workshop on Program Analysis for Software Tools and Engineering
SP - 43
EP - 49
BT - Proceedings of the 2008 SIGSOFT/SIGPLAN Workshop on Program Analysis for Software Tools and Engineering, PASTE '08
T2 - 2008 SIGSOFT/SIGPLAN Workshop on Program Analysis for Software Tools and Engineering, PASTE '08
Y2 - 9 November 2008 through 10 November 2008
ER -