Giter Club home page Giter Club logo

scarab's Introduction

Scarab

Scarab is a cycle accurate simulator for state-of-the-art, high performance, multicore chips. Scarab's goal is to be highly accurate, while also being fast and easy to work with.

Simulator Features:
  • Accurate: Scarab is detailed cycle accurate uArchitecture model
  • Fast: 600 KIPS trace-driven, 100 KIPS exec-driven
  • SimPoint Support: Checkpoints, Fast-Forward, Marker Instructions
  • Execute-at-Fetch: Easier support for oracle features, faster development of new features
What Code Can Scarab Run?
  • Single-threaded x86_64 programs that can be run on Intel's PIN
Scarab uArchitecture:
  • All typical pipeline stages and out-of-order structures (Fetch, Decode, Rename, Retire, ROB, R/S, and more...)
  • Multicore
  • Wrong path simulation
  • Cache Hierarchy (Private L1, Private MLC, Private/Shared LLC)
  • Ramulator Memory Simulator (DDR3/4, LPDDR3/4, GDDR5, HBM, WideIO/2, and more...)
  • Interface to McPat and CACTI for system level power/energy modeling
  • Support for DVFS
  • Latest Branch Predictors and Data Prefetchers (TAGE-SC-L, Stride, Stream, 2dc, GHB, Markov, and more...)
Code Limitations
  • 32-bit binaries not supported (work in progress)
  • Performance of System Code not modeled
  • No cooperative multithreaded code
uArch Limitations
  • No SMT
  • No real OS virtual to physical address translation
  • Shared bus interconnect only (ring, mesh, and others are in progress.)

Scarab was created in collaboration with HPS and SAFARI. This project was sponsored by Intel Labs.

License & Copyright

Please see the LICENSE for more information.

Getting Started

  1. System requirements and software prerequisites.
  2. Compiling Scarab.
  3. Setting up and running auto-verification on Scarab.
  4. Running a single program on Scarab.
  5. Running multiple jobs locally or on a batch system. (coming soon!)
  6. Viewing batch job status and results. (coming soon!)
  7. Simulating dynamorio memtraces
  8. Solutions to common Scarab problems.

Contributing to Scarab

Found a bug? File a bug report.

Request a new feature? File a feature request.

Have code you would like to commit? Create a pull request.

Other Resources

  1. Auto-generated software documentation can be found here.
  • Please run this command in this directory to auto-generate documentation files.

make -C docs

scarab's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.