[译]集群调度架构的变革 (三)

全分布式架构 将分化作的更完全,调度器间没有任何协调,而且使用许多独立的调度器来处理进入的负载,就像图 1d里面展现的。每一个调度器只与他们的本地数据,一般是集群的过时数据工做。任务能够提交给任何调度器,每一个调度器又会将任务放置在集群的任何位置。不像两层调度器,调度器不对隔离负责。相反,全局调度器和资源分区是在统计了多样与随机性的负载形成的结果后作的决策 - 相似于共享状态调度器,只是没有中央控制。微信

clipboard.png

最近的分布式调度器运动应该是起始于Sparrow(http://dl.acm.org/citation.cf...,虽然底层的概念(多样随机性选择)第一次出现实在1996年。Sparrow的关键前提是假设咱们在集群中运行的任务会变得更短,基于一个争论(http://dl.acm.org/citation.cf...,即细粒度的任务有更更多的好处。做者假设任务会变得愈来愈多,意味着调度器应该支持一种更高层的吞吐量。因为一个单一的调度器可能没法保持这样的吞吐(假设每秒有100W的任务!),Sparrow将负载转移到许多的调度器上。架构

这颇有意义:中央控制的缺少能够变成一个很好的特性 ,它对一些负载适配的很好 - 在将来更多。 因为分布式调度器不须要互相协调,他们能够作到比高级单体,2层,或者共享状态调度器的逻辑更简单。例如:分布式

  1. 分布式调度器能够基于一个简单的“槽”概念,将每一个机器划分红n个标准的槽,对应n个并行的任务。这样简化了任务须要的资源不是统一的。
  2. 在worker端也使用了队列做为简单的服务逻辑(如,Sparrow的FIFO),保证调度有弹性,调度器能够仅仅选择在哪台机器上作任务的入队操做。
  3. 分布式调度器很难进行一个全局调度(如:公平策略或严格的优先级控制),由于没有中央控制。
  4. 因为它们都被设计为在只有不多知识时进行快速决策,分布式调度器不能支持复杂或定制应用策略。避免干涉任务,例如,用一些后门手段。

本文来自微信公众号「麦芽面包,id「darkjune_think」
转载请注明。微信扫一扫关注公众号。
交流Email: zhukunrong@yeah.net
图片描述spa

相关文章
相关标签/搜索