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-01-14 16:20:21 -05:00
..
base.go Minor comments and style changes 2017-01-06 18:53:03 -05:00
binpacksortedwatts.go changed bingcloud to sunybingcloud in the import statements. 2016-12-22 22:59:02 -05:00
bpMaxMin.go Minor comments and style changes 2017-01-06 18:53:03 -05:00
bpMaxMinPistonCapping.go Bug fix to start capping when the first task fits an offer. 2017-01-08 18:59:51 -08:00
bpMaxMinProacCC.go updated the call to Recap(...) to NaiveRecap(...) to be in tune with the updated function name 2017-01-08 19:15:53 -08:00
bpswClassMapWatts.go Used composition to use common functions from base.go. Also incorporated schedTrace and made the necessary changes to the constructor 2017-01-06 16:47:59 -08:00
bpswClassMapWattsPistonCapping.go Bug fix to start capping when the first task fits an offer. 2017-01-08 18:59:51 -08:00
bpswClassMapWattsProacCC.go updated the call to Recap(...) to NaiveRecap(...) to be in tune with the updated function name 2017-01-08 19:15:53 -08:00
firstfit.go changed bingcloud to sunybingcloud in the import statements. 2016-12-22 22:59:02 -05:00
firstfitsortedwatts.go changed bingcloud to sunybingcloud in the import statements. 2016-12-22 22:59:02 -05:00
firstfitSortedWattsClassMapWatts.go First Fit SortedWatts retrofitted to use ClassMapWatts in the workload. 2017-01-14 16:20:21 -05:00
firstfitwattsonly.go changed bingcloud to sunybingcloud in the import statements. 2016-12-22 22:59:02 -05:00
helpers.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
pistoncapper.go formatted code 2016-12-22 22:59:01 -05:00
proactiveclusterwidecappingfcfs.go updated the call to Recap(...) to NaiveRecap(...) to be in tune with the updated function name 2017-01-08 19:15:53 -08:00
proactiveclusterwidecappingranked.go updated the call to Recap(...) to NaiveRecap(...) to be in tune with the updated function name 2017-01-08 19:15:53 -08:00
README.md Added TODO to move the cappers to pcp/ and also to include the change made to cap only when necessary. 2017-01-08 19:09:58 -08: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

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
  • Separate the capping strategies from the scheduling algorithms and make it possible to use any capping strategy with any scheduler.
  • Make newTask(...) variadic where the newTaskClass argument can either be given or not. If not give, then pick task.Watts as the watts attribute, else pick task.ClassToWatts[newTaskClass].
  • Retrofit pcp/proactiveclusterwidecappers.go to include the power capping go routines and to cap only when necessary.

Scheduling Algorithms:

  • First Fit
  • First Fit with sorted watts
  • Bin-packing with sorted watts
  • FCFS Proactive Cluster-wide Capping
  • Ranked Proactive Cluster-wide Capping
  • Piston Capping -- Works when scheduler is run with WAR