智能调度:Stanford的Quasar

智能、自动化是对系统孜孜不倦的追求,尤其是在资源调度这块。传统的YARN/MESOS有各种资源分配算法,如DRF,capacity scheduler,fair scheduler。这些调度算法聚焦在资源的匹配和分配上面。其中最大的问题设计思路是基于预留的思路,要求应用提出资源的需求,而在现实中往往是不现实的。不现实在两个方面:

  1. job需要的资源和需要处理的数据量,过程的复杂度强相关。而这两者在实际的生产系统中都不是一成不变的,所以往往预留的资源要么多大,要么过小。
  2. 单个job实际上本身也是一个复杂的过程,需要的资源也不是一成不变的。所以按理想的状态预留资源往往不现实,带来的最终结果是资源利用率不高。

关于智能资源调度方面,我早前写过一篇文章《智能调度 与 蚁群算法》,提的是设想通过蚁群算法来自动分配资源。最近看到stanford的一篇论文《Quasar: Resource-Efficient andQoS-Aware Cluster Management》,通过简单的分类算法就达到了job资源的预测和自动分配,解决了上面提到的2个资源分配的难题。

首先来看下Quasar的基本思路,基本过程对照上面的图,分下面几步:

  1. quasar不是基于资源预留和匹配的模式。Quasar提供一个high-level的接口让用户给调度器描述他性能约束条件。不同类型的workload接口不一样。比如对延迟苛刻的workload,限制条件藐视为QPS(查询次数/秒)。分布式框架,如hadoop,限制条件是执行时间。对于单机里面单线程或者多线程workload,限制条件就是low-level的IPS(每秒执行的指令数)。这个主要取决于以哪种资源分配和制定来满足workload.
  2. Quasar使用快速分类技术去评估不同的资源分配导致不同的workload性能。一个新进的workload和数据集,需要从一些server上采集一段时间(从几秒到几分钟)。这些有限的采集信息和已有的被分类离线的workload、已经被调度过的workload组合起来。分类的结果准确的估计了应用的性能,考虑各种不同的类型和数量的服务器以及单服务的资源量,排除了其他的一些干扰。Quasar将问题分配的简化成四种主要部分 每个节点 和 节点数,分配的服务器类型 和干扰的程度。这大大降低了分类的复杂性问题。
  3. quasar使用分类的结果直接用于资源的分配,消除分配和匹配的二次无效性。quasar使用贪心算法结合四个独立的分类结果,选择数量或具体的资源集,来达到(或接近)的性能约束。Quasar同时监视系统性能。如果在有空闲资源的情况下,约束没有得到满足,即使workload发生了变化(比如job内部阶段变化了)说明分类是不正确的,或贪婪的次优方案到指定结果。只要条件允许Quasar会重新分配资源。

再来看下Quasar达到的效果。

  1. Single batch job(纯粹hadoop):平均提升29%到58%。
  2. Multiple Batch Frameworks performance(Hadoop,Storm, and Spark混合):提升27%。
  3. Large-Scale Cloud Provider:从15%的cpu利用率提升到62%,提升47%。

Quasar的规模也很小,6K行代码。新增一个应用大概需要几百行即可。

总的来说,Quasar这个是非常好的一个思路,是调度的未来发展方向,是非常值得研究和跟进的技术,有兴趣的同学,可以把论文下载下来好好读读。

原文发布于微信公众号 - 大数据和云计算技术(jiezhu2007)

原文发表时间:2015-06-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏MixLab科技+设计实验室

你该掌握的AI技能:强化学习01

题图由人工智能设计师完成 最近在看一些强化学习的书籍,学习的过程就是要不断的输入,查找资料,理解各种资料,然后输出,总结学习心得,再次输入,输出。不断的重复输入...

2736
来自专栏AI科技评论

开发 | 一文详解英伟达刚发布的 Tesla V100 究竟牛在哪?

AI科技评论按:很多读者在思考,“我和AI科技评论的距离在哪里?”答案就是:一封求职信。 5 月 11 日,在加州圣何塞举办的的 2017 年度 GPU 技术大...

27513
来自专栏人工智能

你该掌握的AI技能:强化学习01

题图由人工智能设计师完成 最近在看一些强化学习的书籍,学习的过程就是要不断的输入,查找资料,理解各种资料,然后输出,总结学习心得,再次输入,输出。不断的重复输入...

1868
来自专栏华章科技

春招快到了,送你一份数据分析常见面试题

找了半年工作,面试了几个data science的职位,总结了一些常见的问题,在这儿抛砖引玉。

371
来自专栏无题

分库分表基本思想和实施策略

本文着重介绍sharding的基本思想和理论上的切分策略 参考地址:http://blog.csdn.net/bluishglc/article/details...

3706
来自专栏CSDN技术头条

Apache Spark在大规模分布式自然语言处理的应用

我们TripAdvisor公司拥有大量的用户评价数据,据最近的一次公告,大约有几亿条。我是从事机器学习相关的工作,在机器学习中我们常喜欢做的一件事就是堆砌大量数...

1718
来自专栏人工智能头条

Apache Spark在大规模分布式自然语言处理的应用

1173
来自专栏机器之心

开源 | 猿辅导分布式机器学习库ytk-learn、分布式通信库ytk-mp4j

机器之心投稿 作者:猿辅导研究团队语音识别负责人夏龙、机器学习工程师吴凡 近期,猿辅导公司开源了两个机器学习项目—ytk-learn, ytk-mp4j,其中...

2787
来自专栏华章科技

数据专家必知必会的7款Python工具

我咨询了我们真正的数据专家,收集整理了他们认为所有数据专家都应该会的七款 Python 工具。The Galvanize Data Science 和 Galv...

653
来自专栏腾讯大讲堂的专栏

如何节省1T图片带宽?解密极致图像压缩

图像已经发展成人类沟通的视觉语言。无论传统互联网还是移动互联网,图像一直占据着很大部分的流量。如何在保证视觉体验的情况下减少数据流量消耗,一直是图像处理领域研究...

4378

扫码关注云+社区