A Survey of Computer Architecture Simulation Techniques and Tools
Author: Ayaz Akram and Lina Sawalha
IEEE Access 2019
2169-3536 © 2019 IEEE
IEEE Access 2019
2169-3536 © 2019 IEEE
This paper provides a comprehensive survey of simulation techniques and tools used in computer architecture research. It categorizes various simulation models (e.g., functional, timing, and integrated simulators) and compares modern x86 simulators—such as gem5, MARSSx86, Multi2Sim, PTLsim, Sniper, and ZSim—in terms of experimental error, performance, and flexibility. The work serves as a valuable resource for researchers, especially those new to computer architecture, helping them choose the appropriate simulation tool for their studies.
Need: Modern processors feature complex microarchitectures and numerous configuration options, making it challenging to accurately analyze performance through analytical models. Simulation has therefore become the standard method for performance evaluation.
Problem: With the growing number of simulators and diverse simulation techniques, selecting the right simulator for a specific research need is difficult.
Research Questions:
What are the trade-offs (accuracy vs. performance) among different simulation techniques?
What are the strengths and limitations of various simulators compared to real hardware?
✅ Provides an up-to-date survey of computer architecture simulation techniques and tools.
✅ Categorizes simulators based on simulation details, target scope, and input type (trace-driven vs. execution-driven).
✅ Conducts a detailed comparison of six modern x86 simulators by evaluating experimental error and performance.
✅ Discusses major challenges in simulation—such as speed, accuracy, and ease of development—and proposes potential solutions.
Functional Simulators: Emulate the target’s Instruction Set Architecture (ISA) to provide correct functionality with fast execution speeds, but they often lack detailed microarchitectural timing.
Timing Simulators: Model microarchitectural details (using cycle-level, event-driven, or interval simulation) to provide detailed performance statistics, albeit at slower speeds.
Integrated Simulators: Combine both functional and timing models to achieve a balance between accuracy and flexibility.
Additional Classifications: Simulators are also grouped based on input—trace-driven versus execution-driven—and specialized simulators exist for memory, networks, or accelerators.
Simulation Speed: Modern applications and processors involve billions to trillions of instructions, leading to long simulation times, especially in multi-core scenarios.
Accuracy Issues: Errors may arise from modeling, specification, or abstraction discrepancies, resulting in deviations from real hardware behavior.
Validation: Ensuring that simulator outputs closely match real hardware performance is critical, yet challenging due to the complexity and limited documentation of modern architectures.
Simulators Evaluated: gem5, MARSSx86, Multi2Sim, PTLsim, Sniper, and ZSim.
Evaluation Criteria: The study compares absolute and relative accuracy (experimental error), simulation speed, and the level of detail in performance statistics.
Findings:
Each simulator shows distinct advantages and drawbacks. For instance, gem5 provides very detailed statistics but runs slower, whereas Sniper and ZSim offer faster simulation speeds with a modest loss in accuracy.
Techniques such as sampling, statistical simulation, and parallel simulation are discussed as methods to reduce simulation time.
The configuration of key components (e.g., branch predictors, cache warmup) is crucial to closely mimic the target hardware and reduce experimental errors.
Paper Limitations:
1️⃣ Some simulators offer limited support for uncore components or full system (SoC) simulation.
2️⃣ Balancing accuracy and simulation performance still requires further optimization.
Future Work:
✅ Develop faster yet accurate simulation techniques.
✅ Investigate FPGA-accelerated and parallel simulation methods to reduce simulation time.
✅ Improve validation methods to better align simulator results with real hardware behavior.
📌 Key Takeaways:
1️⃣ The survey and comparative study of simulation techniques and tools provide critical insights for selecting the appropriate simulator for specific research objectives.
2️⃣ The comparison of x86 simulators highlights the inherent trade-offs between simulation accuracy and speed.
3️⃣ Continuous improvements are needed in simulator design to enhance both performance and fidelity, which is vital for advancing computer architecture research.