過載

產生背景

爲了應對峯值負荷以及一些想象不到的負載峯值,高優先級的面向用戶的服務會置備在大型集羣上。因此,大多數時間,資源沒有得到充分的利用。過載會激發暫時沒有使用的資源來最大限度的執行任務,比如背景分析,視頻/圖像處理,芯片仿真,以及其他低優先級的工作,當資源被徵用,這些任務可以被隨時撤銷。嘗試在可撤銷的資源上啓動 tasks/executors,當資源被節流或搶佔,Mesos 可以隨時撤銷任務。

工作原理

Oversubscription在Mesos 0.23.0中被引入並 增加了兩個新的 slave 組成部分:資源估算和服務質量(QoS)控制,延展旁邊現有的資源進行分配,資源監視器和 mesos slave。
這裏寫圖片描述

資源估計器

1.確定oversubscribed的資源數量,資源估計器利用資源監視器通過ResourceStatistic message 定期獲取資源使用的統計情況,資源估計器利用收集到的資源統計情況決定oversubscribed 資源的數量,這些算法基於已經分配但是還沒有使用和可以分配的資源。
2.agent通過輪旬的方式從資源估計器中獲取信息從而跟蹤最新的估計信息
3.當最新的估計信息不同於之前的信息時,會將oversubscribed的資源數量信息發送給master。

資源跟蹤和調度算法

4.與其他有規律的相比,資源分配器會跟蹤記錄oversubscribed的資源,並稱這種資源是可撤銷的(revocable),並且由資源估計器來決定哪種資源是oversubscribed的,建議僅認購可壓縮的資源,例如:CPU、帶寬等。

框架

5.Framework可以通過普通的launchTask() API來啓動使用可撤銷資源的任務,爲了保護沒有設置優先級的Framework,僅有在屬性中設置REVOCABLE_RESOURCES 進行註冊的Framework纔會接收到帶有可撤銷資源的資源邀約,並且,可撤銷的資源不可以進行動態預留,同時,持久卷(persistent volumns)不能在作爲可撤銷資源的磁盤上創建。

啓動任務

可撤銷的任務像普通的任務一樣,在收到runTask 請求時才啓動。資源仍然被標記爲可撤銷的,並且如果某些資源需要爲普通和可撤銷的任務使用而做不同的準備,資源隔離器也會採取相應的措施。

注意

如果某些任務或者executor使用了可撤銷的資源,則整個容器(container)被當做可撤銷的容器對待,一次會被QoS控制器殺掉。

干擾探測

6.當可撤銷的任務在運行的時候,使用監視器監控一直使用可撤銷資源的任務以保證其性能很重要,爲了應對探測到的干擾,QoS控制器需要殺掉或者壓制運行中的可撤銷的資源。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章