CycleCloud 排程和自動調整概念

CycleCloud 不是排程器,而是一個平臺,可讓使用者在 Azure 上部署自己的排程器,以管理和散發作業到節點的叢集。 此外,CycleCloud 會提供 REST API 和 Python 程式庫來開發排程器的自動調整介面卡,讓這些受控叢集根據作業佇列和治理原則的長度來相應增加或減少。

協調流程圖

排程器

排程器是一種軟體,可接受作業清單 (或工作) ,並將這些工作散發至可用資源的集區,並考慮作業的資源需求,以及作業間相依性和優先順序。 這些作業清單通常稱為佇列。

CycleCloud 隨附一些常用排程器的內建支援, (PBS Professional OSS、Slurm、IBM LSF、Grid Engine 和 HT Commonr) ,提供範本以在 Azure 上部署這些排程器。 這些範本是預設拓撲,代表在 Azure 上建置 HPC 叢集的最佳做法,其利用獨特的特製化功能,例如 低延遲的 InfiniBand 網路功能

此外,系統會為每個排程器建立 專案 ,並用來在前端節點和計算節點上安裝和初始化排程器精靈。

排程器配接器

針對每種排程器類型建立的配接器扮演兩個主要角色:1 個) 從排程器佇列匯總資源需求,2 個) 將資源需求轉譯為 Azure VM 大小的配置要求。 這些配置要求會以特定條件約束來建構,例如 VM 配額、叢集大小限制,以及 InfiniBand 網路拓撲所加加的限制, (適當的 VM 大小) 。 在某些方面,這些配接器類似于交涉多方需求和供應的訊息代理程式。

監視器

監視器是在 CycleCloud 應用程式伺服器中執行的程式,並定期輪詢 Azure 服務,以取得 Azure 訂用帳戶中的資源可用性。 此監視器會將這些資訊提供給排程器配接器,以進行需求代理。

Node 配置器

節點配置器會在 CycleCloud 應用程式伺服器中執行。 它會透過 REST API 從排程器配接器接收配置要求、布建滿足要求的 Azure 資源,並將布建的資源呈現回排程器配接器配接器做為節點集。

注意

雖然上述基礎概念在排程器之間很常見,但實作詳細資料在排程器之間有所不同。 如需每個實作的深入資訊,請參閱個別排程器頁面。