.. | ||
base.go | ||
bin-packing.go | ||
first-fit.go | ||
helpers.go | ||
max-greedymins.go | ||
max-min.go | ||
README.md | ||
states.go |
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