Regression-Based Multi-Model Prediction of Data Reuse Signature

As a locality metric, the distance of data reuses has been used in designing compiler, architecture, and file systems. Recently, Ding and Zhong described a method that predicts reuse distance histograms across all inputs of a program. In this paper we extend their method in two ways. First, we consider more than two training inputs using regression analysis. Second, we use a method called multi-model prediction to overcome the limitation due to small training inputs or coarse-grain data collection. Compared to Ding and Zhong’s method, the new locality prediction can reduce about half of the prediction error, remove 95% of space cost, and use much smaller inputs and faster data collection in training.

[1]  Ron Cytron,et al.  Interprocedural dependence analysis and parallelization , 1986, SIGP.

[2]  Ken Kennedy,et al.  Improving cache performance in dynamic applications through data and computation reorganization at run time , 1999, PLDI '99.

[3]  Paul Feautrier,et al.  Direct parallelization of call statements , 1986, SIGPLAN '86.

[4]  Monica S. Lam,et al.  A data locality optimizing algorithm , 1991, PLDI '91.

[5]  Zhiyuan Li,et al.  An Efficient Data Dependence Analysis for Parallelizing Compilers , 1990, IEEE Trans. Parallel Distributed Syst..

[6]  Chen Ding,et al.  Miss rate prediction across all program inputs , 2003, 2003 12th International Conference on Parallel Architectures and Compilation Techniques.

[7]  Kristof Beyls,et al.  Reuse Distance as a Metric for Cache Behavior. , 2001 .

[8]  Yuanyuan Zhou,et al.  The Multi-Queue Replacement Algorithm for Second Level Buffer Caches , 2001, USENIX Annual Technical Conference, General Track.

[9]  Ken Kennedy,et al.  A static performance estimator to guide data partitioning decisions , 1991, PPOPP '91.

[10]  Ken Kennedy,et al.  An Implementation of Interprocedural Bounded Regular Section Analysis , 1991, IEEE Trans. Parallel Distributed Syst..

[11]  Matthew Arnold,et al.  A framework for reducing the cost of instrumented code , 2001, PLDI '01.

[12]  C. Cascaval,et al.  Calculating stack distances efficiently , 2003, MSP '02.

[13]  Ken Kennedy,et al.  Optimizing Compilers for Modern Architectures: A Dependence-based Approach , 2001 .

[14]  Chau-Wen Tseng,et al.  Improving data locality with loop transformations , 1996, TOPL.

[15]  David Padua,et al.  Compile-time performance prediction of scientific programs , 2000 .

[16]  Kristof Beyls,et al.  Reuse Distance-Based Cache Hint Selection , 2002, Euro-Par.

[17]  Mik Wisniewski,et al.  Applied Regression Analysis: A Research Tool , 1990 .

[18]  Zhiyuan Li,et al.  An Evaluation of the Potential Benefits of Register Allocation for Array References , 1996 .

[19]  Song Jiang,et al.  LIRS: an efficient low inter-reference recency set replacement policy to improve buffer cache performance , 2002, SIGMETRICS '02.

[20]  Irving L. Traiger,et al.  Evaluation Techniques for Storage Hierarchies , 1970, IBM Syst. J..

[21]  John Paul Shen,et al.  The intrinsic bandwidth requirements of ordinary programs , 1996, ASPLOS VII.