Synthetic Trace-Driven Simulation of Cache Memory

The widening gap between CPU and memory speed has made caches an integral feature of modern high- performance processors. The high degree of configurability of cache memory can require extensive design space exploration and is generally performed using execution-driven or trace-driven simulation. Execution-driven simulators can be highly accurate but require a detailed development flow and may impose performance costs. Trace-driven simulators are an efficient alternative but maintaining large traces can present storage and portability problems. We propose a distribution-driven trace generation methodology as an alternative to traditional execution- and trace- driven simulation. An adaptation of the Least Recently Used Stack Model is used to concisely capture the key locality features in a trace and a two-state Markov chain model is used for trace generation. Simulation and analysis of a variety of embedded application traces demonstrate the cacheability characteristics of the synthetic traces are generally very well preserved and similar to their real trace, and we also highlight the potential performance improvement over ISA emulation.

[1]  Lieven Eeckhout,et al.  Performance analysis through synthetic trace generation , 2000, 2000 IEEE International Symposium on Performance Analysis of Systems and Software. ISPASS (Cat. No.00EX422).

[2]  Mark Horowitz,et al.  An analytical cache model , 1989, TOCS.

[3]  L. Devroye Non-Uniform Random Variate Generation , 1986 .

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

[5]  Erik Hagersten,et al.  StatCache: a probabilistic approach to efficient and accurate data locality analysis , 2004, IEEE International Symposium on - ISPASS Performance Analysis of Systems and Software, 2004.

[6]  Diomidis Spinellis,et al.  Code Quality: The Open Source Perspective , 2006 .

[7]  Jeffrey R. Spirn,et al.  Program Behavior: Models and Measurements , 1977 .

[8]  S. Schwartz,et al.  Properties of the working-set model , 1972, OPSR.

[9]  James K. Archibald,et al.  On the Accuracy of Memory Reference Models , 1994, Computer Performance Evaluation.

[10]  Miodrag Potkonjak,et al.  MediaBench: a tool for evaluating and synthesizing multimedia and communications systems , 1997, Proceedings of 30th Annual International Symposium on Microarchitecture.

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

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

[13]  E. S. Sorenson,et al.  Evaluating synthetic trace models using locality surfaces , 2002, 2002 IEEE International Workshop on Workload Characterization.

[14]  David J. Lilja,et al.  Measuring computer performance : A practitioner's guide , 2000 .