Medea: Scheduling of long running applications in shared production clusters
Last updated
Was this helpful?
Last updated
Was this helpful?
Presented in .
Authors: Panagiotis Garefalakis, Konstantinos Karanasos, Peter Pietzuch, Arun Suresh, Sriram Rao (Imperial College London & Microsoft)
Medea adopts a two-scheduler design:
For the placement of long-running applications (LRAs), it uses a dedicated scheduler.
For the placement of task-based applications, it directly uses a traditional scheduler.
It formulates the placement of LRAs with constraints as an integer linear program (ILP), and solves it as an online optimization problem.
It considers multiple LRA container requests at once to achieve higher-quality placements and global objectives (e.g., minimizing the violation of placement constraints, resource fragmentation, any load imbalance, or the number of machines used).
It also investigates heuristics that trade placement quality for lower scheduling latency:
Tag popularity: prioritizes the placement of containers that have more constraints.
Node candidates: prioritizes the placement of containers that have smaller nodes allowed to be placed.
Built as an extension to Apache Hadoop YARN.
Evaluated on a 400-node pre-production cluster.