skip to main content
10.1145/1117201.1117211acmconferencesArticle/Chapter ViewAbstractPublication PagesfpgaConference Proceedingsconference-collections
Article

Design, implementation, and verification of active cache emulator (ACE)

Published:22 February 2006Publication History

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.

References

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle Scholar
  3. 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 ScholarGoogle Scholar
  4. 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 ScholarGoogle Scholar
  5. M. D. Hill, "A Case for Direct-Mapped Caches," Computer, v.21 n.12, p.25--40, December 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Intel VTune Performance Analyzer, http://www.intel.com/cd/software/products/asmo-na/eng/vtune/vpa/219637.htmGoogle ScholarGoogle Scholar
  7. 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 ScholarGoogle Scholar
  8. S. Manegold. Cache Calibrator v.0.9e. http://www.cwi.nl/~manegold/Calibrator/.Google ScholarGoogle Scholar
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. Pentium Pro Family Developer's Manual Volume 1: Specifications. Intel Corp. 1996.Google ScholarGoogle Scholar
  11. RightMark Memory Analyzer Website, http://cpu.rightmark.org/products/rmma.shtmlGoogle ScholarGoogle Scholar
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. SimPoint Website, http://www.cs.ucsd.edu/~calder/simpoint/Google ScholarGoogle Scholar
  14. Standard Performance Evaluation Corporation (SPEC) Website, http://www.specbench.org/Google ScholarGoogle Scholar
  15. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Design, implementation, and verification of active cache emulator (ACE)

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      FPGA '06: Proceedings of the 2006 ACM/SIGDA 14th international symposium on Field programmable gate arrays
      February 2006
      248 pages
      ISBN:1595932925
      DOI:10.1145/1117201
      • General Chair:
      • Steve Wilton,
      • Program Chair:
      • André DeHon

      Copyright © 2006 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 22 February 2006

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • Article

      Acceptance Rates

      Overall Acceptance Rate125of627submissions,20%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader