[速報] HPC向けに最適化されたインスタンスタイプ HPC6id が発表されました #reInvent

2022.11.30

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 インスタンス単体でも活用できそうです!