[譯]集羣調度架構的變革 (三)

全分佈式架構 將分化作的更完全,調度器間沒有任何協調,而且使用許多獨立的調度器來處理進入的負載,就像圖 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

相關文章
相關標籤/搜索