This project performs real-time task scheduling based on steady-state genetic algorithms in order to save power consumptions in CPU, memory, and network subsystems with deadline constraints.
Co-TOMS considers three energy-saving techniques, DVFS (dynamic voltage/frequency scaling), hybrid memory placement, and task offloading to edge servers, across different system layers.
Two executables included in this project, which can simulate Co-TOMS in comparison with DVFS, Offloading, and basic configurations.
gasgen
: task generation tool based on CPU and total utilizationgastask
: scheduling scheme generator based on GA
For comparison purposes, our basic simulator supporting dynamic voltage scaling (DVS) and hybrid memory (HM) can be downloaded at https://github.com/oslab-ewha/simrts.
Just make to build gastask
# make
- Create a new configuration file. Refer to
gastask.conf.tmpl
. - run
gasgen
# ./gasgen gastask.conf
- Tasks list will be generated into
task_generated.txt
network_generated.txt
network_commander_generated.txt
according to gastask.conf - paste
task_generated.txt
into the task section of gastask.conf - paste
network_generated.txt
into the network section of gastask.conf - paste
network_commander_generated.txt
into the net_commander_ section of gastask.conf - run gastask
# ./gastask gastask.conf
- scheduling information is generated in
task.txt
, which can be used as an input to simrts.
run.sh
performs all procedures in batch- Before executing run.sh, ./tmp folder should be generated in root.
There are two types of data set to perform the simulations of Co-TOMS.
-
Synthetic workload:
-
Realistic worload:
- Robotic Highway Safety Marker (RSM): real-time task set for the actions of mobile robots that carry safety markers in a highway for road construction safety
- IoT: real-time task set for the actions of a controller in industry machine hands