Array regrouping and structure splitting using whole-program reference affinity

Yutao Zhong, Maksim Orlovich, Xipeng Shen, Chen Ding
2004 Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation - PLDI '04  
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
more » ... 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.
doi:10.1145/996841.996872 dblp:conf/pldi/ZhongOSD04 fatcat:cmomliff4bdi3oadgny5xkh4s4