This repository contains the instructions, scripts and data to reproduce the simulations of the article entitled "On the interplay of metrics for throughput and fairness assessment: A simulation-based study".
All simulations are conducted with the open-source multi-platform PBBCache simulation tool. To install this tool on your platform, follow these steps:
-
Clone the PBBCache repository:
$ git clone git@github.com:pbbcache/cachesim.git
-
Make sure that PBBCache v3 is used:
$ cd cachesim $ git checkout 666c8ae -
If you are using Linux, make sure that
libblisis installed (step not required for Mac OS):$ sudo apt install libblis3 libblis3-pthread
-
Create a Python 3 virtual environment with all PBBCache's dependencies:
## Create venv $ python3 -m venv venv3 ## Activate it $ . venv3/bin/activate ## Upgrade Pip $ pip install --upgrade pip ## Install necesary modules $ pip install matplotlib pandas numpy sympy ipyparallel sklearn datetime pytz
Each subfolder in this repository includes a run_simulations.sh script to launch the associated simulations.
That script must be run outside the virtual env created for PBBCache, and with the Ipyparallel cluster properly set up before execution. To launch the simulations do as follows:
-
Go to PBBCache's
simulatordirectory and load environment variables:$ cd cachesim/simulator $ . shrc
-
Launch IPyparallel cluster with as many workers as needed (e.g., you may use as many workers as the number of cores of your platform -- 32 in the example below):
$ ${PBBCACHE}/test/run_venv3.sh ipcluster start -n 32 --daemonize -
Go to the directory of the simulations you want to run and execute the scripts:
$ cd ${REPO_ROOT}/simulations-AMD-rome $ ./run_simulations.sh
-
Check the results under the
resultsdirectory -
Stop Ipyparallel cluster:
$ ${PBBCACHE}/test/run_venv3.sh ipcluster stop