chi - a Measurement-based Cache Hierarchy Inference Tool
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|
Authorschi was developed by Andreas Abel as part of his Master's thesis at Saarland University under the direction of Jan Reineke.
PresentationsLearning Cache Models by Measurements, [pdf]
Presented at Uppsala University, 2012, Uppsala, Sweden.
ReferencesPlease see the following papers if you are interested in how chi works:
- Reverse Engineering of Cache Replacement Policies in Intel Microprocessors and Their Evaluation (poster abstract)
A. Abel, J. Reineke
ISPASS, 2014. [pdf] [bib]
- Measurement-based Modeling of the Cache Replacement Policy
A. Abel and J. Reineke
RTAS, 2013. [pdf] [slides] [pdf slides] [bib]
- Automatic Cache Modeling by Measurements
A. Abel and J. Reineke
JRWRTC, 2012. [pdf] [bib]
- Measurement-based Inference of the Cache Hierarchy
Universität des Saarlandes, Germany, 2012. [pdf] [bib]