iT邦幫忙

2023 iThome 鐵人賽

DAY 14
0
自我挑戰組

SRE 照書養系列 第 14

Day 14 - SRE 照書養:Borg 淺聊(下)

  • 分享至 

  • xImage
  •  

是中秋連假!!!(吶喊)昨天聊了 Jobs 是怎麼在 Borg 系統中被調度的,今天繼續來研讀一下 Task 的生命週期,這是 Borg 有關的文章:Large-scale cluster management at Google with Borg

Job 具有各種屬性,包括名稱、擁有者和任務數。 根據需求,可以在提供特定屬性的設備上強制運行,這些屬性可能包括處理器架構,操作系統版本或外部 IP 。有硬性和軟性的約束,軟性的更是像偏好而非要求。Task 也有屬性,如資源需求以及在工作中的排序。大部分工作不在虛擬機器上進行以減少成本。

Borg 計劃將所需的資源細分並單獨指定,並不會強加固定大小的限制。Borg 程式被靜態連接以降低對運行環境的依賴性。

Job 操作是通過向 Borg 發出遠程的過程調用(RPCs)。Job 描述大多使用BCL語言編寫。

image

根據上圖,用戶可以更改正在運行的 Task 的屬性,方法是向 Borg 推送 (submit) 新的 Task 配置,然後 Borg 根據新的規格更新 Task。

根據需求,更改 (update) Task 可能需要其重新啟動,或者可能會使得 Task 不再適合原來的機器而需要重新分配,有些情況下,如改變優先級,可以不需要重新啟動或者移動 Task。

Task 可以使用 Unix SIGTERM 信號在被 SIGKILL 信號的強制終止 (kill) 之前收到通知,從而在關閉之前完成清理,保存狀態並完成當前的任務。

後記

今天又更了解 Jobs 跟 Tasks,對 Borg 的文件研究會先告一個段落!明天繼續回到第二章!掰噗!


上一篇
Day 13 - SRE 照書養:Borg 淺聊(中)
下一篇
Day 15 - SRE 照書養:Borg 存儲系統
系列文
SRE 照書養30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言