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

D. Zou, Shiyou Qian, Guangtao Xue, Jian Cao, Jiadi Yu, Yanmin Zhu, Minglu Li, Wenjuan Li
{"title":"UpPreempt: A Fine-Grained Preemptive Scheduling Strategy for Container-Based Clusters","authors":"D. Zou, Shiyou Qian, Guangtao Xue, Jian Cao, Jiadi Yu, Yanmin Zhu, Minglu Li, Wenjuan Li","doi":"10.1109/PADSW.2018.8644608","DOIUrl":null,"url":null,"abstract":"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.","PeriodicalId":361947,"journal":{"name":"2018 IEEE 24th International Conference on Parallel and Distributed Systems (ICPADS)","volume":"111 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2018 IEEE 24th International Conference on Parallel and Distributed Systems (ICPADS)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/PADSW.2018.8644608","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

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.
UpPreempt:基于容器集群的细粒度抢占调度策略
分布式集群提供了一个通用的计算平台,可以高效地运行不同类型的作业,例如对QoS有不同要求的实时作业和批处理作业。分布式集群面临的一个挑战是,如何找到一种调度策略,在尽可能减少实时作业的超时比例的同时,提高批处理作业的完成时间,在集群资源紧张的情况下提高QoS。为了解决这个问题,人们提出了许多有效的调度方法。然而,现有的大多数方法都是幼稚的、粗粒度的,要么终止批作业来抢占实时作业的资源,要么提前为实时作业预留一些资源来最小化实时作业的超时比例,从而延长了批作业的完成时间,降低了集群的资源利用率。在本文中,我们提出了一种基于容器集群的细粒度抢占调度策略UpPreempt。在调度实时作业时,UpPreempt会考虑作业的截止时间和现有批处理作业的资源使用情况。从多个批处理作业中执行资源抢占是UpPreempt的基本思想。要抢占的批处理作业集以及从每个作业中获取的资源量都是精确确定的。这样,UpPreempt在完成时间上大大缓解了抢占对批作业的影响,避免了为实时作业预留资源。我们在YARN中实现了UpPreempt来评估它的性能。在不同工作负载下的评估表明,我们提出的调度策略可以在不降低集群资源利用率的情况下,很好地平衡实时作业的加班比例和批处理作业的完成时间。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信
小红书