Skip to content

Latest commit

 

History

History
45 lines (37 loc) · 2.69 KB

File metadata and controls

45 lines (37 loc) · 2.69 KB

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".

Requirements

The script runs on python3 and needs the following additional packages:

Usage

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).

Unit tests

To run the unit tests for the RTA algorithms:

$ cd path/to/script/directory
$ python3 ./test.py

Configuration

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 tests
  • CHECK_NO_MIGRATION, CHECK_MODEL_1, etc. defines which models to test
  • RUN_FIRST_TEST, RUN_SECOND_TEST, etc. defines which tests to run
  • FIRST_FIT_BP, WORST_FIT_BP defines which bin-packing algorithm to use
  • RESULTS_DIR defines where to save the results
  • CORES_MODE_CHANGES holds the possible sequences of core mode change
  • CORES_NO_MIGRATION, CORES_MODEL_1, etc. defines the configurations used to test the different models

Additions by Mattia Bottaro

For my master's degree project in CS, I have to compare an implementation, made by myself, of the "Semi-partitioned model for dual-core mixed criticality system" and XtratuM, which is a TSP. Gabriele Pozzan's work, which concerns experiments on Semi-partitioned model quad-core version, is also partly useful to me, especially the parts of tasket generation, priority assignement and some RTAs. So I am adapting his work according to my needs. You can find my additions on $ROOT/dual-core-version/