z-logo
open-access-imgOpen Access
Array regrouping and structure splitting using whole-program reference affinity
Author(s) -
Yutao Zhong,
Maksim Orlovich,
Xipeng Shen,
Chen Ding
Publication year - 2004
Publication title -
acm sigplan notices
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.31
H-Index - 99
eISSN - 1558-1160
pISSN - 0362-1340
DOI - 10.1145/996893.996872
Subject(s) - computer science , programmer , compiler , hierarchical clustering , hierarchy , data structure , trace (psycholinguistics) , partition (number theory) , cluster analysis , profiling (computer programming) , set (abstract data type) , algorithm , data mining , parallel computing , theoretical computer science , programming language , artificial intelligence , mathematics , linguistics , philosophy , combinatorics , economics , market economy
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 analysis, a practical test for the hierarchical affinity of source-level data. When used for array regrouping and structure splitting, k-distance analysis consistently outperforms data organizations given by the programmer, compiler analysis, frequency profiling, statistical clustering, and all other methods we have tried.

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here
Accelerating Research

Address

John Eccles House
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom