CycleCloud 不是排程器,而是可讓您在 Azure 上部署自己的排程器的平臺。 排程器會管理作業並將其散發到節點叢集。 CycleCloud 提供 REST API 和 Python 連結庫,用於開發排程器的自動調整配接器。 使用這些配接器時,受管理叢集會根據作業佇列的長度和治理原則按比例增加或縮減。
排程器
排程器是一種軟體,能夠接受作業清單(或任務),並將這些任務分配到可用資源池中。 它會考慮作業的資源需求、作業間相依性和優先順序。 這些作業清單通常稱為佇列。
CycleCloud 隨附許多常用排程器的內建支援(PBS Professional OSS、Slurm、IBM LSF、Grid Engine 和 HT Condor)。 它會提供範本,以在 Azure 上部署這些排程器。 這些範本是預設拓撲,代表在 Azure 上建置 HPC 叢集的最佳做法。 他們會使用獨特的特製化功能,例如 低延遲 InfiniBand 網路功能。
此外,系統會為每個排程器建立 專案 。 使用專案在前端節點和計算節點上安裝和初始化排程器精靈。
排程器配接器
針對每種排程器類型建立的配接器會扮演兩個主要角色。 一個角色會彙總排程器佇列發出的資源需求。 另一個角色會將資源需求轉譯成一組 Azure VM 大小的配置要求。 針對特定條件約束建構這些配置要求。 這些條件約束可以包含 VM 配額、叢集大小限制,以及適用於適當 VM 大小的 InfiniBand 網路拓撲所施加的限制。 在某些方面,這些轉接器類似於協商多方需求和供應的經紀人。
顯示器
此監視器是在 CycleCloud 應用程式伺服器中執行的程式,並定期輪詢 Azure 服務,以取得 Azure 訂用帳戶中的資源可用性。 此監視器會將這項資訊提供給排程器配接器以進行需求代理。
節點配置器
節點配置器會在 CycleCloud 應用程式伺服器中執行。 它會透過 REST API 從排程器配接器接收配置要求、布建滿足要求的 Azure 資源,並將布建的資源呈現回排程器配接器作為節點集。