本ページは OCI: HPC Cluster のサブページになります。
HPC Cluster v2.10.6.4 構築
本手順は OCI: HPC Clusterに記載されている一般的な構成をする手順となります。
構成の中でチェックや入力項目などはスクリーンショットのまま選択をすることを推奨いたします。
【v2.10.6.4について】
Marketplaceで配信されているv2.10.6はデプロイ中にOpenLDAP Clientパッケージのインストールでエラーになる問題がありました。v2.10.6.4は私がv2.10.6を基にその問題や微細な修正をしたものになります。
v2.10.6.4の入手
以下のURLよりSource code(zip)
をクリックしzipファイルをダウンロードします。
https://github.com/kazuitox/oci-hpc/releases/tag/v2.10.6.4
Resource Managerのstackを選択する
メニュー → Developer Services → Stacksを選択します。
Create stackをクリックする
1: Stack Infomation
Stack configurationで.Zip fileを選択し先ほどダウンロードしたzipファイルをアップロードします。
Nextをクリックして次に進みます。
2: Configure variables
表示されたメニューから選択し、構成を作成します。
Cluster configuration
- Public SSH Key: デフォルトユーザーであるopcユーザーに割り当てるPublic SSH Keyを入力します。ヘッドノードへのログインに利用される。
- use custom cluster name: ヘッドノードのインスタンス名(≒ホスト名)の接頭辞として設定される。チェックを外すとランダムな文字列で生成される。
-
Configure LDAP authentication from controller: ヘッドノードにLDAPサーバを構築する。追加ユーザーのヘッドノードログイン、マルチノードでの計算に利用される。
Headnode options
ヘッドノードに関する設定
- Availability Domain: デプロイ対象のADを選択する。東京や大阪のリージョンは1つのみなのでデフォルトから変更する必要はない。
- bastion_shape: ヘッドノードのShapeとスペックを選択する。
- cores: bastion_shapeでFlexタイプを選択した場合にCPUコア数指定する。
- Use custom memory size: bastion_shapeでFlexタイプを選択し、メモリサイズをデフォルトから変更したい場合にはチェックをし、表示されるボックスに数値を入力する。
- Size of the boot volume in GB: ヘッドノードのBoot Volume容量を指定する。
- Enable boot volume backup: ヘッドノードのBoot Volumeのバックアップをする場合にはチェックを入れる。
- Create Object Storage PAR: ヘッドノードのモニタリングメトリックをObjectStorageに保管するためのPARを作成する。障害時にサポートにメトリックデータの共有で利用。
Compute node options
計算ノードに関する設定
- Multiple ADs: 海外リージョンでADが3つある環境で複数のADを利用した環境を構築する場合にチェックを入れる
-
Use cluster network: RoCEv2によるRDMAを利用する場合にチェックを入れる。これにチェックをするとRoCEv2が利用できるShapeが
Shape of the Compute Node
にリストされ、チェックを入れない場合は、RoCEv2が利用できないShapeがリストされる。 -
Use compute cluster rather than cluster network:
cluster network
と同様にRoCEv2でInterconnectを構成する手法の一つ。ここではcluster network
による構成とする。 - Initial cluster size: 恒久的に常時起動する計算ノード数を指定する。0であれば常時起動するノードはなく、Autoscalingベースとなる。
- Hyperthreading enabled: ハイパースレッディングの有効/無効の設定。アプリの特性に応じて選択する。
- Size of the boot volume in GB: 計算ノードのBoot Volume容量を指定する。
- use marketplace image: RoCEv2を利用する場合は必須。HPC向けのOS設定やOpenMPIなどがインストールされたイメージで計算ノードを起動します。
- use older marketplace images: RoCEv2対応の古いOSを利用する場合に選択する。
-
Image versions: HPC_OL8 or GPU から選択する。ここではBM.Optimized3.36というCPUのみのインスタンスなので
HPC_OL8
の選択を推奨。
Additional Login Node
- Loing Nodes: ヘッドノードのほかに、ユーザーがログインしてジョブを投入する専用のノードが必要な場合はチェックをする
Autoscaling
- Scheduler based autoscaling: Autoscaling を利用する場合はチェックをする
- Monitor the autoscaling: Autoscaling のモニタリングをPrometheusとGrafanaで構成する
- RDMA Latency check: 計算ノードのセットアップの一環で RDMA のレイテンシーチェックをする
API Authentication, needed for autoscaling
-
Use Instance Principal insted of configuration file: ヘッドノードが
Instance Principal
を利用したAPIで計算ノードの作成・削除を実施する
Additional file system
追加のNFSサーバの指定を行う。
- Add another NFS filesystem: 既存のNFSサーバ、または新規のマネージドNFSサービス(FSS)の利用する場合にチェック
- Create FSS: FSSを新規に作成する
- Number of FSS mount target:マウントターゲット数を指定。数を増やすことで複数計算ノード利用時に全体のスループットを向上させることが可能です。mount target数はService Limitで上限設定があるため確認の上数を設定してください。最大8まで指定可能です。
- NFS Path: ヘッドノード、計算ノードにマウントさせるマウントポイントの指定
- NFS server Path: 新規に構成するFSSサービス内のPath
- FSS compartment: FSSを作成するコンパートメントを指定
- FSS Availability Domain: FSSを配置するADを指定
Advanced bastion options
計算ノードの拡張オプションの指定。
- use standard bastion image: ヘッドノードのイメージとして標準的なイメージ(HPC_OL8)を利用する
Advanced storage options
ヘッドノードにBlock Volumeの追加や、計算ノード搭載のNVMeストレージのマウントポイント変更など可能。
今回はデフォルトから変更しない。
Network options
今回はデフォルトから変更しない。
- Use Existing VCN: 既存のVCN配下にデプロイする際にチェックする
- Deploy Master Node without a public IP: ヘッドノードにPublic IPを持たせないで構成する
- VCN IP range: VCNのCIDRを指定
- Master Node subnet IP range: ヘッドノードを配置するPublic SubnetのCIDRを指定
- Private Subnet IP range: 計算ノードを配置するPrivate IPのCIDRを指定
- RDMA subnet IP range: RoCEv2のI/Fに設定するInterconnect NetworkのCIDRを指定
- Additional subnet IP range: 上記とは別にVCN内にPrivate Subnetを作る場合のCIDRを指定
- DNS entry: DNS managementを利用する。FSSのNumber of FSS mount targetを2以上にした際は必須。
Software
-
Sudo Access:
privilege group
にsudo
権限を付与する -
Name of the group with privileges:
privilege group
名を指定する - Install SLURM: SLURMをインストールする場合はチェックする
- Share spool directory: SLURMのspoolディレクトリをNFSで公開する
- Create a backup Slurm Controller: SLURMの冗長化構成としてセカンダリノードを作成する
- Create Rack aware topology: 試験的なオプション
- Queue Name: SLURMで構成するデフォルトのキュー名の指定
- Install Sparck package manager: Sparck を入れる場合はチェックする
- Install HPC Cluster Monitoring Tools: モニタリングツールを構成する
- Install Nvidia Enroot for containerrized GPU workloads: GPUインスタンスでコンテナを利用する場合にチェックを入れる
- Enable PAM: ユーザーに対して計算ノードへのSSHをさせない場合はチェックを入れる
- Enable Limits for Slurm jobs: ユーザーに対してSLURMのジョブ投入を制限設定を有効にする
Debug
Next をクリックすると以下の確認画面になるので、一番下にあるRun apply
にチェックを入れてCreate
をクリックします。
作成が開始
Create をクリックすると、Resouce Manager の画面に切り替わりデプロイが開始されます。
作成完了
SUCCEEDED となったら完了。
画面左下のOutputsをクリックすると作成されたヘッドノード(bastion)のPublic IPが確認できます。
以上で作成は完了です。メインページのチュートリアルに進みましょう。