共用方式為


Azure HPC 工作負載的儲存

記憶體存取是規劃高效能運算 (HPC) 工作負載效能時要考慮的重要因素。 特定環境中的大規模 HPC 工作負載可能會對資料儲存和存取提出超出傳統雲端檔案系統能力的需求。 本文提供建議,協助您為 Azure HPC 工作負載選擇正確的記憶體。 它也會針對能源、金融和製造業中的 HPC 工作負載提供記憶體的相關建議。

請考慮下列與應用程式需求相關的因素,以協助決定要使用的記憶體解決方案:

  • 延遲
  • 每秒的輸入/輸出作業 (IOPS)
  • 吞吐量
  • 檔案大小和計數
  • 作業運行時間
  • 成本
  • 儲存位置 – 本地與 Azure

如需詳細資訊,請參閱 瞭解影響 Azure中 HPC 記憶體選取的因素。

下圖顯示特定 HPC 記憶體系統選擇的判定樹。

當您選擇記憶體解決方案時,顯示考慮判定樹的圖表。

高效能運算的考慮事項

石油和天然氣公司必須能夠有效地管理和儲存艾字節的地震數據、井數據、地圖和租賃。 為了使用此數據,他們需要高效能基礎結構,其可處理並提供即時分析,以協助優化生產、降低環境風險,以及增強作業安全性。

數據記憶體 和存取需求會根據工作負載規模而有所不同。 Azure 支援數種方法來管理 HPC 應用程式的速度和容量。

能源產業中的大規模批次和 HPC 工作負載對於數據儲存和存取的需求超過傳統雲端文件系統的功能。 高效能輸入/輸出 (I/O) 需求和 HPC 的大規模延展性需求,為數據儲存和存取帶來獨特的挑戰。

HPC 解決了地震和水庫模擬和模型化等複雜問題,而這些問題不適合使用傳統運算技術來處理,因為不夠實用或符合成本效益。 HPC 透過平行處理和大規模延展性的組合來解決這些問題,以快速、有效率且可靠地執行大型和複雜的運算工作。

在 Azure HPC 叢集中,計算節點是您可以快速建立的虛擬機(VM),以執行指派給叢集的作業。 這些節點會將計算工作分散到叢集。 此分配協助實現解決複雜 HPC 問題所需的高效能平行處理。 計算節點在執行作業時,必須在共用工作記憶體上執行讀取和寫入作業。 節點會在下列兩個極端之間的一系列案例中存取此記憶體:

  • 一組數據傳送到許多計算節點。 在此案例中,網路上有單一數據源可供所有計算節點存取工作數據。 雖然在結構上很簡單,但儲存位置的 I/O 容量會限制 I/O 作業。

  • 許多數據集被傳送至許多計算節點。 在此案例中,網路上有許多數據源可供所有計算節點存取工作數據。 雖然在結構上很簡單,但儲存位置的 I/O 容量會限制 I/O 作業。

HPC 設計建議

選擇最適合您唯一 I/O 和容量需求的解決方案。

網路檔案系統

網路檔案系統 (NFS) 通常用於提供共用儲存位置的存取權。 使用 NFS 的伺服器 VM 會共用其本機檔案系統。 在 Azure 中,此檔案系統會儲存在裝載於 Azure 記憶體的一或多個虛擬硬碟上。 客戶端接著可以掛接伺服器的共享檔案,並直接存取共用位置。

NFS 通常用於需要存取所有節點的主目錄和專案空間。 它可以為共享數據的研究群組提供空間。 一般而言,吞吐量工作量具有水平擴充性,且個別工作之間的相依性很少。 作業排程器會將工作分成多個節點,並協調活動。 NFS 是透過 TCP/IP 網路存取的典型共享儲存,跨節點使用。

NFS 的優點是容易設定和維護,而且在Linux和Windows作業系統上都受到支援。 多個 NFS 伺服器可用來將記憶體分散到網路,但個別檔案只能透過單一伺服器存取。

針對低規模工作負載,請考慮在前端節點上執行 NFS,選擇使用具有大容量暫存磁碟的 儲存體優化 VM 或支援 Azure 高級儲存體的 D 系列 VM,具體取決於您的需求。 此解決方案適用於具有 500 個核心或更少核心的工作負載。

在 HPC 案例中,文件伺服器通常可作為節流整體效能的瓶頸。 嘗試以高於每 VM 記錄的最大 IOPS 和吞吐量的速率,從單一 NFS 伺服器存取未快取的數據時,會導致速度限制。

在數十個用戶端嘗試處理儲存在單一 NFS 伺服器上的資料的情況下,您可以輕鬆地達到這些限制。 這些限制可能會導致整個應用程式的效能受到影響。 當您的 HPC 應用程式更接近於使用純粹的一對多情境時,您就會更快地遇到這些限制。

Azure 上的平行文件系統

平行檔案系統會將區塊層級記憶體分散到多個網路記憶體節點。 檔案數據會散佈在這些節點之間,這表示檔案數據會分散到多個存儲設備之間。 此分配機制匯集可透過共用命名空間存取的多個儲存節點上的各個儲存 I/O 請求。

使用多個儲存裝置和多個數據路徑來提供高平行性。 這種方法可以減少因一次只存取單一節點而造成的瓶頸數量。 不過,如果直接在 API 或 POSIX I/O 介面層級運作,平行 I/O 可能很難協調和優化。 藉由引進元數據存取和協調層,平行文件系統可為應用程式開發人員提供應用層與 I/O 層之間的高階介面。

能源傳訊傳遞介面 (MPI) 工作負載具有獨特的需求,且需要節點之間的低延遲通訊。 這些節點是透過高速互連連線,因此無法輕易地適應與其他工作負載共用。 MPI 應用程式會在虛擬化環境中,使用 Pass-Through 模式來使用所有高效能互連介面。 MPI 節點的記憶體通常是平行文件系統,例如 Lustre,也可透過高速互連存取。 Lustre 和 BeeGFS 通常用於處理地震處理的大型輸送量需求。 在較小程度上,它們也用於水庫模擬。

像 Lustre 這類平行文件系統被用於 HPC 能源工作負載,這些負載需要存取大型檔案、支持多個計算節點同時存取,以及處理大量數據。 平行檔案系統的實作可讓您輕鬆地調整功能與效能。 這些文件系統會利用具有大型頻寬和降低 CPU 使用量的遠端直接記憶體存取傳輸。 平行文件系統通常用來做為臨時空間,而且適用於需要優化 I/O 的工作。 範例包括工作負載設定、前置處理、執行和後續處理。

協調的平行檔案服務,例如 Azure 受控 Lustre,適用於 50,000 個以上的核心,讀取/寫入速率高達 500 GBps 和 2.5-PB 記憶體。 如需詳細資訊,請參閱 Microsoft Azure上的 平行虛擬文件系統。

HPC 元件

  • Azure NetApp Files 和本機磁碟通常用來處理更多延遲和 IOPS 敏感的工作負載,例如地震解譯、模型準備和視覺效果。 請考慮針對最多 4,000 個核心的工作負載使用 Azure NetApp Files,並達到高達 6.5 GiBps 的輸送量。此方案適用於需要或受益於多重協定 NFS 和伺服器訊息區塊(SMB)存取同一數據集的工作負載。

  • 受控 Lustre 可為 HPC 工作負載提供更快且更高的容量記憶體。 此解決方案適用於中型到大型工作負載,且可支援50,000個以上的核心,輸送量高達500 GBps,以及高達2.5 PiB的記憶體容量。

  • 標準或進階 Azure Blob 記憶體符合成本效益,因為它是成本最低的雲端供應專案。 此服務會視需要提供 exabyte 規模、高輸送量、低延遲存取、熟悉的文件系統介面,以及多重通訊協定存取(REST、HDFS、NFS)。 您可以在 Blob 服務端點使用 NFS v3.0,以處理高輸送量和偏重讀取的工作負載。 您可以移至較冷的儲存層來優化成本。 此方法可讓您根據上次更新或存取時間,使用可自定義的原則的智慧分層進行生命週期管理。

  • 石油和天然氣能源工作可能需要在內部部署系統與雲端之間傳輸大規模數據和數量。 離線移轉會使用裝置型服務,例如 Azure 資料箱。 在線移轉會使用網路型服務,例如 Azure ExpressRoute。

下表提供 Blob 儲存體、Azure 檔案儲存、受管控 Lustre 和 Azure NetApp Files 的比較。

類別 Blob 存儲 Azure Files 管理 Lustre文件系統 Azure NetApp Files
使用案例 最適合大規模、以大量讀取為主的循序存取工作負載,其中數據會匯入一次,且很少修改。

如果有輕度維護,則總擁有成本較低。

一些範例案例包括大規模分析數據、輸送量敏感性高效能運算、備份和封存、自主駕駛、媒體轉譯和基因排序。
最適合隨機存取工作負載的高可用性服務。

針對 NFS 共用,Azure 檔案服務提供完整的 POSIX 檔案系統支援。 內建的 CSI 驅動程式可讓您從以 VM 為基礎的平臺和容器平台輕鬆使用它,例如 Azure 容器實例和 Azure Kubernetes Service (AKS)。

某些範例案例包括共用檔案、資料庫、主目錄、傳統應用程式、ERP、CMS、不需要進階管理的 NAS 移轉,以及需要向外延展檔案記憶體的自定義應用程式。
受控的 Lustre 是一個完全受控的並行文件系統,最適合用於中型到大型的高性能計算 (HPC) 工作負載。

藉由提供熟悉的 Lustre 平行檔案系統功能、行為和效能,在雲端中啟用 HPC 應用程式,而不會中斷應用程式相容性。 此服務可協助保護長期應用程式投資。
雲端中完全受控的檔案服務,由 NetApp 提供,具有進階管理功能。

Azure NetApp Files 適用於需要隨機存取的工作負載。 它提供廣泛的通訊協定支援和改良的數據保護。

一些範例案例包括企業內部部署 NAS 的遷移,這需要豐富的管理功能,以及像 SAP HANA 這樣的延遲敏感工作負載、延遲敏感或 IOPS 密集的高效能計算,還有需要同時存取多重通訊協定的工作負載。
可用的通訊協定 NFS 3.0

休息

Azure Data Lake Storage
中小企業 (SMB)

NFS 4.1

(任一通訊協定之間沒有互操作性)
光澤 NFS 3.0 和 4.1

SMB


主要功能 與適用於低延遲工作負載的 Azure HPC Cache 整合。

整合式管理,包括生命週期管理、不可變的 Blob、數據故障轉移和元數據索引。
高可用性的區域備援。

一致的個位數毫秒延遲。

可預測的效能和隨容量調整的成本。
最高 2.5 PB 的高記憶體容量。

低延遲,約 2 毫秒。

在幾分鐘內建立新的叢集。

支援使用 AKS 的容器化工作負載。
延遲極低,可低至毫秒以下。

豐富的 NetApp ONTAP 管理功能,例如 SnapMirror Cloud。

一致的混合式雲端體驗。
效能(每單位體積) 高達 20,000 IOPS。 高達 100 GiBps 輸送量。 高達 100,000 IOPS。 高達 80 GiBps 輸送量。 高達 100,000 IOPS。 高達 500 GiBps 輸送量。 高達 460,000 IOPS。 高達 36 GiBps 輸送量。
規模 單一卷最多可達 2 PiB。

單一檔案的大小可達約 4.75 TiB。

沒有最小容量需求。
單一磁碟區的容量可高達 100 TiB。

單一檔案可達 4 TiB。

100 GiB 的最小容量。
單一磁碟區的容量可高達 2.5 PiB。

單一檔案高達 32 PB。

4 TiB 最小容量。
單一磁碟區最高可達 100 TiB。

單一檔案高達 16 TiB。

一致的混合式雲端體驗。
定價 Blob 存儲定價 Azure 檔案服務定價 管理 Lustre 定價 Azure NetApp Files 定價

財務設計建議

  • 針對高輸送量、低延遲的需求,請使用 標準或進階 Blob 儲存。 它提供下列優點:

    • 它提供 exabyte 規模、高輸送量、低延遲存取、熟悉的檔案系統,以及多協議存取,包括 REST、HDFS、NFS。

    • 這是符合成本效益的。

    • 您可以使用 BlobFuse,將 Blob 記憶體掛接為檔案系統。 這樣做可讓您輕鬆地讓多個節點針對唯讀案例掛接相同的容器。

    • 它在 Blob 服務端點上支援 NFS 3.0,以便處理高輸送量及大量讀取的工作負載。

    • 您可以將數據移至較冷的儲存層,以將成本優化。 此優化可以透過生命週期管理來實現,其依據上次更新或存取的時間,並利用具有可自定義原則的智能分層策略。

  • 針對 ReadWriteMany(唯一)或寫入一次、讀取一次的應用程式,使用 Azure NetApp Files。 它提供下列優點:

    • 各種檔案通訊協定,例如 NFSv3、NFSv4.1 和 SMB3

    • 可媲美內部部署效能的效能,具有不同層級(Ultra、Premium、標準)

    • 在幾分鐘內部署,並提供各種層級和彈性

    • 彈性容量集區類型和效能,其中會根據集區層級和磁碟區配額自動指派每個磁碟區的 QoS

製造方面的考量

請務必確保所需的數據在正確的時間到達 HPC 叢集機器。 您也想要確定這些個別計算機的結果會快速儲存,並可供進一步分析。

工作負載流量的分佈

請考慮 HPC 環境產生和處理的流量類型。 如果您打算執行多種類型的工作負載,並計劃將記憶體用於其他用途,則此步驟特別重要。 請考慮並記錄下列流量類型:

  • 單一數據流與多個數據流
  • 讀取流量與寫入流量的比例
  • 平均檔案大小和計數
  • 隨機存取模式與循序存取模式

數據位置

此類別會說明數據的位置。 區域意識可協助您判斷是否可以使用複製、快取或同步處理作為數據移動策略。 事先檢查下列當地項目:

  • 如果源數據位於本地、Azure 或同時位於兩者
  • 如果結果數據是儲存在本地設備、Azure 或兩者當中
  • 如果 Azure 中的 HPC 工作負載需要與原始資料修改時間表協調
  • 如果包含敏感性或健康保險可移植性和責任法案數據

效能需求

記憶體解決方案的效能需求通常會摘要如下:

  • 單一數據流輸送量
  • 多路數據流吞吐量
  • 預期的最大 IOPS
  • 平均延遲

每個因素都會影響效能,因此這些數位可作為特定解決方案預期結果的指南。 例如,HPC 工作負載可能包含在工作流程中建立和刪除大量檔案。 這些作業可能會影響整體輸送量。

存取方法

考慮所需的用戶端存取通訊協定,並清楚瞭解您需要的通訊協定功能。 有不同版本的 NFS 和 SMB。

請考慮下列需求:

  • 是否需要 NFS/SMB 版本
  • 預期的通訊協定功能,例如訪問控制清單或加密
  • 平行檔案系統解決方案

容量需求總計

Azure 中的記憶體容量是下一個考慮。 這有助於通知解決方案的整體成本。 如果您打算長時間儲存大量數據,您可能會想要考慮將階層處理視為記憶體解決方案的一部分。 階層儲存將低成本的儲存選項與高成本、高效能的熱層儲存結合起來。 請考慮下列容量需求:

  • 所需容量總計
  • 所需的熱層容量總計
  • 所需的暖層容量總計
  • 所需的冷層容量總計

驗證和授權方法

如需驗證和授權需求,例如使用LDAP伺服器或Windows Server Active Directory,請務必在架構中包含必要的支持系統。 如果您需要支援 UID 或 GID 映射到 Windows Server Active Directory 使用者的功能,請確認儲存解決方案支援這個功能。

請考慮下列網路需求:

  • 本機 (僅限檔案伺服器上的 UID 或 GID)
  • 目錄 (LDAP 或 Windows Server Active Directory)
  • 與 Windows Server Active Directory 使用者的 UID 或 GID 對應或否

自行構建的平行檔案系統

類似於 NFS,您可以建立多節點 BeeGFS 或 Lustre 文件系統。 這些系統的效能主要取決於您選擇的 VM 類型。 您可以使用在 Azure Marketplace 中找到的映像檔,例如 BeeGFS,或者 DDN 稱為 Whamcloud的 Lustre 實作。 如果您使用非 Microsoft 供應商的映像,例如 BeeGFS 或 DDN,您可以購買其支援服務。 除了機器和磁碟的成本之外,您可以在其 GPL 授權下使用 BeeGFS 和 Lustre,而不需要額外費用。 這些工具很容易推出,方法是使用 Azure HPC 腳本, 以短暫的本機磁碟做暫存或以 Azure Premium SSD 或 Azure Ultra Disk Storage 進行持久性儲存。

Cray ClusterStor

大型工作負載復寫 裸機 具有大型 Lustre 環境的大型計算叢集效能是一項挑戰。 其他挑戰包括達到 TBps 的高輸送量,以及可能處理 PB 的儲存。 您現在可以在 Azure 解決方案中使用 Cray ClusterStor 來執行這些工作負載。 這種方法是在相關的 Azure 資料中心部署的純裸機 Lustre 系統。 BeeGFS 和 Lustre 等平行文件系統因其架構而提供最高效能。 但是,這種架構和使用這些技術具有很高的管理價格。

後續步驟

下列文章提供指引,協助您在雲端導入旅程的各個階段。