【每周论文】Apollo: Scalable and Coordinated Scheduling for Cloud-Scale Computing

Apollo是微软在OSDI 2014发表的分布式集群调度解决方案,已在生产环境中处理数十亿作业。它强调在大规模服务器集群中实现每秒数万次调度、公平资源分配和考虑多种因素的决策,包括数据局部性、作业特性和服务器负载。Apollo采用分布式框架,每个调度器具备全局视野,通过估计模型优化任务完成时间,还具备校正机制和机会调度策略,以确保低延迟和高资源利用率。整体结构包括Job Manager、Resource Monitor和Process Node,实现资源管理和全局信息传递。
摘要由CSDN通过智能技术生成

依旧是关于集群作业调度的文章,发表在OSDI 2014,是微软的工作。与之前看的中心化调度工作不同,Apollo与Sparrow一样采用了分布式框架,并且和Omega一样采用了共享集群状态的方式让每个调度器都拥有全局视角。最重要的是Apollo已经部署在微软的生产环境上了,每天都要对数十亿个作业进行合理的调度,其性能肯定没得说了。

以微软当时的并行计算的生产环境为例,每个集群有超过2万台服务器,有成千上万个用户每天都向集群提交作业,对调度器来说每秒能达到数万个调度请求,并且提交的作业也是多种多样的。在这样的场景下,调度器必须能达到以下三点:

  • 在上万台服务器规模的集群中,每秒要能达到数万次调度。
  • 在不同的用户和群体之间,要保持公平的资源共享。
  • 在进行调度决策是,要考虑到数据的局部性、作业的特点和服务器的负载等因素,并尽可能地减少作业延迟,提高集群资源的利用率。


Apollo的主要特性为以下几点:

  • Apollo采用分布式和松散协调的调度框架。传统的中心式调度框架,其可扩展性有很大的限制,为了平衡可扩展性和调度质量,该工作采用了分布式的调度框架,每个调度器根据整个集群的信息独立地进行调度。
  • Apollo将每个任务的完成时间最小化。Apollo通过估计模型来对每一个提交的作业的任务完成时间进行预估,模型中同时考虑数据的局部性、服务器负载和其他各种因素,并可以根据这些因素进行加权决策,估计模型还可以通过以往类似作业的运行信息来对时间估计进行进一步的细化。
  • 每个调度器都拥有整个集群的信息,供其进行调度决策。Apollo引入了轻量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值