Flexible reference trace reduction for VM simulations

The unmanageably large size of reference traces has spurred the development of sophisticated trace reduction techniques. In this article we present two new algorithms for trace reduction: Safely Allowed Drop (SAD) and Optimal LRU Reduction (OLR). Both achieve high reduction factors and guarantee exact simulations for common replacement policies and for memories larger than a user-defined threshold. In particular, simulation on OLR-reduced traces is accurate for the LRU replacement algorithm, while simulation on SAD-reduced traces is accurate for the LRU and OPT algorithms. Both policies can easily be modified and extended to maintain timing information, thus allowing for exact simulation of the Working Set and VMIN policies. OLR also satisfies an optimality property: for a given original trace and chosen memory size, it produces the shortest possible reduced trace that has the same LRU behavior as the original for a memory of at least the chosen size. We present a proof of this optimality of OLR, and show that SAD, while not optimal, yields nearly optimal performance in practice.Our approach has multiple applications, especially in simulating virtual memory systems; many page replacement algorithms are similar to LRU in that more recently referenced pages are likely to be resident. For several replacement algorithms in the literature, SAD- and OLR-reduced traces yield exact simulations. For many other algorithms, our trace reduction eliminates information that matters little: we present extensive measurements to show that the error for simulations of the clock and segq (segmented queue) replacement policies (the most common LRU approximations) is under 3% for the vast majority of memory sizes. In nearly all cases, the error is much smaller than that incurred by the well-known stack deletion technique.SAD and OLR have many desirable properties. In practice, they achieve reduction factors up to several orders of magnitude. The reduction translates to both storage savings and simulation speedups. Both techniques require little memory and perform a single forward traversal of the original trace, making them suitable for online trace reduction. Neither requires that the simulator be modified to accept the reduced trace.

[1]  Laszlo A. Belady,et al.  A Study of Replacement Algorithms for Virtual-Storage Computer , 1966, IBM Syst. J..

[2]  Peter J. Denning The working set model for program behavior , 1967, SOSP 1967.

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

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

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

[6]  Tomás Lang,et al.  Effect of Replacement Algorithms on a Paged Buffer Database System , 1978, IBM J. Res. Dev..

[7]  Henry M. Levy,et al.  Segmented FIFO page replacement , 1981, SIGMETRICS '81.

[8]  Ozalp Babaoglu Efficient Generation of Memory Reference Strings Based on the LRU Stack Model of Program Behaviour , 1981 .

[9]  Domenico Ferrari,et al.  Two-Level Replacement Decisions in Paging Stores , 1983, IEEE Transactions on Computers.

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

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

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

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

[14]  P. R. Wilson,et al.  Operating system support for small objects , 1991, Proceedings 1991 International Workshop on Object Orientation in Operating Systems.

[15]  Fred Douglis,et al.  The Compression Cache: Using On-line Compression to Extend Physical Memory , 1993, USENIX Winter.

[16]  Eric E. Johnson,et al.  PDATS Lossless Address Trace Compression For Reducing File Size And Access Time , 1994, Proceeding of 13th IEEE Annual International Phoenix Conference on Computers and Communications.

[17]  Vidyadhar Phalke,et al.  Modeling and managing program references in a memory hierarchy , 1996 .

[18]  Pei Cao,et al.  Adaptive page replacement based on memory reference behavior , 1997, SIGMETRICS '97.

[19]  Y. Smaragdakis Optimal Trace Reduction for LRU-based Simulations , 1998 .

[20]  Y. Smaragdakis Trace Reduction for LRU-Based Simulations , 1998 .

[21]  Brian N. Bershad,et al.  Execution characteristics of desktop applications on Windows NT , 1998, ISCA.

[22]  Yannis Smaragdakis,et al.  Trace reduction for virtual memory simulations , 1999, SIGMETRICS '99.

[23]  Yannis Smaragdakis,et al.  EELRU: simple and effective adaptive page replacement , 1999, SIGMETRICS '99.

[24]  Donald S. Fussell,et al.  Compressed caching and modern virtual memory simulation , 1999 .

[25]  Yannis Smaragdakis,et al.  The Case for Compressed Caching in Virtual Memory Systems , 1999, USENIX Annual Technical Conference, General Track.

[26]  Trevor N. Mudge,et al.  Trace-driven memory simulation: a survey , 1997, CSUR.

[27]  Clifford Stein,et al.  Introduction to Algorithms, 2nd edition. , 2001 .

[28]  H. Liu,et al.  Conference on Measurement and modeling of computer systems , 2001 .

[29]  Brian Randell,et al.  Performance predictions for extended paged memories , 2004, Acta Informatica.