1.背景數據庫
Google的論文Omega:flexible,scalable schedulers for large compute clusters中把調度分爲3代:第一代是獨立的集羣;第二代是兩層調度(Mesos,YARN);第三代是共享狀態調度,如圖9.3所示。架構
圖9.3併發
2.架構ide
爲了克服雙層調度器的侷限性,Google開發了下一代資源管理系統Omega。Omega是一種基於共享狀態的調度器,該調度器將雙層調度器中的集中式資源調度模塊簡化爲一些持久化的共享數據(狀態)和針對這些數據的驗證代碼,而這裏的「共享數據」實際上就是整個集羣的實時資源使用信息。一旦引入共享數據,共享數據的併發訪問方式就成爲該系統設計的核心。而Omega則採用傳統數據庫中基於多版本的併發訪問控制方式(也稱爲「樂觀鎖」,Multi-Version Concurrency Control,MVCC),大大提高了Omega的併發性。因爲Omega再也不有集中式的調度模塊,所以,不能像Mesos或者YARN那樣,在一個統一模塊中完成如下功能:對整個集羣中的全部資源分組;限制每類應用程序的資源使用量;限制每一個用戶的資源使用量等。這些功能所有由各個應用程序調度器自我管理和控制。根據論文所述,Omega只是將優先級這一限制放到了共享數據的驗證代碼中,即當多個應用程序同時申請同一份資源時,優先級最高的那個應用程序將得到該資源,其餘資源限制所有下放到各個子調度器。引入多版本併發控制後,限制該機制性能的一個因素是資源訪問衝突的次數,衝突次數越多,系統性能降低得越快。而Google經過實際負載測試證實,這種方式的衝突次數是徹底能夠接受的。該論文中還談道,Omega是從Google現有系統中演化而來的。雖然這篇論文只介紹了Omega的調度器架構,但咱們能夠推測它的總體架構相似於Mesos。所以,若是你瞭解Mesos,則經過修改Mesos的Master就能夠將它改形成一個Omega。性能
3.優缺點測試
(1)優勢:共享資源狀態,支持更大的集羣和更高的併發。flex
(2)缺點:只有論文,無具體實現,在小集羣下沒有優點。scala
更詳細的信息,你們去看論文吧:)設計