This repo contains everything required to perform the WOFS evaluation.
The bins
folder contains all precompiled binaries for x86_64, x86 and armv7.
For more platforms precompile the binaries ahead of time.
Thi is the actual experiment runner. Everything is automated and all parameters are hard-coded except for three, all are required:
usage: Run -t TARGET -p PAYLOADS -r RUNS
Option -t
specifies the target, i.e., x86, x86_64 or armv7.
It is important to use the correct target for the platform you are executing the
eval on.
Option -p
specifies how many bytes should be written. Note, that three tests
will be performed, one with 1 kB, 1 MB and 100 MB blocksizes using dd
,
totaling in -p
bytes.
Option -r
specifies how many runs per experiment configuration will be
executed.
This is the results folder, containing the log files of the experiments. The log files are not in this repo, only the folder for new results. Artifacts of the paper will be published separately. TODO
This folder contains all scripts and notebook for evaluating and plotting the
logs. It exprects the logs to be in the experiments
folder (see above) in the
same structure as they are produced by the run.py
script.
Using the CPU cycle measurements from /proc/<pid>/stat
and perf stat
, we can
calculate a) the time it takes for the program as well as the cp
command to be
executed in kernel and user mode and b) the percentage CPU usage according
to this blog post.