This script attempts to reproduce the results described in the 2019 paper by H. Xu and A. Burns titled "A semi-partitioned model for mixed criticality systems".
The script runs on python3 and needs the following additional packages:
- numpy ->
pip3 install numpy
- matplotlib ->
pip3 install matplotlib
- progress ->
pip3 install progress
- joblib ->
pip3 install joblib
To launch the script with the default configuration (in optimized version):
$ cd path/to/script/directory
$ python3 -O ./run.py
To launch the script with the assertion checks:
$ cd path/to/script/directory
$ python3 ./run.py
The script will run the four tests described in the paper and produce as results four charts which will be saved at a configurable path (cfr. Configuration).
To run the unit tests for the RTA algorithms:
$ cd path/to/script/directory
$ python3 ./test.py
The file config.py
defines some options for the script:
PARALLEL_JOBS
defines the number of parallel tests to be run (defaults to the number of CPUs)VESTAL_CLASSIC
,VESTAL_WITH_MONITOR
,ALWAYS_HI_CRIT
defines which version of Vestal's algorithm should be used for the non migrating testsCHECK_NO_MIGRATION
,CHECK_MODEL_1
, etc. defines which models to testRUN_FIRST_TEST
,RUN_SECOND_TEST
, etc. defines which tests to runFIRST_FIT_BP
,WORST_FIT_BP
defines which bin-packing algorithm to useRESULTS_DIR
defines where to save the resultsCORES_MODE_CHANGES
holds the possible sequences of core mode changeCORES_NO_MIGRATION
,CORES_MODEL_1
, etc. defines the configurations used to test the different models