Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update the OCI tutorilas:8ab0ec346ad4570555d1f515c1a5a909ee5b1028 #406

Merged
merged 1 commit into from
Jun 19, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 18 additions & 5 deletions tutorials/_hpc/spinup-hpc-cluster-withterraform.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,16 +28,22 @@ table, th, td {
- 計算ノード用 **[インスタンス構成](/ocitutorials/hpc/#5-7-インスタンス構成)** 作成
- **クラスタ・ネットワーク** と計算ノード構築
- HPCクラスタ内のノード間SSHアクセスに使用するSSH鍵ペア作成・配布
- 計算ノードの全ホスト名を記載したホストリストファイル(/home/opc/hostlist.txt)作成
- 計算ノードの全ホスト名を記載したホストリストファイル( **/home/opc/hostlist.txt** )作成
- 構築したBastionノード・計算ノードのホスト名・IPアドレス出力

Bastionノードは、接続するサブネットをパブリックとプライベートから選択することが可能(※1)で、以下のBastionノードへのログイン方法に合わせて選択します。

- インターネット経由ログイン -> パブリックサブネット接続
- 拠点間接続経由ログイン > プライベートサブネット接続
- 拠点間接続経由ログイン -> プライベートサブネット接続

※1)構築方法に **Terraform** CLIを採用する場合は、パブリックサブネット接続のみ選択可能です。

またVCNと関連するネットワークリソースは、既に構築してあるものを活用することも可能で、この場合はこれらが以下の条件を満たしているている必要があります。

- プライベートサブネットが存在する
- パブリックサブネットが存在する(Bastionノードパブリック接続の場合)
- パブリックサブネット・プライベートサブネット間で **セキュリティ・リスト** によりアクセスが制限されていない(Bastionノードパブリック接続の場合)

![システム構成図(パブリック)](architecture_diagram.png)
<br>
<br>
Expand All @@ -56,7 +62,6 @@ Bastionノード構築は、 **[cloud-init](/ocitutorials/hpc/#5-11-cloud-init)*
- NVMe SSDローカルディスク領域ファイルシステム作成
- **firewalld** 停止
- ルートファイルシステム拡張
- **クラスタ・ネットワーク** 接続用ネットワークインターフェース作成
- BastionノードのDNS名前解決をショートホスト名で行うための **resolv.conf** 修正
- Bastionノードホームディレクトリ領域のNFSマウント

Expand Down Expand Up @@ -121,6 +126,8 @@ Bastionノード構築は、 **[cloud-init](/ocitutorials/hpc/#5-11-cloud-init)*
(公開鍵ファイルのアップロード( **SSHキー・ファイルの選択** )と公開鍵のフィールドへの貼り付け( **SSHキーの貼付け** )が選択可能)
- **Private bastion :** Bastionノードをプライベートサブネットに接続するかどうかを指定(デフォルト:パブリックサブネット接続)
(パブリックサブネットに接続する場合はチェックオフ/プライベートサブネットに接続する場合はチェック)
- **Use existing VCN :** 既存のVCNを使用するかどうかを指定(デフォルト:VCNを新規作成)
(既存のVCNを使用する場合は、チェックすると表示されるVCN・パブリックサブネット・プライベートサブネットの各フィールドにOCIDを指定します。)

![画面ショット](stack_page02.png)
4.2 **Compute/GPU node options** フィールド
Expand All @@ -136,7 +143,7 @@ Bastionノード構築は、 **[cloud-init](/ocitutorials/hpc/#5-11-cloud-init)*
![画面ショット](stack_page03.png)

※2) 例えば **x9-ol89** と指定した場合、計算ノードのホスト名は **inst-xxxxx-x9-ol89** となります。( **xxxxx** はランダムな文字列)
※3)以下のOCIDを指定します。
※3)以下のOCIDを指定します。なおこのイメージは、Bastionノードにも使用されます。

| No.<br>(※6) | **Oracle Linux**<br>バージョン | OCID |
| :---------: | :-----------------------: | :---------------------------------------------------------------------------: |
Expand Down Expand Up @@ -265,6 +272,10 @@ Bastionノード構築は、 **[cloud-init](/ocitutorials/hpc/#5-11-cloud-init)*
| compartment_ocid | HPCクラスタをデプロイする **コンパートメント** のOCID | **[ここ](https://docs.oracle.com/ja-jp/iaas/Content/GSG/Tasks/contactingsupport_topic-Finding_the_OCID_of_a_Compartment.htm)** を参照 |
| ad | HPCクラスタをデプロイする **可用性ドメイン** 識別子 | (※7) |
| ssh_key | Bastionノードログインに使用するSSH秘密鍵に対する公開鍵 | - |
|exist_vcn|既存のVCNを使用するかどうかの指定(true/false)|-|
|vcn_ocid|既存のVCNを使用する場合使用するVCNのOCID(※11)|(※12)|
|public_ocid|既存のVCNを使用する場合使用するパブリックサブネットのOCID(※11)|(※12)|
|private_ocid|既存のVCNを使用する場合使用するプライベートサブネットのOCID(※11)|(※12)|
| comp_shape | 計算ノードに使用するシェイプ<br>・ **BM.Optimized3.36** | - |
| comp_image | 計算ノードに使用するOSイメージのOCID | (※8) |
| comp_boot_vol_size | 計算ノードの **ブートボリューム** のサイズ(GB) | - |
Expand All @@ -280,7 +291,9 @@ Bastionノード構築は、 **[cloud-init](/ocitutorials/hpc/#5-11-cloud-init)*

※8)コメントとして埋め込まれているOSイメージOCIDから、コメント文の記載を参考に適切なOSイメージOCIDのコメントを外して使用します。詳細は、 **[OCI HPCテクニカルTips集](/ocitutorials/hpc/#3-oci-hpcテクニカルtips集)** の **[クラスタネットワーキングイメージの選び方](/ocitutorials/hpc/tech-knowhow/osimage-for-cluster/)** の **[1. クラスタネットワーキングイメージ一覧](/ocitutorials/hpc/tech-knowhow/osimage-for-cluster/#1-クラスタネットワーキングイメージ一覧)** を参照してください。
※9)詳細は、 **[OCI HPCパフォーマンス関連情報](/ocitutorials/hpc/#2-oci-hpcパフォーマンス関連情報)** の **[パフォーマンスに関連するベア・メタル・インスタンスのBIOS設定方法](/ocitutorials/hpc/benchmark/bios-setting/)** を参照してください。
※10)例えば **x9-ol89** と指定した場合、計算ノードのホスト名は **inst-xxxxx-x9-ol89** となります。( **xxxxx** はランダムな文字列)
※10)例えば **x9-ol89** と指定した場合、計算ノードのホスト名は **inst-xxxxx-x9-ol89** となります。( **xxxxx** はランダムな文字列)
※11)既存のVCNを使用する場合のみコメントを外して指定します。
※12)OCIコンソール上で当該VCN・サブネットの詳細画面を表示して確認します。

***
# 1. HPCクラスタ構築
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
35 changes: 22 additions & 13 deletions tutorials/_hpc/tech-knowhow/install-openfoam.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,22 +52,31 @@ MPI言語規格に準拠するMPI実装
3. ノード間並列実行(大規模構成で可能)
4. ノード間並列実行でローカルディスクを活用(※1)(大規模構成で可能)

※1) **BM.Optimized3.36** が内蔵するNVMe SSDのローカルディスクに計算結果を書き込む方法で、特に並列数を大きくした場合、 **3.** のNFSによるファイル共有ストレージを使用する方法と比較して、スケーラビリティを改善出来る場合があります
※1) **BM.Optimized3.36** が内蔵するNVMe SSDのローカルディスクに計算結果を書き込む方法で、特に並列数を大きくした場合、 **3.** のNFSによるファイル共有ストレージを使用する方法と比較して、解析処理のスケーラビリティを改善出来る場合があります

構築する環境は、以下を前提とします。

- 計算ノードシェイプ : **BM.Optimized3.36**
- Bastionノードシェイプ : **VM.Optimized3.Flex**
- 計算ノードOS : **Oracle Linux** 8.9(※2)/ **Oracle Linux** 8.9ベースのHPC **[クラスタネットワーキングイメージ](/ocitutorials/hpc/#5-13-クラスタネットワーキングイメージ)** (※3)
- BastionノードOS : **Oracle Linux** 8.9
[計算ノード]
- シェイプ : **BM.Optimized3.36**
- OS : **Oracle Linux** 8.9(※2)/ **Oracle Linux** 8.9ベースのHPC **[クラスタネットワーキングイメージ](/ocitutorials/hpc/#5-13-クラスタネットワーキングイメージ)** (※3)
- ファイル共有ストレージ : **ブロック・ボリューム** NFSサーバ / **ファイル・ストレージ** (※4)でBastionノードと全計算ノードの **/home** をNFSでファイル共有
- ローカルディスクマウントポイント : **/mnt/localdisk** (※5)

[Bastionノード]
- シェイプ : **VM.Optimized3.Flex**
- OS : **Oracle Linux** 8.9
- ファイル共有ストレージ : **ブロック・ボリューム** NFSサーバ / **ファイル・ストレージ** (※4)でBastionノードと全計算ノードの **/home** をNFSでファイル共有

[ソフトウェア]
- **OpenFOAM** : v2312
- **OpenMPI** :5.0.3
- **OpenMPI** : 5.0.3
- **ParaView** : 5.11.2
- ファイル共有ストレージ : **ブロック・ボリューム** NFSサーバ / **ファイル・ストレージ** (※4)でBastionノード・全計算ノードの **/home** をNFSでファイル共有

※2)小規模構成の場合
※3)大規模構成の場合で、 **[OCI HPCテクニカルTips集](/ocitutorials/hpc/#3-oci-hpcテクニカルtips集)** の **[クラスタネットワーキングイメージの選び方](/ocitutorials/hpc/tech-knowhow/osimage-for-cluster/)** の **[1. クラスタネットワーキングイメージ一覧](/ocitutorials/hpc/tech-knowhow/osimage-for-cluster/#1-クラスタネットワーキングイメージ一覧)** のイメージ **No.1** です。
※4)詳細は、 **[OCI HPCテクニカルTips集](/ocitutorials/hpc/#3-oci-hpcテクニカルtips集)** の **[コストパフォーマンスの良いファイル共有ストレージ構築方法](/ocitutorials/hpc/tech-knowhow/howto-configure-sharedstorage/)** を参照してください。
※4)詳細は、 **[OCI HPCテクニカルTips集](/ocitutorials/hpc/#3-oci-hpcテクニカルtips集)** の **[コストパフォーマンスの良いファイル共有ストレージ構築方法](/ocitutorials/hpc/tech-knowhow/howto-configure-sharedstorage/)** を参照してください。
※5)詳細は、 **[OCI HPCテクニカルTips集](/ocitutorials/hpc/#3-oci-hpcテクニカルtips集)** の **[ベアメタルインスタンスの内蔵NVMe SSD領域ファイルシステム作成方法](/ocitutorials/hpc/tech-knowhow/nvme-filesystem/)** を参照してください。


なお、ポスト処理に使用するX11ベースの **ParaView** は、これが動作するBastionノードでGNOMEデスクトップとVNCサーバを起動し、VNCクライアントをインストールした自身の端末からVNC接続して操作します。

Expand All @@ -94,9 +103,9 @@ MPI言語規格に準拠するMPI実装

- 計算ノード **ブート・ボリューム** サイズ : 100GB以上(インストールするソフトウェアの容量確保のため)
- Bastionノード **ブート・ボリューム** サイズ : 100GB以上(インストールするソフトウェアの容量確保のため)
- 計算ノードSMT : 無効(※5
- 計算ノードSMT : 無効(※6

5)SMTを無効化する方法は、 **[OCI HPCパフォーマンス関連情報](/ocitutorials/hpc/#2-oci-hpcパフォーマンス関連情報)** の **[パフォーマンスに関連するベアメタルインスタンスのBIOS設定方法](/ocitutorials/hpc/benchmark/bios-setting/)** を参照してください。
6)SMTを無効化する方法は、 **[OCI HPCパフォーマンス関連情報](/ocitutorials/hpc/#2-oci-hpcパフォーマンス関連情報)** の **[パフォーマンスに関連するベアメタルインスタンスのBIOS設定方法](/ocitutorials/hpc/benchmark/bios-setting/)** を参照してください。

また、Bastionノードと全計算ノードの **/home** は、NFSで共有します。

Expand Down Expand Up @@ -405,7 +414,7 @@ MPI言語規格に準拠するMPI実装

4. 以下コマンドを実行し、 **OpenFOAM** に同梱されているチュートリアルのうち **pitzDaily** のディレクトリを作業ディレクトリにコピーします。
この手順は、ローカルディスクを活用する方法かそれ以外(ファイル共有ストレージを活用する方法)で異なる手順を実施します。
なお、ローカルディスクを活用する方法の場合は、ローカルディスクが **/mnt/localdisk** にマウントされており、この直下にCFD解析フロー実行ユーザをオーナーとするディレクトリ **openfoam** が全ての計算ノードで作成されているものとします
ローカルディスクを活用する方法の場合は、CFD解析フロー実行ユーザをオーナーとするディレクトリ **/mnt/localdisk/openfoam** が全ての計算ノードで予め作成されているものとします

[ファイル共有ストレージを活用する方法]

Expand Down Expand Up @@ -578,7 +587,7 @@ MPI言語規格に準拠するMPI実装
$
```

3. 以下コマンドを実行し、ここまで作成したケースディレクトリ **pitzDaily** を他の計算ノードに配布します
3. 以下コマンドを実行し、ここまで作成したケースディレクトリ **pitzDaily** を他の計算ノードのローカルディスクに配布します

```sh
$ for hname in `grep -v \`hostname\` ~/hostlist.txt`; do echo $hname; rsync -a ./ $hname:/mnt/localdisk/openfoam/pitzDaily/; done
Expand All @@ -602,7 +611,7 @@ MPI言語規格に準拠するMPI実装
$ reconstructPar
```

7. 以下コマンドを実行し、後のポスト処理に備えてケースディレクトリ **pitzDaily** をファイル共有ストレージにコピーします。
7. 以下コマンドを実行し、後のポスト処理に備えてローカルディスクに存在するケースディレクトリ **pitzDaily** をファイル共有ストレージにコピーします。

```sh
$ cd .. && cp -pR ./pitzDaily $FOAM_RUN/
Expand Down
Loading
Loading