Skip to content
some tlb experimentation code: calculate L1, L2 miss penalties and show cross-HT interference.
Python C Shell Makefile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
c
demo-crossthread
demo-latencies
py
results-crossthread
results-latencies
test
.gitignore
LICENSE
README.md
requirements.txt

README.md

Demo

Skylake demo pic

Layout

c: C code py: python code demo-crossthread: examples of crossthread interference output demo-latencies: examples of latency measurement output results-crossthread: output dir for crossthread code results-latencies: output dir for latency measurement code

Setup

To run:

  1. Have perf and a compiler installed

  2. build the C program, set up python env, perf privileges for unprivileged users:

make -C c
rm -rf env
virtualenv -p python2.7 env
./env/bin/pip install -r requirements.txt
echo -1 | sudo tee /proc/sys/kernel/perf_event_paranoid

Inter-hyperthread tlb interference shown using performance counters

under some tlb size and structure assumptions (works on skylake), probe cross-thread tlb interference

./env/bin/python py/crossthread.py

on skylake, the results should look like in the demo/ dir.

Calculate TLB miss latency

./env/bin/python py/tlb-latency.py

on skylake, the results should look like in demo/skylake-latencies.txt.

Enjoy!

Ben

You can’t perform that action at this time.