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.
To build gastask and gasgen, use CMake:
$ mkdir -p build && cd build
$ cmake ..
$ make
- Create a new configuration file. Refer to
gastask.conf.tmpl. - run
gasgen
# ./gasgen gastask.conf
- Tasks list will be generated into
task_generated.txtnetwork_generated.txtnetwork_commander_generated.txtaccording to gastask.conf - paste
task_generated.txtinto the task section of gastask.conf - paste
network_generated.txtinto the network section of gastask.conf - paste
network_commander_generated.txtinto 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.shperforms 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