This repository has been archived on 2024-04-10. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
elektron/schedulers
2017-09-26 13:17:47 -04:00
..
base.go scheduling policies pluggable from commandline 2017-09-26 13:17:47 -04:00
bin-packing.go scheduling policies pluggable from commandline 2017-09-26 13:17:47 -04:00
first-fit.go scheduling policies pluggable from commandline 2017-09-26 13:17:47 -04:00
helpers.go scheduling policies pluggable from commandline 2017-09-26 13:17:47 -04:00
max-greedymins.go scheduling policies pluggable from commandline 2017-09-26 13:17:47 -04:00
max-min.go scheduling policies pluggable from commandline 2017-09-26 13:17:47 -04:00
README.md Moved the TODO, for the refinement of the cluster sorting algorithm, to the main README file. 2017-08-22 13:09:05 -04:00
states.go Moved schedulers from the main programs to schedulers package. Can now choose different scheduelrs to use. Work on code sharing between schedulers remains to be done. 2016-12-22 22:59:02 -05:00
store.go scheduling policies pluggable from commandline 2017-09-26 13:17:47 -04:00

Electron: Scheduling Algorithms

To Do:

  • Design changes -- Possible to have one scheduler with different scheduling schemes?
  • Fix the race condition on 'tasksRunning' in proactiveclusterwidecappingfcfs.go and proactiveclusterwidecappingranked.go
  • Critical: Separate the capping strategies from the scheduling algorithms and make it possible to use any capping strategy with any scheduler.
  • Create a package that would contain routines to perform various logging and move helpers.coLocated(...) into that.

Scheduling Algorithms:

  • First Fit
  • First Fit with sorted watts
  • Bin-packing with sorted watts
  • BinPacked-MaxMin -- Packing one large task with a bunch of small tasks.
  • Top Heavy -- Hybrid scheduler that packs small tasks (less power intensive) using Bin-packing and spreads large tasks (power intensive) using First Fit.
  • Bottom Heavy -- Hybrid scheduler that packs large tasks (power intensive) using Bin-packing and spreads small tasks (less power intensive) using First Fit.

Capping Strategies

  • Extrema Dynamic Capping
  • Proactive Cluster-wide Capping
  • Piston Capping