ABSTRACT
This paper presents the design, implementation, and verification of the Active Cache Emulator (ACE), a novel FPGA-based emulator that models an L3 cache actively and in real-time. ACE leverages interactions with its host system to model the target system (i.e. hypothetical system under study). Unlike most existing FPGA-based cache emulators that collect only memory traces from their host system, ACE provides feedback to its host by modeling the impact of the emulated cache on the system. Specifically, delays are injected to time dilate the host system which then experiences hit/miss latencies of the emulated cache. Such active emulation expands the context of performance measurements by capturing processor performance metrics (e.g. cycle per instruction) in addition to measuring the typical cache-specific performance metrics (e.g. miss ratio).ACE is designed to interface with a front-side bus (FSB) of a typical Pentium®-based PC system. To actively emulate cache latencies, ACE utilizes the snoop stall mechanism of the FSB to inject delays to the system. At present, ACE is implemented using a Xilinx XC2V6000 FPGA running at 66MHz, the same speed as its host's FSB. Verification of ACE includes using the Cache Calibrator and RightMark Memory Analyzer software to confirm proper detection of the emulated cache by the host system, and comparing ACE results with SimpleScalar software simulations.
- L. A. Barroso, S. Iman, J. Jeong, K. Oner, K. Ramamurthy and M. Dubois, "RPM: A Rapid Prototyping Engine for Multiprocessor Systems," IEEE Computer Magazine, pp. 26--34, February 1995. Google ScholarDigital Library
- N. Chalainanont, E. Nurvitadhi, R. Morrison, L. Su, K. Chow, S. L. Lu, and K. Lai, "Real-time L3 Cache Simulations Using the Programmable Hardware-Assisted Cache Emulator (PHA$E)," Sixth Annual Workshop on Workload Characterization, October 27, 2003.Google Scholar
- J. K. Flanagan, B. Nelson, J. Archibald, and K. Grimsrud, "BACH: BYU Address Collection Hardware, the Collection of Complete Traces", Proc. of the 6th International Conference on Modeling Techniques and Tools for Computer Performance Evaluation, Edinburgh U.K., September 1992, pp. 128--137.Google Scholar
- K. Grimsrud, J. Archibald, M. Ripley, K. Flanagan, and B. Nelson, "BACH: A Hardware Monitor for Tracing Microprocessor-based Systems", Microprocessors and Microsystems, v.17, n.8, Elsevier Science, Amsterdam, October 1993, pp. 443--458.Google Scholar
- M. D. Hill, "A Case for Direct-Mapped Caches," Computer, v.21 n.12, p.25--40, December 1988. Google ScholarDigital Library
- Intel VTune Performance Analyzer, http://www.intel.com/cd/software/products/asmo-na/eng/vtune/vpa/219637.htmGoogle Scholar
- S.-L. Lu and K. Lai, "Implementation of Hardware Cache Simulator (Hw$im) -- A Real Time Cache Simulator", Proc. of FPL 2003, Portugal, Sept. 2003.Google Scholar
- S. Manegold. Cache Calibrator v.0.9e. http://www.cwi.nl/~manegold/Calibrator/.Google Scholar
- A. Nanda, K. Mak, K. Sugavanam, R. K. Sahoo, V. Soundararajan, and T. B. Smith, "MemorIES: A Programmable, Real-Time Hardware Emulation Tool for Multiprocessor Server Design", Proc. of the 9th Int. Conf. on Arch. Support for Prog. Lang. and Operating Systems, Cambridge MA, November 2000, pp. 37--48. Google ScholarDigital Library
- Pentium Pro Family Developer's Manual Volume 1: Specifications. Intel Corp. 1996.Google Scholar
- RightMark Memory Analyzer Website, http://cpu.rightmark.org/products/rmma.shtmlGoogle Scholar
- T. E. Sherwood, E. Perelman, G. Hamerly, and B. Calder, "Automatically Characterizing Large Scale Program Behavior," Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), Oct 2002. Google ScholarDigital Library
- SimPoint Website, http://www.cs.ucsd.edu/~calder/simpoint/Google Scholar
- Standard Performance Evaluation Corporation (SPEC) Website, http://www.specbench.org/Google Scholar
- M. Watson and J. Flanagan, "Simulating L3 Caches in Real Time Using Hardware Accelerated Cache Simulation (HACS): a Case Study with SPECint 2000", 14th Symposium on Computer Architecture and High Performance Computing, October 2002. Google ScholarDigital Library
- H. Yoon, G. Park, K. Lee, T. Han, S. Kim, and S. Yang, "Reconfigurable Address Collector and Flying Cache Simulator", Proc. of High Performance Computing Asia '97, Seoul Korea, April 1997, pp 552--556. Google ScholarDigital Library
Index Terms
- Design, implementation, and verification of active cache emulator (ACE)
Recommendations
Active cache emulator
This paper presents the active cache emulator (ACE), a novel field-programmable gate-array (FPGA)-based emulator that models an L3 cache actively and in real-time. ACE leverages interactions with its host system to model the target system. Unlike most ...
Cache modeling for real-time software: beyond direct mapped instruction caches
RTSS '96: Proceedings of the 17th IEEE Real-Time Systems SymposiumWe present a method for determining a tight bound on the worst case execution time of a program when running on a given hardware system with cache memory. Caches are used to improve the average memory performance, however, their presence complicates the ...
Analytical Modeling of Set-Associative Cache Behavior
Cache behavior is complex and inherently unstable, yet it is a critical factor affecting program performance. A method of evaluating cache performance is required, both to give quantitative predictions of miss-ratio and information to guide optimization ...
Comments