CycleCloud:核心概念

在最基本的情況下,高效能運算 (HPC) 系統是高效能文件系統所支援的計算資源集區,並透過低延遲網路互連。 這些計算資源通常是由 HPC 排程器管理,這是排程作業的軟體應用程式。

從基本基礎結構單位在 Azure 上建置個別 HPC 系統,例如 虛擬機器、磁碟和網路介面可能會很麻煩,特別是如果這些資源是暫時性的,則只有在手邊解決 HPC 工作所需的時間才存在。 此外,操作員想要建立多個個別的 HPC 環境,以便針對各種業務單位、研究小組或個人量身打造。 管理這些多個 HPC 系統可能是作業上的複雜性。

什麼是 CycleCloud?

Azure CycleCloud 是一種工具,可協助在 Azure 上建構 HPC 系統。 它會協調這些系統,使其根據手邊的 HPC 工作彈性調整大小,而不需要管理基本的 Azure 建置組塊。 CycleCloud 是由適用於 HPC 系統管理員和使用者的資深 HPC 專業人員小組所設計,特別是想要在 Azure 中建置 HPC 系統的使用者,與他們熟悉的內部 HPC 基礎結構類似。

協調流程圖

在操作上,CycleCloud 是安裝在 Azure 上 Linux VM 中的應用程式伺服器,或可存取 Azure API 和資源的內部部署伺服器上。 CycleCloud 會取得並布建 Azure VM,以建構可整合排程器和使用者應用程式的 CycleCloud 叢集。 CycleCloud 也提供一些 HPC 排程器和在 Azure VM 上執行的 CycleCloud 代理程式的自動調整整合。

應用程式伺服器

此應用程式伺服器提供:

  1. 用於在 Azure 上建立和管理 HPC 系統的 REST API。
  2. 圖形使用者介面,可讓使用者管理及監視 HPC 系統。
  3. 可協助將 CycleCloud 整合到現有工作流程的 CLI。
  4. 快取叢集和節點狀態的內部 NoSQL 資料存放區。
  5. 取得和管理 Azure VM 的配置和協調流程系統
  6. 警示狀態變更之現有 VM 的節點監視系統。

整合

CycleCloud 也提供許多整合至一般排程器和 Azure VM。 提供:

  1. 將布建的 VM 轉換成 HPC 節點的節點準備和組態系統。
  2. 將 HPC 排程器工作需求轉譯為 Azure 資源的自動調整。

CycleCloud 可以做什麼

CycleCloud 是以 HPC 操作員為目標, (系統管理員和使用者) 在 Azure 上部署 HPC 系統,以及想要從 HPC 排程器復寫其內部執行的基礎結構的使用者,從 HPC 排程器到檔案系統裝入點,以進行應用程式安裝和數據存取。 這些用戶特別查看支援應用程式、工作流程引擎和計算管線,而不需要重新調整其內部程式。

CycleCloud 提供豐富的宣告式範本化語法,可讓使用者描述其 HPC 系統,從叢集拓撲 (叢集節點的數目和類型,) ,向下到每個節點上部署的裝入點和應用程式。 CycleCloud 的設計目的是要與 PBSPro、Slurm、IBM LSF、Grid Engine 和 HT 一起運作的 HPC 排程器,可讓使用者在每個排程器中建立不同的佇列,並將其對應至 Azure 上不同 VM 大小的計算節點。 此外,自動調整外掛程式會與接聽每個系統中作業佇列的排程器前端節點整合,並藉由與在應用程式伺服器上執行的自動調整 REST API 互動來調整計算叢集的大小。

除了布建和建立 HPC 節點之外,CycleCloud 也提供一個架構來準備和設定虛擬機,基本上是提供系統來將裸機 VM 轉換成 HPC 系統的功能元件。 透過此架構,用戶可以在 VM 上執行最後一哩的設定。

此外,CycleCloud 提供下列功能:

  • 使用者存取

    CycleCloud 隨附在 HPC 系統的每個節點上建立本機用戶帳戶的內建支援。 透過此系統,使用者存取權可以透過單一管理平面來控制,而不需要部署目錄服務。

  • 監視

    節點層級計量會收集並顯示在 CycleCloud UI 中。 這些適用於監視系統上的負載,而且可以連結至報告和警示服務。

  • Logging

    CycleCloud 提供系統來記錄節點和應用程式伺服器層級的活動和事件。

  • 可攜性

    系統不強制使用特定的 VM 映像或作業系統。 CycleCloud 支援 HPC 節點上的主要 Windows 和 Linux 作業系統。 此外,使用者可以建置自己的 VM 映射,並在其 HPC 系統中使用該映像。

  • 基礎結構即程式碼

    由於 CycleCloud 中建立的所有專案都是在範本和設定腳本中定義,因此透過 CycleCloud 部署的 HPC 系統是可重複且可移植的。 這可在不同環境中部署 HPC 系統的操作員一致性:沙箱、開發、測試和生產環境。 操作員也可以為不同的商務群組或小組部署相同的 HPC 系統,以區分會計考慮。

  • 鬆散結合或緊密結合的工作負載

    CycleCloud 所建立的 HPC 叢集不僅設計為支援鬆散結合或令人疑慮的平行作業,其中調整 (叢集的大小) 是主要考慮。 CycleCloud 叢集也設計了 Azure 的 Infiniband 骨幹,支援緊密結合或 MPI 型工作負載,其中節點鄰近性和網路等待時間很重要。 這些向外延展和緊密結合的概念在 CycleCloud 支援的排程器整合中不一定。