Doughnuts are made out of eggs, sugar, flour, a milk. An application to be useful requires compute, memory, storage, and networking. What does a delicious doughnut have to do with these pillars of infrastructure? We live in a world of finite resources. There are only so many doughnuts and so much infrastructure to run and power our applications. Resource Managers are crucial to make sure our applications have the firepower to run and be placed on the most efficient infrastructure. Let's look at varying requests for doughnuts and how popular resource manager algorithms work.
The doughnut dilemma!
I am Ravi lachhman.
I love doughunts.
I am just a big fan of doughnuts. We always talk about feeds and speeds in technology, what about taste?
This might very well be a talk about doughnuts.
I am just a big fan of doughnuts. We always talk about feeds and speeds in technology, what about taste?
How to eat all of these? Kill first? Kill Youngest?
This might very well be a talk about doughnuts.
I just want TWO doughnuts
We need resources to fulfill the request. This is pretty accurate.
Left is Request, Right is Resource
I know there is always one in this type of box until exhausted
Some pillars when dealing with resource managers and resources in general
Scheduling: Determining the sequence of activities, and the times each one starts and finishes.
The assignment of resources (e.g. people, machines) to the activities
Constraints -- a formal description of the requirements that must be satisfied by a candidate solution to the problem -- for example, that a particular task can't start until some other task finishes.
An activity may only allow certain resources or types of resources to be assigned to it.
Hot light is on only at certain time. Talk about that.
: Resources may be reserved (full or part-time) for a specific project (or group of activities), which limits how the resource can be assigned and/or when the activities pre-assigned to that resource can be scheduled.
Hot light comes on at certain times of the day right?
https://people.eecs.berkeley.edu/~alig/papers/drf.pdf
Apache Mesos
The main problem that DRF solves is sharing of the resources of multiple types (but not only CPU) which hasn't been addressed before and caused insufficient resource distribution among applications with heterogeneous resource demands. To address this problem the notions of dominant share and dominant resource have been introduced.
http://datastrophic.io/resource-allocation-in-mesos-dominant-resource-fairness-explained/
Right Size
The S Word, Schedulers!
http://firmament.io/blog/scheduler-architectures.html
Single Resource placement.
Each employed bee goes to a food source in her memory and determines a closest source, then evaluates its nectar amount and dances in the hive
Each onlooker watches the dance of employed bees and chooses one of their sources depending on the dances, and then goes to that source. After choosing a neighbor around that, she evaluates its nectar amount.
Abandoned food sources are determined and are replaced with the new food sources discovered by scouts.
The best food source found so far is registered.
The hot light represents available resources
Remember DRF?
Simulated Annealing (SA) is a probabilistic technique for approximating the global optimum of a given function. Specifically, it is a metaheuristic to approximate global optimization in a large search space for an optimization problem. It is often used when the search space is discrete (e.g., all tours that visit a given set of cities). For problems where finding an approximate global optimum is more important than finding a precise local optimum in a fixed amount of time, simulated annealing may be preferable to alternatives such as gradient descent.
Multiple Schedulers
Access to entire cluster
Independently Updated
Yelp Rating is independent of the directions to the doughnut house. These are two schedulers. One is rating and distance, one is optimized for time.
I want a doughnut not sure if this is Krispy Kreme or not. Can use the “Yelp” scheduler to find the best fit. Then I use the “Google Maps” scheduler to prosper.
Tabu Search enhances the performance of local search by relaxing its basic rule. First, at each step worsening moves can be accepted if no improving move is available (like when the search is stuck at a strict local minimum). In addition, prohibitions (henceforth the term tabu) are introduced to discourage the search from coming back to previously-visited solutions.
Google Omega / Microsoft Apollo
@ravilach
A greedy algorithm is an algorithmic paradigm that follows the problem solving heuristic of making the locally optimal choice at each stage[1] with the intent of finding a global optimum. In many problems, a greedy strategy does not usually produce an optimal solution, but nonetheless a greedy heuristic may yield locally optimal solutions that approximate a globally optimal solution in a reasonable amount of time.