Embra
- 15 May 1996
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGMETRICS Performance Evaluation Review
- Vol. 24 (1) , 68-79
- https://doi.org/10.1145/233008.233025
Abstract
This paper describes Embra, a simulator for the processors, caches, and memory systems of uniprocessors and cache-coherent multiprocessors. When running as part of the SimOS simulation environment, Embra models the processors of a MIPS R3000/R4000 machine faithfully enough to run a commercial operating system and arbitrary user applications. To achieve high simulation speed, Embra uses dynamic binary translation to generate code sequences which simulate the workload. It is the first machine simulator to use this technique. Embra can simulate real workloads such as multiprocess compiles and the SPEC92 benchmarks running on Silicon Graphic's IRIX 5.3 at speeds only 3 to 9 times slower than native execution of the workload, making Embra the fastest reported complete machine simulator. Dynamic binary translation also gives Embra the flexibility to dynamically control both the simulation statistics reported and the simulation model accuracy with low performance overheads. For example, Embra can customize its generated code to include a processor cache model which allows it to compute the cache misses and memory stall time of a workload. Customized code generation allows Embra to simulate a machine with caches at slowdowns of only a factor of 7 to 20. Most of the statistics generated at this speed match those produced by a slower reference simulator to within 1%. This paper describes the techniques used by Embra to achieve high performance, focusing on the requirements unique to machine simulation, including modeling the processor, memory management unit, and caches. In order to study Embra's memory system performance we use the SimOS simulation system to examine Embra itself. We present a detailed breakdown of Embra's memory system performance for two cache hierarchies to understand Embra's current performance and to show that Embra's implementation techniques benefit significantly from the larger cache hierarchies that are becoming available. Embra has been used for operating system development and testing as well as for studies of computer architecture. In this capacity it has simulated large, commercial workloads including IRIX running a relational database system and a CAD system for billions of simulated machine cycles.Keywords
This publication has 14 references indexed in Scilit:
- Active memoryPublished by Association for Computing Machinery (ACM) ,1995
- Complete computer system simulation: the SimOS approachIEEE Parallel & Distributed Technology: Systems & Applications, 1995
- The SPLASH-2 programsPublished by Association for Computing Machinery (ACM) ,1995
- ExokernelPublished by Association for Computing Machinery (ACM) ,1995
- HivePublished by Association for Computing Machinery (ACM) ,1995
- The impact of architectural trends on operating system performancePublished by Association for Computing Machinery (ACM) ,1995
- Trap-driven simulation with Tapeworm IIPublished by Association for Computing Machinery (ACM) ,1994
- ATOMACM SIGPLAN Notices, 1994
- Efficient software-based fault isolationPublished by Association for Computing Machinery (ACM) ,1993
- The Stanford Dash multiprocessorComputer, 1992