UpPreempt: A Fine-Grained Preemptive Scheduling Strategy for Container-Based Clusters

2018 
A distributed cluster provides a common computation platform to efficiently run different types of jobs, such as real-time and batch jobs that have different QoS requirements. One challenge of a distributed cluster is to find a scheduling strategy that can reduce the overtime ratio of real-time jobs as much as possible while also improving the completion time of batch jobs, aiming to promote QoS even though the resources in the cluster are stretched. To address this issue, many efficient scheduling methods have been proposed. However, most existing approaches are naive and coarse-grained in means of either killing batch jobs to preempt resources for real-time jobs or reserving some resources in advance for real-time jobs to minimize the overtime ratio of real-time jobs, which prolongs the completion time of batch jobs and reduces the resource utilization of the cluster. In this paper, we propose UpPreempt, a fine-grained preemptive scheduling strategy for container-based clusters. When scheduling real-time jobs, UpPreempt considers the deadline of jobs and the resource usage of existing batch jobs. Performing resource preemption from multiple batch jobs is the basic idea of UpPreempt. The set of batch jobs to be preempted and the amount of resources taken from each job are finely determined. In this way, UpPreempt greatly alleviates the effect of preemption on the batch jobs in terms of completion time and avoids reserving resources for real-time jobs. We implement UpPreempt in YARN to evaluate its performance. The evaluation with various workloads shows that our proposed scheduling strategy can achieve a good trade-off between the overtime ratio of real-time jobs and the completion time of batch jobs without reducing the resource utilization of the cluster.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    13
    References
    0
    Citations
    NaN
    KQI
    []