This repository contains a simulator for a scheduler for cooperatively scheduling tasks with mixture of deadline and other tasks.
The primary aim of this repository is to draw nice diagrams of how scheduled tasks interact to allow explanation of task interaction quick experimentation with different scheduling models.
This code is written in Python 3 and has the following dependencies;
- None currently.
- Probably need matplotlib or other graphics library shortly.
- Add the ability to actually generate diagrams from traces.
- Add tasks which have uncertainty in their run duration.
- Add tasks with unknown run duration.
- Make
scheduler.py
just contain tasks and scheduler interface. Move current scheduler implementations to different file. - Add support for preemption + preemptable tasks.
The chrome_scheduler.py
file provides a set of tasks and scheduler set ups to
partially emulate the
Compositor scheduler in Chrome.
- Make chrome_scheduler work again.
- Add whole Commit->Activate->Draw tasks path.
- Look at emulating the Blink scheduler tasks.