multicore load balancing:
Dear experts,
how can I implement a load balancer like this in current linux scheduler?
/*
Initial state: both cores are switched off
Filling cores: applies when there is a ready task T
Step1: Is there any core empty?
If so, if core A is empty then launch T to core A,
otherwise launch T to core B
If not, go to step 2.
Step2: Launch T to the core less loaded,
If both cores are equally loaded then
increase frequency and launch T to core A.
Reducing frequency: applies when a task T finishes
Step3: Are both cores equally loaded?
If so, reduce frequency
*/
Suggestions please
|