Active memory: A new abstraction for memory system simulation

Journal Article (Journal Article)

This article describes the active memory abstraction for memory-system simulation. In this abstraction - designed specifically for on-the-fly simulation - memory references logically invoke a user-specified function depending upon the reference's type and accessed memory block state. Active memory allows simulator writers to specify the appropriate action on each reference, including `no action' for the common case of cache hits. Because the abstraction hides implementation details, implementations can be carefully tuned for particular platforms, permitting much more efficient on-the-fly simulation than the traditional trace-driven abstraction. Our SPARC implementation, Fast-Cache, executes simple data cache simulation 2 to 6 times slower than the original, uninstrumented program on a SPARCstation 10; a procedure call based trace-driven simulator is 7 to 16 times slower than the original program, and a trace-driven simulator that buffers references in memory to amortize procedure call overhead is 3 to 8 times slower. Fast-Cache implements active memory by performing a fast table look up of the memory block state, taking as few as 3 cycles on a SuperSPARC for the no-action case. Modeling the effects of Fast-Cache's additional lookup instructions qualitatively shows that Fast-Cache is likely to be the most efficient simulator for miss ratios between 3% and 40%.

Full Text

Duke Authors

Cited Authors

  • Lebeck, AR; Wood, DA

Published Date

  • January 1, 1997

Published In

Volume / Issue

  • 7 / 1

Start / End Page

  • 42 - 77

International Standard Serial Number (ISSN)

  • 1049-3301

Digital Object Identifier (DOI)

  • 10.1145/244804.244806

Citation Source

  • Scopus