Best Practice for Caching of Single-Path Code
This folder contains information and scripts to run the evaluation experiments for the paper "Best Practice for Caching of Single-Path Code", Martin Schoeberl, Bekim Cilku, Daniel Prokesch, and Peter Puschner, accepted for WCET 2017.
We use the open-source platform T-CREST for our experiments. Therefore, you need all T-CREST tools installed. A brief installation instruction can be found at the Patmos repository.
We also provide a VM with Ubuntu where all needed packages are installed. However, that VM is used in teaching and does not contain the latest version of T-CREST. Therefore, you need to reinstall T-CREST there with:
rm -rf t-crest mkdir ~/t-crest cd ~/t-crest git clone https://github.com/t-crest/patmos-misc.git misc ./misc/build.sh
The benchmarks are executed in folder:
make will download the
and compile and run most of them. This will take several hours.
Therefore, for first experiments restrict the number of benchmarks
ALLAPPS in the
Makefile to just a few programs.
The result of the benchmarks are several .txt files containing the
execution time in clock cycles. The naming convention of the text
<app> is the benchmark name,
<cache> is the cache type (
ic normal instruction cache,
pc instruction cache with prefetching, and
a 2-way set associative instruction cache with LRU replacement), and
<code> the compilation type (
np normal compilation,
single-path code generation).
make will build and run everything.
make eval will compute some results and produce tables in PDF form.
make clean removes all generated files and folders.
You can explore the benchmarks on the head of the repositories. For reproducibility we provide the tags of the involved repositories:
Request for Help
If you encounter any build or reproduction issues you have three options to notify us (seek for help): (1) open an issue on GitHub, (2) ask on the Patmos mailing list, or (3) send an email to firstname.lastname@example.org.