Abstract

Data centers form the core of current information and commercial enterprise. At current scale, any improvement in data center resource utilization leads to substantial savings. We focus on the problem of scheduling jobs in distributed execution environments to improve resource utilization. Cluster schedulers like YARN and Mesos base their scheduling decisions on resource requirements provided by end users. It is hard for end-users to predict the exact amount of resources required for a task/job, especially since resource utilization can vary significantly over time and across tasks. In practice, users make highly conservative estimates of peak utilization across all tasks of a job to ensure job completion, leading to resource fragmentation and severe under utilization in production clusters. We present UBIS, a utilization-aware approach to cluster scheduling, to address resource fragmentation, and to improve cluster utilization and job throughput. UBIS considers actual usage of running tasks and schedules opportunistic work on under-utilized nodes. UBIS monitors resource usage on these nodes and preempts opportunistic containers in the event this over-subscription becomes untenable. In doing so, UBIS effectively utilizes wasted resources, while minimizing adverse effects on regularly scheduled tasks. Our implementation of UBIS on YARN demonstrates improvements of up to 30% in makespan for a representative workload and 25% in individual job durations.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call