Proceedings of the ACM SIGPLAN 2004 Conference on Programming Language Design and Implementation 2004
DOI: 10.1145/996841.996872
|View full text |Cite
|
Sign up to set email alerts
|

Array regrouping and structure splitting using whole-program reference affinity

Abstract: While the memory of most machines is organized as a hierarchy, program data are laid out in a uniform address space. This paper defines a model of reference affinity, which measures how close a group of data are accessed together in a reference trace. It proves that the model gives a hierarchical partition of program data. At the top is the set of all data with the weakest affinity. At the bottom is each data element with the strongest affinity. Based on the theoretical model, the paper presents k-distance ana… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
51
0
1

Year Published

2005
2005
2014
2014

Publication Types

Select...
5
2
2

Relationship

0
9

Authors

Journals

citations
Cited by 98 publications
(52 citation statements)
references
References 36 publications
0
51
0
1
Order By: Relevance
“…For example, reuse distance is used to analyze program locality and its access characteristics [15], to enhance the locality of programs [16], and to improve CPU cache performance [17]. The LIRS buffer cache replacement algorithm, based on a reuse distance analysis, has been proposed to effectively overcome the performance disadvantages of LRU replacement [21].…”
Section: Related Work On Reuse Distance and Localitymentioning
confidence: 99%
“…For example, reuse distance is used to analyze program locality and its access characteristics [15], to enhance the locality of programs [16], and to improve CPU cache performance [17]. The LIRS buffer cache replacement algorithm, based on a reuse distance analysis, has been proposed to effectively overcome the performance disadvantages of LRU replacement [21].…”
Section: Related Work On Reuse Distance and Localitymentioning
confidence: 99%
“…For large structures they apply field reordering such that fields with temporal affinity are located in same cache block. Zhong et al [24] describe k-distance analysis to understand data affinity and identify opportunities for array grouping and structure splitting. We use static analysis to understand fragmentation of data in cache lines, and find opportunities for structure or array splitting.…”
Section: Related Workmentioning
confidence: 99%
“…Other techniques that can be applied are structure splitting as proposed by Chilimbi et al [6], and Zhong et al [35], who also describe the opposite transformation array regrouping. Field reordering as described by Chilimbi et al [6] is another method to increase locality in recursive data structures.…”
Section: Related Workmentioning
confidence: 99%