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-02-11 14:27:33 -05:00
..
base.go resolved merge conflict with master. Formatted file. 2017-02-11 14:27:33 -05:00
binpackedpistoncapping.go resolved merge conflict with master. Also, changed the name of the constructor for BPSWMaxMin from NewBPMaxMinWatts to NewBPSWMaxMinWatts 2017-02-11 14:26:27 -05:00
binpacksortedwatts.go resolved merge conflict with master. Also, changed the name of the constructor for BPSWMaxMin from NewBPMaxMinWatts to NewBPSWMaxMinWatts 2017-02-11 14:26:27 -05:00
binPackSortedWattsSortedOffers.go resolved merge conflict with master. Also, changed the name of the constructor for BPSWMaxMin from NewBPMaxMinWatts to NewBPSWMaxMinWatts 2017-02-11 14:26:27 -05:00
bottomHeavy.go resolved merge conflict with master. Also, changed the name of the constructor for BPSWMaxMin from NewBPMaxMinWatts to NewBPSWMaxMinWatts 2017-02-11 14:26:27 -05:00
bpswMaxMin.go resolved merge conflict with master. Also, changed the name of the constructor for BPSWMaxMin from NewBPMaxMinWatts to NewBPSWMaxMinWatts 2017-02-11 14:26:27 -05:00
bpswMaxMinPistonCapping.go resolved merge conflict with master. Also, changed the name of the constructor for BPSWMaxMin from NewBPMaxMinWatts to NewBPSWMaxMinWatts 2017-02-11 14:26:27 -05:00
bpswMaxMinProacCC.go resolved merge conflict with master. Also, changed the name of the constructor for BPSWMaxMin from NewBPMaxMinWatts to NewBPSWMaxMinWatts 2017-02-11 14:26:27 -05:00
firstfit.go resolved merge conflict with master. Also, changed the name of the constructor for BPSWMaxMin from NewBPMaxMinWatts to NewBPSWMaxMinWatts 2017-02-11 14:26:27 -05:00
firstfitProacCC.go resolved merge conflict with master. Also, changed the name of the constructor for BPSWMaxMin from NewBPMaxMinWatts to NewBPSWMaxMinWatts 2017-02-11 14:26:27 -05:00
firstfitSortedOffers.go resolved merge conflict with master. Also, changed the name of the constructor for BPSWMaxMin from NewBPMaxMinWatts to NewBPSWMaxMinWatts 2017-02-11 14:26:27 -05:00
firstfitsortedwatts.go resolved merge conflict with master. Also, changed the name of the constructor for BPSWMaxMin from NewBPMaxMinWatts to NewBPSWMaxMinWatts 2017-02-11 14:26:27 -05:00
firstfitSortedWattsProacCC.go resolved merge conflict with master. Also, changed the name of the constructor for BPSWMaxMin from NewBPMaxMinWatts to NewBPSWMaxMinWatts 2017-02-11 14:26:27 -05:00
firstfitSortedWattsSortedOffers.go resolved merge conflict with master. Also, changed the name of the constructor for BPSWMaxMin from NewBPMaxMinWatts to NewBPSWMaxMinWatts 2017-02-11 14:26:27 -05:00
firstfitwattsonly.go resolved merge conflict with master. Also, changed the name of the constructor for BPSWMaxMin from NewBPMaxMinWatts to NewBPSWMaxMinWatts 2017-02-11 14:26:27 -05:00
helpers.go formatted files 2017-02-11 00:05:42 -05:00
README.md Made classMapWatts a commandLine option where one can enable and disable mapping of watts to powerclasses when accepting offers from Mesos. Removed the schedulers that were created solely for the classMapWatts feature. Retrofitted all schedulers to use the powerClass mapped watts attribute for a task, if classMapWatts has been enabled. Removed unnecessary functions and variables from constants.go. Removed unnecessary functions from utilities/utils.go. Fixed operator precendence issue with takeOffer(...) in some of the schedulers. Added TODO to decouple capping strategies from the schedulers completely. Added TODO to move all the common struct attributes in the schedulers into base.go. 2017-02-09 18:05:38 -05: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
topHeavy.go resolved merge conflict with master. Also, changed the name of the constructor for BPSWMaxMin from NewBPMaxMinWatts to NewBPSWMaxMinWatts 2017-02-11 14:26:27 -05: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.
  • Move all the common struct members from all schedulers into base.go.

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