本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
整理您的陣列、佇列和機群
您可以從包含一個佇列和一個機群的單一陣列開始。隨著 AWS 截止期限雲端 (截止期限雲端) 陣列中的使用者數量和各種工作負載的成長,有助於更謹慎地組織工作:每個團隊或專案的佇列、每個硬體類型的機群,或必須保持隔離的獨立工作個別陣列。
三個問題驅動了設計:
-
誰可以查看、提交和管理哪些任務? 佇列是許可和預算的自然界限。
-
哪些硬體會執行哪些任務? 機群會依功能將工作者分組,而每個任務的主機需求都會將其路由到可執行它的機群。
-
是否有任何工作需要與其他工作嚴格隔離? 對於不可混合的工作,例如不同用戶端的工作,請為每個工作負載建立個別的陣列。個別陣列是硬性安全界限。
佇列、機群和陣列如何分割工作
佇列和機群具有many-to-many的關係。您可以將一個佇列與多個機群建立關聯,並將一個機群與多個佇列建立關聯。當機群提供多個佇列時,它會將其工作者分配到其中。如需詳細資訊,請參閱關聯佇列和機群。
當佇列有多個機群時,每個任務的主機需求 (例如 GPUs、vCPUs、記憶體和作業系統) 會決定哪些機群可以執行它。您不需要 GPU 任務和 CPU 任務的個別佇列:將一個佇列與 GPU 機群和 CPU 機群建立關聯,而需要 GPU 的轉譯只會排程到 GPU 機群,而沒有 GPU 需求的任務可以在 CPU 機群上執行。Deadline Cloud 整合提交者包含主機需求設定,因此藝術家可以描述任務所需的硬體,而無需知道哪個機群提供它。
佇列也是您控制存取和花費的地方。您可以分別授予使用者每個佇列的存取層級,讓使用者可以提交任務到一個佇列,同時只檢視另一個佇列。您也可以為每個佇列設定預算。如需詳細資訊,請參閱在截止日期雲端中管理使用者及使用預算控制成本。
佇列許可控制誰可以查看和管理任務,但它們本身無法完全隔離任務。來自不同佇列、共用機群、在相同工作者主機上執行的任務,它們可以共用常見的資源,例如套件和檔案的快取。單獨的陣列是硬性安全界限:除非您透過共用 Amazon Simple Storage Service (Amazon S3) 儲存貯體等外部資源來降低界限,否則陣列不會彼此共用無效雲端資源。如需詳細資訊,請參閱使用陣列、機群和佇列隔離工作負載。
| 使用 分割 | 最適合分隔 | 考量事項 |
|---|---|---|
佇列 |
需要自己的任務清單、許可和預算的團隊、表演或部門 |
來自共用在相同工作者主機上執行機群之佇列的任務 |
機群 |
硬體和軟體環境,例如 GPU 工作者、CPU 工作者或客戶管理的機群 |
為多個佇列提供服務的機群會將工作者分配到其中 |
陣列 |
需要硬隔離界限的工作負載,例如不同的廠商或用戶端 |
陣列不會共用任何內容,因此每個陣列都需要自己的佇列、機群和使用者授權 |
常見模式
下列配置涵蓋大多數組織。您可以合併它們,例如,您團隊共用的陣列,以及每個廠商的個別陣列。
一個共用陣列,每個團隊一個佇列
在單一組織中,具有每個團隊或工作負載佇列的共用陣列 (例如 Studio 的節目或機器學習訓練管道) 通常是正確的開始配置。每個人都在一個檢視中看到整個陣列。您可以將貢獻者層級授予每個團隊在自己的佇列和其他地方的檢視器層級,以便團隊可以遵循所有工作,而無需變更彼此的工作。預算會追蹤每個佇列的支出。
將佇列與共用機群建立關聯。共用機群會保持高使用率並保持工作者暖機,因為完成一個團隊任務的工作者可以挑選另一個團隊的任務,而無需等待新的執行個體啟動。權衡是團隊共用工作者主機,這通常在一個組織的信任界限內是可接受的。若要新增佇列,請參閱 建立佇列。
每個廠商或用戶端的陣列
當您使用外部廠商,或為多個不可混合的用戶端執行工作時,請為每個用戶端建立個別的陣列。授予某個陣列存取權的使用者看不到其他陣列,而某個陣列中的任務無法在另一個陣列的機群上執行或讀取其任務附件。保持邊界完整:不要跨陣列共用任務連接 Amazon S3 儲存貯體、機群或其他資源。若要新增陣列,請參閱 建立陣列。如需安全性詳細資訊,請參閱 使用陣列、機群和佇列隔離工作負載。如需將廠商帶入陣列的end-to-end步驟,請參閱 將使用者加入您的陣列。
敏感內容的限制機群
若要在專用工作者的安全或隱私權限制下繼續工作,請為該工作建立佇列和機群,並僅將機群與該佇列建立關聯。任務只會排程至與其佇列相關聯的機群,因此與單一佇列相關聯的機群會執行該佇列的任務,而不會執行其他任務。請參閱 關聯佇列和機群。對於不得與 Studio 其他部分共用任何內容的工作,請改用單獨的陣列。
完成限制佇列周圍的邊界:
-
僅將存取權授予核准的使用者和群組。請參閱 在截止日期雲端中管理使用者。
-
使用專用任務附件 Amazon S3 儲存貯體或根字首,並將佇列角色範圍限定在其中。請參閱 安全任務連接和軟體儲存貯體。
-
以沒有其他佇列使用的作業系統使用者身分執行任務。請參閱 以專用作業系統使用者身分執行任務。
-
限制誰可以變更機群的佇列機群關聯。請參閱 管理特定機群佇列機群關聯的政策。
如需這些步驟背後安全考量的詳細資訊,請參閱 使用陣列、機群和佇列隔離工作負載。
服務受管和客戶受管機群的個別佇列
如果您的陣列同時具有服務受管和客戶受管機群,在大多數情況下會為每個機群類型建立個別的佇列。為兩種機群類型撰寫的任務通常會採用不同的執行環境。服務受管機群的佇列通常會使用 conda 佇列環境為每個任務安裝應用程式,而客戶受管機群的任務則預期您預先安裝在工作者主機上的軟體。針對一個環境設定的任務通常會在另一個環境上失敗。將佇列分開也會讓每個佇列的環境設定變得簡單。如需詳細資訊,請參閱在服務受管和客戶受管機群之間進行選擇及預設conda佇列環境。