chi - a Measurement-based Cache Hierarchy Inference Tool

Introduction

chi is a tool to infer parameters of the memory hierarchy by performing a set of measurements on the actual hardware. It can infer the sizes, associativities, block sizes and replacement policies of first- and second-level caches.

The main differentiating feature of chi over other such tools is its ability to model previously undocumented replacement policies.

Download and Installation

You can download a binary Linux version of chi here. It has been tested on various Linux distributions.

After downloading and unzipping, make chi-PC executable, e.g., by executing the following command:
  chmod u+x chi-PC

How to use chi

Simply run ./chi-PC

chi will output its inference results on standard out.

If you have run chi on a processor not listed below, please let us know about the results.

Known Inference Results

In the table below, we list parameters inferred by chi on a variety of microarchitectures. If you have applied chi to a microarchitecture not listed below, please let us know!

L1 Data L1 Instruction L2 Unified
Architecture Size (KiB) Associativity Policy Size (KiB) Associativity Policy Size (KiB) Associativity Policy
Intel Atom D525 24 6 ATOM 32 8 PLRU 512 8 PLRU
Intel Pentium 3 900 16 4 PLRU 16 4 PLRU 256 8 PLRU
Intel Core 2 Duo E6300 32 8 PLRU 32 8 PLRU 2048 8 PLRU
Intel Core 2 Duo E6750 32 8 PLRU 32 8 PLRU 4096 16 see our paper
Intel Core 2 Duo E8400 32 8 PLRU 32 8 PLRU 6144 24 see our paper
Intel Core i5 460M 32 8 PLRU 32 4 see our paper 256 8 PLRU
Intel Xeon W3550 32 8 PLRU 32 4 see our paper 256 8 PLRU
AMD Athlon 64 X2 4850e 64 2 LRU 64 2 LRU 512 16 see our paper
AMD Opteron 8360SE 64 2 LRU 64 2 LRU 512 16 see our paper

Authors

chi was developed by Andreas Abel as part of his Master's thesis at Saarland University under the direction of Jan Reineke.

Presentations

Learning Cache Models by Measurements, [pdf]
Presented at Uppsala University, 2012, Uppsala, Sweden.

References

Please see the following papers if you are interested in how chi works:
  1. Reverse Engineering of Cache Replacement Policies in Intel Microprocessors and Their Evaluation (poster abstract)
    A. Abel, J. Reineke
    ISPASS, 2014. [pdf]  [bib]
  2. Measurement-based Modeling of the Cache Replacement Policy
    A. Abel and J. Reineke
    RTAS, 2013. [pdf]  [slides]  [pdf slides]  [bib]
  3. Automatic Cache Modeling by Measurements
    A. Abel and J. Reineke
    JRWRTC, 2012. [pdf] [bib]
  4. Measurement-based Inference of the Cache Hierarchy
    A. Abel
    Universität des Saarlandes, Germany, 2012. [pdf]  [bib]