Trace reduction for virtual memory simulations

The unmanageably large size of reference traces has spurred the development of sophisticated trace reduction techniques. In this paper we present two new algorithms for trace reductionSafely Allowed Drop (SAD) and Optimal LRU Reduction (OLR). Both achieve high reduction factors and guarantee ezact 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. OLR also satisfies an optimality property: for a given trace and memory size it produces the shortest possible trace that has the same LRU behavior as the original for a memory of at least this size. 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, SADand OLRreduced 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 majority of memory sizes. In nearly all cases, the error is 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, which makes them suitable for on-line trace reduction. Neither requires that the simulator be modified to accept the reduced trace.

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

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

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

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

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

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

[7]  Peter J. Denning,et al.  The working set model for program behavior , 1968, CACM.

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

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

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

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

[12]  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.

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

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

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

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

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

[18]  Trace Reduction for Virtual Memory Simulations , 1999, SIGMETRICS.