An inter-reference gap model for temporal locality in program behavior

The property of locality in program behavior has been studied and modelled extensively because of its application to memory design, code optimization, multiprogramming etc. We propose a k order Markov chain based scheme to model the sequence of time intervals between successive references to the same address in memory during program execution. Each unique address in a program is modelled separately. To validate our model, which we call the Inter-Reference Gap (IRG) model, we show substantial improvements in three different areas where it is applied. (1) We improve upon the miss ratio for the Least Recently Used (LRU) memory replacement algorithm by up to 37%. (2) We achieve up to 22% space-time product improvement over the Working Set (WS) algorithm for dynamic memory management. (3) A new trace compression technique is proposed which compresses up to 2.5% with zero error in WS simulations and up to 3.7% error in the LRU simulations. All these results are obtained experimentally, via trace driven simulations over a wide range of cache traces, page reference traces, object traces and database traces.

[1]  Erol Gelenbe,et al.  A Unified Approach to the Evaluation of a Class of Replacement Algorithms , 1973, IEEE Transactions on Computers.

[2]  Thomas Roberts Puzak,et al.  Analysis of cache replacement-algorithms , 1985 .

[3]  Anant Agarwal,et al.  Blocking: exploiting spatial locality for trace compaction , 1990, SIGMETRICS '90.

[4]  Vidyadhar Phalke,et al.  Using Spatial Locality for Trace Compression , 1994 .

[5]  Gerhard Weikum,et al.  The LRU-K page replacement algorithm for database disk buffering , 1993, SIGMOD Conference.

[6]  Alan P. Batson,et al.  Program Behavior at the Symbolic Level , 1976, Computer.

[7]  A. Dain Samples,et al.  Mache: no-loss trace compaction , 1989, SIGMETRICS '89.

[8]  Jean-Loup Baer,et al.  Reducing memory latency via non-blocking and prefetching caches , 1992, ASPLOS V.

[9]  Dominique Thiebaut On the Fractal Dimension of Computer Programs and its Application to the Prediction of the Cache Miss Ratio , 1990, PERV.

[10]  Alan Jay Smith A Modified Working Set Paging Algorithm , 1976, IEEE Transactions on Computers.

[11]  Wesley W. Chu,et al.  The Renewal Model for Program Behavior , 1975, SIAM J. Comput..

[12]  James Archibald,et al.  BACH: BYU Address Collection Hardware, The Collection of Complete Traces , 1992 .

[13]  Jeffrey Robert Spirn,et al.  Program locality and dynamic memory management. , 1973 .

[14]  Wesley W. Chu,et al.  Program behavior and the page-fault-frequency replacement algorithm , 1976, Computer.

[15]  Juan Rodriguez-Rosell,et al.  Empirical Data Reference Behavior in Data Base Systems , 1976, Computer.

[16]  Alan Jay Smith,et al.  Two Methods for the Efficient Analysis of Memory Address Trace Data , 1977, IEEE Transactions on Software Engineering.

[17]  Alan Jay Smith Analysis of the Optimal, Look-Ahead Demand Paging Algorithms , 1976, SIAM J. Comput..

[18]  JORMA RISSANEN,et al.  A universal data compression system , 1983, IEEE Trans. Inf. Theory.

[19]  Steven Rudich,et al.  Inferring the structure of a Markov Chain from its output , 1985, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[20]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[21]  James A. Storer,et al.  Data Compression: Methods and Theory , 1987 .

[22]  Joel L. Wolf,et al.  Synthetic Traces for Trace-Driven Simulation of Cache Memories , 1992, IEEE Trans. Computers.

[23]  Gerald S. Shedler,et al.  Locality in Page Reference Strings , 1972, SIAM J. Comput..

[24]  Peter J. Denning,et al.  Operating Systems Theory , 1973 .

[25]  Yakov A. Kogan,et al.  Some Results on Distribution-Free Analysis of Paging Algorithms , 1976, IEEE Transactions on Computers.

[26]  J. T. Robinson,et al.  Data cache management using frequency-based replacement , 1990, SIGMETRICS '90.

[27]  Dominique Thiébaut,et al.  On the Fractal Dimension of Computer Programs and its Application to the Prediction of the Cache Miss Ratio , 1989, IEEE Trans. Computers.

[28]  R. S. Fabry,et al.  MIN—an optimal variable-space page replacement algorithm , 1976, CACM.

[29]  Dhiraj K. Pradhan,et al.  Modeling Live and Dead Lines in Cache Memory Systems , 1993, IEEE Trans. Computers.

[30]  A. Inkeri Verkamo Empirical Results on Locality in Database Referencing , 1985, SIGMETRICS.

[31]  P.J. Denning,et al.  Multiprogrammed memory management , 1975, Proceedings of the IEEE.

[32]  Harold S. Stone,et al.  A Model of Workloads and Its Use in Miss-Rate Prediction for Fully Associative Caches , 1992, IEEE Trans. Computers.

[33]  Shikharesh Majumdar,et al.  Measurement and analysis of locality phases in file referencing behaviour , 1986, SIGMETRICS '86/PERFORMANCE '86.

[34]  Alan P. Batson,et al.  Characteristics of program localities , 1976, CACM.

[35]  W. Frank King,et al.  Analysis of Demand Paging Algorithms , 1971, IFIP Congress.

[36]  Peter J. Denning,et al.  Working Sets Past and Present , 1980, IEEE Transactions on Software Engineering.

[37]  Mark A. Franklin,et al.  Computation of page fault probability from program transition diagram , 1974, CACM.

[38]  P. Krishnan,et al.  Optimal prefetching via data compression , 1991, [1991] Proceedings 32nd Annual Symposium of Foundations of Computer Science.

[39]  Harold S. Stone,et al.  DMIN: An Algorithm for Computing the Optimal Dynamic Allocation in a Virtual Memory Computer , 1981, IEEE Transactions on Software Engineering.

[40]  Ronald Fagin,et al.  Cold-start vs. warm-start miss ratios , 1978, CACM.

[41]  Gururaj S. Rao,et al.  Performance Analysis of Cache Memories , 1978, JACM.

[42]  Manfred Ruschitzka,et al.  Managing Locality Sets: The Model and Fixed-Size Buffers , 1993, IEEE Trans. Computers.

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