df5b191609321f9b92def3cf6c90b6802ac0fb21
Table policies (i.e., replacement, compression, etc) behave differently depending on the workload, and it is often desired to be able to selectively switch between them. In this case the relevant metadata for all the policies must be added to all of the entries being analyzed. In order to avoid having to monitor all table entries, a few of these entries are selected to be sampled and estimate overall behavior. These sampled entries belong each to a single policy. Then, based on the predominance of these samples, the winning policy is applied to the other sets (followers). As of now, in order to avoid having to iterate over a vector, there is a limited number of dueling instances, but it may be easily extended, if needed. Based on Set Dueling, proposed in "Adaptive Insertion Policies for High Performance Caching". Change-Id: I692a3e5e0ad98581d68167ad7e6b45ab2f4c7b10 Signed-off-by: Daniel R. Carvalho <odanrc@yahoo.com.br> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/37895 Tested-by: kokoro <noreply+kokoro@google.com> Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu> Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
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 gem5-users@gem5.org Enjoy using gem5 and please share your modifications and extensions.
Description