この手順はCloud9のTerminalで実行する。
手順1.2の後に行う場合は、Cloud9を「exit」した後に新しいターミナルを開いて実行すること。
データセットに合わせてAWS ParallelClusterのconfigファイルの設定内容を変更する。
$ gtc_config_create.sh [-s STRAGE_CAPACITY] [-m MAX_COUNTS] [-i INSTANCE_ID] [-b S3_BUCKET_NAME][--benchmark]
STRAGE_CAPACITY:AWS ParallelClusterのLustre 並列ファイルシステムの容量。ディフォルト値は2400 (2.4TB)。
MAX_COUNTS:同時に使用可能な計算ノード(EC2インスタンス)の最大台数。ディフォルト値は10。
INSTANCE_ID:特定のクラスタ構成設定にIDを関連付けたい時に使用。主にデバッグ用途。ディフォルトではインスタンスID無し。
S3_BUCKET_NAME : 別のS3バケットに接続したい場合に使用。 ディフォルトはプロジェクトに使用しているS3バケット(2023/12/6更新)。
アカウントに存在するバケット名を指定すること。
--benchmark :Benchmarkを行う場合に使用する。通常使用しない。configにBenchmarkで使用するインスタンスが設定される(2022/7/2更新)
注記:1. STRAGE_CAPACITYはハンズオンでは2400を設定している。実際のデータセットでは少なくとも2400(2.4TB)は必要なはず。
注記:2. MAX_COUNTSはハンズオンでは16を設定する。モニター期間中はこの値を変更しない。変更の必要がある場合は、KEK担当者に相談する。
注記:3. INSTANCE_IDは通常使用しない。
コマンド実行例
$ gtc_config_create.sh -s 2400 -m 16 -i 01 -b kek-gtc-user01-benchmark-test --benchmark
GoToCloud: FSX (Lustre) strage capacity '2400' MByte is specified
GoToCloud: Maximum number of EC2 instances '16' is specified
GoToCloud: Creating config with following parameters...
GoToCloud: FSX (Lustre) strage capacity (MByte) : 2400
GoToCloud: Maximum number of EC2 instances : 16
GoToCloud: AWS Parallel Cluster Instance ID : GTC_INVALID
GoToCloud: Creating config from template...
GoToCloud: Making a backup of previous config /home/ec2-user/.parallelcluster/config as /home/ec2-user/.parallelcluster/config_backup_20220112_085555...
GoToCloud: Saved config as /home/ec2-user/.parallelcluster/config
GoToCloud: Done
configファイルの内容を表示し、設定が反映されているか確認する。<クラスタ名> = "<IAMユーザー名>-<アカウントID>-<プロジェクト名>" (e.g. kek-gtc-user01-123456789-protein220112) になる。
$ cat ~/.parallelcluster/config.yaml
Region: ap-northeast-1
Image:
Os: ubuntu2004
<<SNIP>>
Ssh:
KeyName: kek-gtc-user01-123456789-protein220112 # KeyName = <クラスタ名>
Dcv:
Enabled: true
CustomActions:
OnNodeConfigured:
Script: https://kek-gtc-shared.s3.ap-northeast-1.amazonaws.com/post_install.sh
Iam:
S3Access:
- BucketName: kek-gtc-user01-275704676984-protein220112 #S3バケット名 = arn:aws:s3:::<クラスタ名>* # S3バケット名にも<クラスタ名>を設定
EnableWriteAccess: true
Scheduling:
Scheduler: slurm
SlurmQueues:
- Name: g4dn-vcpu96-gpu8
<<SNIP>>
MaxCount: 16 # MAX_COUNTS
<<SNIP>>
SharedStorage:
- MountDir: /fsx
Name: fsx-scratch
StorageType: FsxLustre
FsxLustreSettings:
StorageCapacity: 2400 #STRAGE_CAPACITY
DeploymentType: SCRATCH_2
ExportPath: s3://kek-gtc-user01-275704676984-protein220112 # Export_path = s3://<クラスタ名> # S3バケット名にも<クラスタ名>を設定
ImportPath: s3://kek-gtc-user01-275704676984-protein220112 # Import_path = s3://<クラスタ名> # S3バケット名にも<クラスタ名>を設定
Monitoring:
Logs:
CloudWatch:
Enabled: true
RetentionInDays: 180
DeletionPolicy: Retain
Tags: # tagsの設定
- Key: iam-user
Value: kek-gtc-user01 # <IAMユーザー名>
- Key: method
Value: cryoem
- Key: project
Value: protein220112 # <プロジェクト名>
- Key: account
Value: "275704676984" # <アカウントID>