オンデマンドの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アイデンティティ・ガバナンス・ワークフロー間の統合を計画します。