[速報] HPC向けに最適化されたインスタンスタイプ HPC6id が発表されました #reInvent
re:Invent 2022 で新たに発表されたハイパフォーマンスコンピューティング(HPC)向けに最適化されたインスタンスタイプ HPC6id が発表されました。
スペック
多くのゲノム解析ツールでみられるような密結合ワークロード(シングルノードで処理)向けの性能です。
- CPU: 物理 64コア
- 3rd Gen Intel Ice Lake
- メモリ: 1024GiB(約1TB)
- 200Gbps ネットワーク帯域(EFA)
- 15.2 TB ローカル SSD(インスタントストア)
vCPU あたりの演算性能を高め、メモリとローカルディスク(インスタンスストア)の容量を増やして欲しいという要望から生まれたようです。
また、Intel のチップを積んでる HPC インスタンスは初物です。Intel 用に最適化されたライブラリ、アプリケーションが多いと思いますのでこれは嬉しいですね。ちなみに既存の HPC6a インスタンスは AMD のチップでした。
動かしてみた
現在対応リージョンは US East (Ohio) と AWS GovCloud (US-West) に限定されています。
CPU は物理32コアのチップは2枚でした。
$ grep cpu.cores /proc/cpuinfo | sort -u cpu cores : 32 $ grep physical.id /proc/cpuinfo | sort -u | wc -l 2
lscpu の方が見やすいですかね。参考にご覧ください。
$ lscpu アーキテクチャ: x86_64 CPU 操作モード: 32-bit, 64-bit バイト順序: Little Endian CPU: 64 オンラインになっている CPU のリスト: 0-63 コアあたりのスレッド数: 1 ソケットあたりのコア数: 32 ソケット数: 2 NUMA ノード数: 2 ベンダー ID: GenuineIntel CPU ファミリー: 6 モデル: 106 モデル名: Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz ステッピング: 6 CPU MHz: 1119.028 BogoMIPS: 5799.92 ハイパーバイザのベンダー: KVM 仮想化タイプ: 完全仮想化 L1d キャッシュ: 48K L1i キャッシュ: 32K L2 キャッシュ: 1280K L3 キャッシュ: 55296K NUMA ノード 0 CPU: 0-31 NUMA ノード 1 CPU: 32-63 フラグ: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq monitor ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves wbnoinvd ida arat avx512vbmi pku ospke avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg tme avx512_vpopcntdq rdpid md_clear flush_l1d arch_capabilities
インスタンスストアは 3.5TB * 4 構成でした。
$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme0n1 259:0 0 8G 0 disk ├─nvme0n1p1 259:1 0 8G 0 part / └─nvme0n1p128 259:2 0 1M 0 part nvme1n1 259:3 0 3.5T 0 disk nvme3n1 259:4 0 3.5T 0 disk nvme2n1 259:5 0 3.5T 0 disk nvme4n1 259:6 0 3.5T 0 disk
nvme-cliコマンドで確認するとAmazon EC2 NVMe Instance Storageの文字列を確認できました。
$ sudo nvme id-ctrl -v /dev/nvme1n1 NVME Identify Controller: vid : 0x1d0f ssvid : 0 sn : AWS64939B9A2A9E642E3 mn : Amazon EC2 NVMe Instance Storage --- snip --
マウントしてみました。一般的なインスタンスストアの利用方法と同じでした。
$ df -h ファイルシス サイズ 使用 残り 使用% マウント位置 devtmpfs 497G 0 497G 0% /dev tmpfs 497G 0 497G 0% /dev/shm tmpfs 497G 740K 497G 1% /run tmpfs 497G 0 497G 0% /sys/fs/cgroup /dev/nvme0n1p1 8.0G 1.6G 6.5G 20% / tmpfs 100G 0 100G 0% /run/user/0 tmpfs 100G 0 100G 0% /run/user/1000 /dev/nvme2n1 3.5T 3.6G 3.5T 1% /mnt/scratch2 /dev/nvme1n1 3.5T 3.6G 3.5T 1% /mnt/scratch1 /dev/nvme3n1 3.5T 3.6G 3.5T 1% /mnt/scratch3 /dev/nvme4n1 3.5T 3.6G 3.5T 1% /mnt/scratch4
AWS CLI
AWS ClI からもローカルの SSD は4個と確認できました。
$ aws ec2 describe-instance-types \ --filters "Name=instance-type,Values=hpc6id.32xlarge" \ --query "InstanceTypes[].InstanceStorageInfo" \ --region us-east-2 --output table ------------------------------------------------------- | DescribeInstanceTypes | +-------------------+---------------+-----------------+ | EncryptionSupport | NvmeSupport | TotalSizeInGB | +-------------------+---------------+-----------------+ | required | required | 15200 | +-------------------+---------------+-----------------+ || Disks || |+--------------+---------------------+--------------+| || Count | SizeInGB | Type || |+--------------+---------------------+--------------+| || 4 | 3800 | ssd || |+--------------+---------------------+--------------+|
オンデマンドインスタンスのみ提供で、スポットインスタンスは提供されていませんでした。RI/SPには対応しています。
$ aws ec2 describe-instance-types --instance-types hpc6id.32xlarge --region us-east-2 | jq '.InstanceTypes[].SupportedUsageClasses[]' "on-demand"
おわりに
AWS ParallelCluster に組み込めるみたいですのでクラスター環境で使ってみたいですね。だけど、シングルノードでハイスペックなので EC2 インスタンス単体でも活用できそうです!