オンデマンドのHPCおよびAIプラットフォームをOCIにデプロイする準備

この準備ガイダンスを使用して、プラットフォームをデプロイする前にアクセス、コンピュート、ストレージ、アイデンティティおよび操作の基礎を設計します。

OCI上のオンデマンドのHPCおよびAIプラットフォームの準備ドメインを確認します。

ユーザーアクセスとOODサービス

ブラウザベースのワークフローがセキュアで一貫性があり、サポート可能な状態に保たれるように、ユーザーアクセスパスとOODサービス設計を準備します。

ユーザーはOODを介してHTTPS経由でプラットフォームにアクセスし、承認された管理者はサポートおよび緊急時の操作に制御されたSSHパスを使用します。

  • HTTPSエントリにはOCIロード・バランサを使用し、オプションのOCI Web Application Firewall、ネットワーク・セキュリティ・グループ(NSG)またはIP許可リストを使用します。
  • OODポータルへのSSOには、Microsoft Entra IDおよびOIDCを使用します。
  • OODは、パッケージのインストールやバージョン制御のカスタマイズだけでなく、アプリケーションプラットフォームとして扱います。
  • 準備状況チェックの一環として、Apacheルーティング、ODアプリケーション、および/nodeおよび/rnodeプロキシ動作を検証します。
  • リモート・デスクトップ、VSコード、JupyterLab、RStudioおよびMATLABの対話型アプリケーション起動パスを確認します。

データ移動、プロビジョニング、監視および自動化

共有データ処理、プロジェクト・プロビジョニング、可観測性、自動化を準備し、ユーザー向けワークフローのスケーリング・イベントの信頼性を維持します。

データ移動、アイデンティティ・プロビジョニング、監視および定期的なメンテナンス・ワークフローが静的ノードと自動スケーリングされたノード間で一貫するように、運用プラットフォームを設計します。

  • OCI Object Storage、共有ファイル・システム、プロジェクト・ワークスペース、スクラッチ・パスおよびLustre間のデータ・ムーバー・パスを定義します。
  • ホーム・ディレクトリ、プロジェクト・ディレクトリ、権限およびSlurmアカウントの位置合せのジャストインタイム(JIT)プロビジョニングを定義します。
  • PrometheusおよびGrafanaを使用して、Slurmサービス、ノードの準備状況、ストレージ・マウント、GPUランタイムおよびOODアプリケーションの状態をモニターします。
  • ホストの同期、クリーンアップ・ワークフロー、割当てチェック、ブートストラップ修復およびアップグレード後のOODパッチ適用のために、べき等なcronおよび自動化ジョブを実行します。

HPCクラスタ・トポロジおよびスラーム・パーティション

CPUおよびGPUの容量がワークロード・タイプ全体で予測どおりにスケーリングされるように、Slurm制御プレーン・トポロジおよびパーティション戦略を準備します。

コントローラ、ログイン、永続コンピュート、CPUの自動スケーリングおよびGPUの自動スケーリングの役割を分離し、操作を明確にするためのクラスタ設計を使用します。

  • スケジューリング、アカウンティング、ノード状態管理、および自動スケール統合のためのSlurmコントローラサービスを設計します。
  • ログイン・ノードは、大量のワークロード実行ではなく、送信と診断に重点を置きます。
  • 永続コンピュート・パーティションを使用して、低レイテンシのワークロードとベースラインのトラブルシューティングを行います。
  • 自動スケーリングCPUパーティションを使用して、バースティな対話型ワークロードとバッチ・ワークロードに対応します。
  • 自動スケーリングGPUパーティションをワークロード・タイプおよびイメージ・レーンごとに分離して、ランタイム、ドライバおよびストレージの依存関係を処理します。
  • ノードの準備ができているとマークする前に、MUNGE、slurmd、ノード・アイデンティティ、汎用リソース(GRES)およびストレージ・マウントを使用してスケジューラの準備状況を検証します。

多層ストレージ設計

ユーザー状態、共有データセットおよび高スループットのI/Oが適切なサービスとマウント・パスを使用するように、ワークロード動作別にストレージ層を準備します。

階層型ストレージ設計を使用して、永続的なユーザー状態、共有プロジェクトデータセット、および高パフォーマンスのワークロード I/Oパスを分離します。

  • OCI File Storage (FSS)は、/home/scratch/appsなどの共有ユーザーおよびランタイム・パスに使用します。
  • OCI Object StorageをJuiceFSとともに使用して、/odataで一般的にマウントされる耐久性のある共有データセットおよびプロジェクト・データを使用します。
  • File Storage with Lustreを使用して、高スループットのAIトレーニング、チェックポイントおよびシミュレーションI/Oを実現します(通常は/lustreにマウントされます)。
  • バッチおよび対話型ワークフローに使用されるすべてのノード・クラスで、各マウントを個別に検証します。

アイデンティティ管理

一元化されたLinuxアイデンティティおよびプロジェクトの認可を準備して、プラットフォーム全体でアクセス、割当ておよびスケジューリングの制御の一貫性を維持します。

一元化されたアイデンティティ管理を使用して、Linuxアカウント、グループ、ホスト・アクセス制御およびスケジューラ認可をマルチテナント・ワークロードに合せて維持します。

  • LDAPユーザー、POSIXグループ、Kerberos認証、およびホストベースのアクセス制御にはFreeIPAを使用します。
  • プロジェクトおよびラボ・グループをSlurmアカウントにマップして、分離、ノルマの所有権、チャージバックまたはショーバックのレポートを強制します。
  • メンテナンス・イベント後もSSH、ホームディレクトリの所有権およびSlurmの起動が安定するように、アイデンティティ・サービスの再起動動作を検証します。
  • Microsoft Entra IDグループ・ソースと、プロジェクトの認可が必要なLinuxアイデンティティ・ガバナンス・ワークフロー間の統合を計画します。