forked from tgrogers/gem5
-
Notifications
You must be signed in to change notification settings - Fork 0
License
BSD-3-Clause, Unknown licenses found
Licenses found
BSD-3-Clause
LICENSE
Unknown
COPYING
tanvisharma/gem5_565
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Cache Replacement policies are critical to the performance of a computer system. Static Replacement policies like LRU (Least Recently Used) is a popular cache replacement policy which always assumes that the cache block has a near re-reference interval. As a result, workloads which have a distant re-reference interval perform badly under LRU. Such workloads usually either have a mixed access pattern or a working set size which is larger than a cache size. These kinds of workloads are very common in practice, hence it is essential to predict the re-reference interval of the newly brought cache block. In this report, we analyze two such replacement policies, (1) Dynamic Re-Reference Interval Prediction (DRRIP) and (2) Signature Hit Predictor (SHiP). DRRIP dynamically chooses between SRRIP (Static Re-Reference Interval Prediction) which is a scan resistant policy and BRRIP (Bimodal Re-Reference Interval Prediction) which is thrash resistant policy. DRRIP uses a technique named Set-Dueling and dynamically makes a decision to follow one of the two replacement policies. On the other hand, SHiP monitors the re-reference behaviour of cache lines using unique signatures and subsequently predicts if the incoming cache line has a distant or an intermediate re-reference interval. We implement SHiP-Mem which uses memory region signatures to learn the re-reference behaviours of cachelines associated with that signature. We analyse the effectiveness of the implemented replacement policies (DRRIP and SHiP-Mem) on SPEC 2006 workloads over the baseline LRU policy. This is the gem5 simulator. The main website can be found at http://www.gem5.org A good starting point is http://www.gem5.org/about, and for more information about building the simulator and getting started please see http://www.gem5.org/documentation and http://www.gem5.org/documentation/learning_gem5/introduction. To build gem5, you will need the following software: g++ or clang, Python (gem5 links in the Python interpreter), SCons, SWIG, zlib, m4, and lastly protobuf if you want trace capture and playback support. Please see http://www.gem5.org/documentation/general_docs/building for more details concerning the minimum versions of the aforementioned tools. Once you have all dependencies resolved, type 'scons build/<ARCH>/gem5.opt' where ARCH is one of ARM, NULL, MIPS, POWER, SPARC, or X86. This will build an optimized version of the gem5 binary (gem5.opt) for the the specified architecture. See http://www.gem5.org/documentation/general_docs/building for more details and options. The basic source release includes these subdirectories: - configs: example simulation configuration scripts - ext: less-common external packages needed to build gem5 - src: source code of the gem5 simulator - system: source for some optional system software for simulated systems - tests: regression tests - util: useful utility programs and files To run full-system simulations, you will need compiled system firmware (console and PALcode for Alpha), kernel binaries and one or more disk images. If you have questions, please send mail to [email protected] Enjoy using gem5 and please share your modifications and extensions.
About
No description, website, or topics provided.
Resources
License
BSD-3-Clause, Unknown licenses found
Licenses found
BSD-3-Clause
LICENSE
Unknown
COPYING
Stars
Watchers
Forks
Packages 0
No packages published
Languages
- C++ 78.3%
- Python 12.8%
- C 6.7%
- Assembly 0.9%
- Hack 0.4%
- HTML 0.3%
- Other 0.6%