What is this?
This is a research-grade repository that implements an adaptive CPU task scheduler trained with a Deep Q-Network (DQN). It includes a simulator of multi-core CPUs with DVFS and a thermal-aware reward, plus training, evaluation, and plotting pipelines.
Is this a working scheduler I can drop into an OS, or a research simulator?
It's a research simulator, not a real OS scheduler hook - a Gym-like environment that models multi-core CPUs, DVFS, and thermal behavior so the DQN agent can be trained and evaluated in isolation.
How do I get it running?
The README has a dedicated Quick Start section covering how to launch the simulator, train the DQN agent, and generate evaluation plots.
Does this actually control a physical CPU's scheduling?
No, it only operates inside the simulator - there's no mention of hooking into a real OS scheduler or physical hardware; everything (tasks, cores, DVFS, temperature) is modeled in software.
What baseline schedulers does it compare the DQN agent against?
It benchmarks against classic non-learning schedulers: Round Robin (RR), Earliest Deadline First (EDF), and Shortest Remaining Time First (SRTF).
What DQN variants does the agent use?
It uses Double DQN and Dueling DQN architectures together with prioritized experience replay for more stable training.
Why does the reward function care about temperature?
The simulator includes a thermal proxy alongside DVFS in the environment, so the agent's reward is shaped to balance scheduling performance against CPU power/thermal constraints.
Can I reproduce the paper-style results shown in the repo?
Yes, the project is built around reproducible experiments with built-in plotting so results from training and baseline comparisons can be regenerated.
What are similar projects?
dopamine, MLAlgorithms, ML-From-Scratch, ml-agents, DeepLearning, reinforcement-learning, Gymnasium, mit-deep-learning
Which topics is it in?
rl, deep-reinforcement-learning, cpu, scheduler, neural-networks, operating-system, optimization, simulation, academic, systems-programming, algorithms, reinforcement-learning