Lecture 7 Flashcards
Describe the main problem Mesos framework is trying to address
- Difficult for a single framework to manage resources of clusters
Aim:
- To run multiple frameworks in a single cluster to maximise utilisation + share between frameworks
What are the common solutions for sharing clusters?
Statically partition the cluster and run framework per partition
- Low utilisation
- Rigid partitioning which does not match real time changing application demands
- Mismatch between allocated granularity of static partitioning of current application
What is Mesos and Goals?
Is a common resource sharing layer which diverse frameworks can run for accessing cluster resources
Goals
- High utilization
- Support diverse frameworks: Has different scheduling needs
- Scalability: to 10,000’s nodes
- Reliability: in face of failures and high availability
What are the Design Elements?
- Fine-grained sharing:
Allocation at the level of tasks within a job, improves: utilisation, latency and data locality
- Resource offers:
Simple, scalable application-controlled scheduling mechanism
How Mesos use resource offer to allocate resources to different frameworks?
- Simple, scalable application-controlled scheduling mechanism
- Offers different resources to frameworks to pick to launch
- Rejects offers that do not satisfy with the constraints
- The framework has to wait a long time to receive an offer to satisfy the constraint – time consuming
Pros: Keeps Mesos simple, expandable for future frameworks
Cons: Decentralised solutions are not optimal
Draw the Mesos Architecture diagram
Describe the different responsibilities of scheduling between the Mesos master + the framework schedulers
Mesos Terminology
- Mesos Master: Fine-grained sharing across frameworks
- Mesos Slave: On each node
- Frameworks that run tasks on slave nodes
Describe the Mesos Architecture
- Fair sharing based on generalisation of max-min fairness for multiple resources
- Strict priorities
- Mesos revoke (kill) tasks when framework uses up the resources for a while
Describe how Omega uses shared state to allocate resources to different frameworks
- A framework’s scheduler makes a decision
- Updates the shared the cell state copy in atomic commit
- One must succeed
- The scheduler resyncs its local copy
Main Advantage of Omega
Fast
Cell state: The master copies the resources and allocates the cluster
Each framework maintains its own scheduler. Each scheduler has its own private, local, frequently updated copy of its cell to make decisions.
Disadvantages of Omega
Under certain conditions
- Omega schedulers operation in parallel
- Schedulers do incremental transactions to avoid starvation
- Performance viability of shared-state determined by the frequency which transactions will fail + costs!