问题
为了充分利用计算资源,谷歌和阿里巴巴等云提供商选择在其数据中心将在线服务与批处理应用程序放在一起。通过实施统一的资源管理策略,不同类型的复杂计算作业以一致的方式请求资源,帮助数据中心实现全局最优调度,并提供更高质量的计算能力。
分析
为了理解统一的资源管理策略,本文对阿里巴巴的统一调度工作负载进行了深入研究。我们的研究重点是资源利用率、应用程序运行性能和调度可扩展性的特征。
生产工作负载的特征
-
统一调度通过在适当的时间调度尽力而为(BE)应用程序(如批处理作业[10]),将填谷和削峰相结合,不仅可以为延迟敏感(LS)应用程序(如微服务[35])提供性能保证,而且可以在LS工作负载较低时提高利用率。
-
尽管峰值负载发生了变化,但总体资源利用率仍然很低,平均不到30%。
-
有很长的调度延迟等待CPU和内存资源,并且调度延迟遵循重尾分布。
-
现有的资源使用预测因素往往会做出严重的高估。
-
同一应用程序中的任务表现相近,可以根据相应物理主机上的资源争用来很好地分析任务的运行性能。
-
通过机器学习算法,可以根据QPS、pod资源利用率、主机资源利用率、相对于pod和主机资源使用率,来配置每个延迟敏感应用的压力停止信息(PSI)。
本文方法
本文设计了Optum,一种统一的数据中心调度器,用于提高整体资源利用率,同时确保每个应用程序的良好性能。
-
实现了一个更准确的预测器来预测每个物理机器上的未来资源使用情况。原理是,来自不同应用程序的任何两个pod的总资源使用量的峰值远低于这两个pod峰值使用量的总和。因此,预测器结合了所有pod对的资源使用估计,以产生更准确、更紧凑的预测。
-
制定了一个优化问题来调度统一的任务请求,旨在平衡利用率和资源争用。
-
实现了高效的启发式算法,以可扩展的方式解决优化问题。
大规模实验表明,与最先进的统一调度方案相比,Optum可以节省高达15%的资源,而不会降低性能。
实验
数据集:阿里巴巴数据中心的工作负载,包含10000多个应用程序在8天内提交的100万个pod,这些应用程序运行在约6000台物理主机上。此外,Optum的评测器使用pod在前七天的运行数据来构建学习模型。
实验对比:预测准确率、资源利用率、PSI、任务完成时间、参数设置、调度开销
总结
对大型数据中心的统一调度工作负载进行了全面的分析,提出了生产工作负载的一些特征:统一调度尽力而为(BE)和延迟敏感(LS)应用程序,可以提供性能保证和高资源利用率;目前生产环境总体资源利用率很低,平均不到30%;现有调度器有很长的调度延迟,并且调度延迟遵循重尾分布;现有的资源预测器不准确,往往会严重高估;同一应用程序中的任务表现相近,可以根据相应物理主机上的资源争用来很好地分析任务的运行性能;通过机器学习算法,可以根据QPS、pod资源利用率、主机资源利用率、相对于pod和主机资源使用率,来配置每个延迟敏感应用的压力停止信息(PSI)。
设计了一个统一调度器Optum,关键之处在于基于机器学习实现了准确的资源使用预测。基于此构建了一个全局优化框架,以最大限度地提高资源利用率,同时确保应用程序性能。同时优化可扩展性,降低调度开销。