大规模短时间任务的低延迟集群调度框架
2021-09-09汤小春朱紫钰毛安琪李战怀
计算机应用 2021年8期
赵 全,汤小春,朱紫钰,毛安琪,李战怀
(西北工业大学计算机学院,西安 710129)
0 引言
近年来,数据中心上的数据分析作业常常是一些运行时间短的流处理作业,而且要求这些作业共享一套集群资源以便减少基础设施的成本,例如,既存在一些结构化的数据查询作业,也存在一些实时数据监控以及数据分析作业[1-5]。面对这些规模庞大并且延迟要求较低的流处理作业,一些流处理计算框架,如Flink[1]、Dremel[6]、Spark[7]等开始被大型互联网企业使用。这类作业运行时,任务往往被分散到上千台机器上运行,任务要么从磁盘获得数据进行计算,要么使用存储在内存的数据进行计算,作业的响应时间常常在秒级。例如,使用Spark计算一个数据大小为1 GB的查询作业,运行时间仅仅1 s左右。当这样的作业大量出现在一个数据中心并共享集群计算资源时,作业之间往往会出现相互的干涉或者对计算资源的竞争,导致部分作业被延迟执行或者出现执行失败的情况[7]。本文希望建立一套新的集群资源调度框架,提供一种高效、共享的资源调度环境,提高整个集群的资源使用率,为各种大规模并行作业及时分配计算资源,保证每个作业能够快速得到响应。
由短时间(毫秒级)任务组成的作业,其作业的调度过程具有较大的挑战。在这些作业中,不但包括一些低延迟的流处理任务,也包括一些为了得到资源的公平分配和减少长时间滞留的任务,将长时间运行的批处理作业分解成大量的短时间运行的任务。……
登录APP查看全文
