modified schedulers/README.md to now use Elektron instead of Electron. Also, changed the content to just display the contained scheduling policies with an explaination for each of them.

This commit is contained in:
Pradyumna Kaushik 2017-09-26 13:43:23 -04:00
parent 04f24beac5
commit 971f6833c3

View file

@ -1,24 +1,24 @@
Electron: Scheduling Algorithms Elektron: Pluggable Scheduling Policies
================================ =======================================
To Do: ##__Scheduling Policies__
* Design changes -- Possible to have one scheduler with different scheduling schemes? * **First Fit** - *Find the first task in the job queue whose
* Fix the race condition on 'tasksRunning' in proactiveclusterwidecappingfcfs.go and proactiveclusterwidecappingranked.go resource constraints are satisfied by the resources available in
* **Critical**: Separate the capping strategies from the scheduling algorithms and make it possible to use any capping strategy with any scheduler. a resource offer. If a match is made between an offer and a task,
* Create a package that would contain routines to perform various logging and move helpers.coLocated(...) into that. the offer is consumed in order to schedule the matching task. Else,
move onto a new mesos resource offer and repeat the process.*
Scheduling Algorithms: * **Bin-packing** - *For each resource offer received, tasks are matched
from the priority queue keyed by the Watts resource requirement. If a task's
* First Fit resource requirements are not satisfied by the remaining resources in the
* First Fit with sorted watts offer, the next task in the queue is evaluated for fitness. This way, tasks
* Bin-packing with sorted watts are packed into a resource offer.*
* BinPacked-MaxMin -- Packing one large task with a bunch of small tasks. * **Max-Min** - *Pack a resource offer by picking a mixed set of tasks
* Top Heavy -- Hybrid scheduler that packs small tasks (less power intensive) using Bin-packing and spreads large tasks (power intensive) using First Fit. from the job queue (used as a double-ended queue) that is sorted in
* Bottom Heavy -- Hybrid scheduler that packs large tasks (power intensive) using Bin-packing and spreads small tasks (less power intensive) using First Fit. non-decreasing order of tasks' Watts requirement. Max-Min alternates
between picking tasks from the front and back of the queue.*
Capping Strategies * **Max-GreedyMins** - *Similar to Max-Min, a double-ended queue,
sorted in non-decreasing order of tasks' Watts requirement, to store
* Extrema Dynamic Capping the tasks. Max-GreedyMins aims to pack tasks into an offer by picking
* Proactive Cluster-wide Capping one task from the end of the queue, and as many from the beginning,
* Piston Capping until no more task can fit the offer.*