「M6a」第3世代 AMD EPYC プロセッサーを搭載したEC2インスタンスがリリースされました

AMDの第3世代 EPYC プロセッサを搭載した、最新「M6a」インスタンスを試してみました。
2021.11.30

AWSチームのすずきです。

2021年11月29日、第3世代 AMD EYPC プロセッサを搭載したEC2インスタンス「M6a」が、 バージニア、オレゴン、アイルランドの3リージョンで利用可能になりました。

新しい「M6a」インスタンスのスペック確認と、起動を試す機会がありましたので、紹介させていただきます。

M6a の特徴

  • 第3世代の AMD EYPC プロセッサを搭載
  • 最大 128 vcpu/1024 Gib メモリ搭載の m6a.48xlarge を提供
  • コストパフォーマンスは、M5a比較で 最大 35 %向上
  • EBS 帯域幅は最大 40 Gbps、ネットワーク帯域幅は最大 50 Gbps
  • AVX2 instructions 対応(メモリ暗号化)

バリエーション

Type vCPU数 Memory (GiB) ネットワーク帯域幅(Gbps) オンデマンド価格(USD)
m6a.large 2 8 Up to 12.5 0.0864
m6a.xlarge 4 16 Up to 12.5 0.1728
m6a.2xlarge 8 32 Up to 12.5 0.3456
m6a.4xlarge 16 64 Up to 12.5 0.6912
m6a.8xlarge 32 128 12.5 1.3824
m6a.12xlarge 48 192 18.75 2.0736
m6a.16xlarge 64 256 25 2.7648
m6a.24xlarge 96 384 37.5 4.1472
m6a.32xlarge 128 512 50 5.5296
m6a.48xlarge 192 768 50 8.2944
  • 執筆時点のオレゴンリージョンの価格です。
  • 最新は公式ページを参照ください。

比較情報

M6i

Intelの最新世代CPUを搭載する「M6i」とスペックを比較しました。

Type vCPU数 Memory (GiB) ネットワーク帯域幅(Gbps) オンデマンド価格(USD)
m6i.large 2 8 Up to 12.5 0.096
m6i.xlarge 4 16 Up to 12.5 0.192
m6i.2xlarge 8 32 Up to 12.5 0.384
m6i.4xlarge 16 64 Up to 12.5 0.768
m6i.8xlarge 36 128 12.5 1.536
m6i.12xlarge 48 192 18.75 2.304
m6i.16xlarge 72 256 37.5 3.072
m6i.24xlarge 96 384 50 4.608
m6i.32xlarge 128 512 50 6.144
  • 「M6a」では、vCPU数192、48xlarge が利用可能になりました。

オンデマンド料金

  • 最新世代の 「xlarge」(vCPU数4)インスタンスのオンデマンド料金の比較
Instance name オンデマンド価格(USD) vCPU Memory (GiB) ネットワーク帯域幅(Gbps)
m6a.xlarge $0.1728 4 8 Up to 12.5
m6i.xlarge $0.192 4 8 Up to 12.5
m5a.xlarge $0.172 4 8 Up to 100
  • 「M6a」、同一vCPU数では、「M6i」と比較し10%廉価なオンデマンド価格で利用可能です。
  • 「m6a」と「m5a」とはほぼ同額のコストで利用可能です。

利用可能リージョン

残念ながら初期リリースでは東京、大阪ともに利用できません。利用可能リージョンは以下のとおりです。

  • バージニア北部
  • オレゴン
  • アイルランド

起動してみた

今回は以下の環境で起動しました

  • リージョン : オレゴン(us-west-2)
  • AMI : amzn2-ami-kernel-5.10-hvm-2.0.20211103.1-x86_64-gp2 - ami-0 0142f6ace1c558c7d
  • インスタンスタイプ : m6a.large

それでは最新世代インスタンス記事恒例のシステム情報です

dmesg

$ dmesg
[    0.000000] Linux version 5.10.75-79.358.amzn2.x86_64 (mockbuild@ip-10-0-40-76) (gcc10-gcc (GCC) 10.3.1 20210422 (Red Hat 10.3.1-1), GNU ld version 2.35-21.amzn2.0.1) #1 SMP Thu Nov 4 21:08:30 UTC 2021
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-5.10.75-79.358.amzn2.x86_64 root=UUID=131a92e1-307c-4b9b-af37-053719d9b69b ro console=tty0 console=ttyS0,115200n8 net.ifnames=0 biosdevname=0 nvme_core.io_timeout=4294967295 rd.emergency=poweroff rd.shell=0
[    0.000000] KASLR enabled
[    0.000000] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'
[    0.000000] x86/fpu: xstate_offset[2]:  576, xstate_sizes[2]:  256
[    0.000000] x86/fpu: Enabled xstate features 0x7, context size is 832 bytes, using 'standard' format.
[    0.000000] BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
[    0.000000] BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000bffe9fff] usable
[    0.000000] BIOS-e820: [mem 0x00000000bffea000-0x00000000bfffffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000e0000000-0x00000000e03fffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fffc0000-0x00000000ffffffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000100000000-0x00000002343fffff] usable
[    0.000000] BIOS-e820: [mem 0x0000000234400000-0x000000023fffffff] reserved
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] SMBIOS 2.7 present.
[    0.000000] DMI: Amazon EC2 m6a.large/, BIOS 1.0 10/16/2017
[    0.000000] Hypervisor detected: KVM
[    0.000000] kvm-clock: Using msrs 4b564d01 and 4b564d00
[    0.000000] kvm-clock: cpu 0, msr 19fa01001, primary cpu clock
← snip →

DMI: Amazon EC2 m6a.large との表記が確認できました。

CPU 情報

/proc/cpuinfo の内容です

$ cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 25
model           : 1
model name      : AMD EPYC 7R13 Processor
stepping        : 1
microcode       : 0xa001143
cpu MHz         : 3336.465
cache size      : 512 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 1
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 16
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy cr8_legacy abm sse4a misalignsse 3dnowprefetch topoext invpcid_single ssbd ibrs ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 clzero xsaveerptr rdpru wbnoinvd arat npt nrip_save vaes vpclmulqdq rdpid
bugs            : sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass
bogomips        : 5299.97
TLB size        : 2560 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 48 bits physical, 48 bits virtual
power management:

processor       : 1
vendor_id       : AuthenticAMD
cpu family      : 25
model           : 1
model name      : AMD EPYC 7R13 Processor
stepping        : 1
microcode       : 0xa001143
cpu MHz         : 3388.747
cache size      : 512 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 1
apicid          : 1
initial apicid  : 1
fpu             : yes
fpu_exception   : yes
cpuid level     : 16
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy cr8_legacy abm sse4a misalignsse 3dnowprefetch topoext invpcid_single ssbd ibrs ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 clzero xsaveerptr rdpru wbnoinvd arat npt nrip_save vaes vpclmulqdq rdpid
bugs            : sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass
bogomips        : 5299.97
TLB size        : 2560 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 48 bits physical, 48 bits virtual
power management:

搭載するCPUは AMD EPYC 7R13 Processor でした。

openssl性能

OpenSSLの処理性能、「M6a」が「M6i」を上回る結果となりました。

aes-128-cbc

- 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
m6a.large 176312.27k 189558.23k 193060.78k 372311.72k 379677.35k
m6i.large 147919.77k 161574.40k 164876.37k 166466.56k 166846.46k

aes-128-gcm -multi 2

- 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
m6a.large 790110.69k 1842107.26k 3656797.87k 4304483.67k 4851985.07k
m6i.large 640978.57k 1460010.01k 3502597.63k 4674252.46k 5415611.05k

aes-128-ctr -multi 2

- 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
m6a.large 1084422.17k 3297164.48k 7658977.62k 10675766.95k 11560015.19k
m6i.large 796477.79k 2242162.92k 5438941.44k 8352889.86k 9873249.62k

$ openssl speed -elapsed aes-128-cbc
← snip →
OpenSSL 1.0.2k-fips  26 Jan 2017
built on: reproducible build, date unspecified
options:bn(64,64) md2(int) rc4(8x,int) des(idx,cisc,16,int) aes(partial) idea(int) blowfish(idx)
compiler: gcc -I. -I.. -I../include  -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DKRB5_MIT -m64 -DL_ENDIAN -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches    -m64 -mtune=generic -Wa,--noexecstack -DPURIFY -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
aes-128 cbc     176312.27k   189558.23k   193060.78k   372311.72k   379677.35k

$ openssl speed -elapsed -evp aes-128-gcm -multi 2
← snip →
OpenSSL 1.0.2k-fips  26 Jan 2017
built on: reproducible build, date unspecified
options:bn(64,64) md2(int) rc4(8x,int) des(idx,cisc,16,int) aes(partial) idea(int) blowfish(idx)
compiler: gcc -I. -I.. -I../include  -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DKRB5_MIT -m64 -DL_ENDIAN -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches    -m64 -mtune=generic -Wa,--noexecstack -DPURIFY -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM
evp             790110.69k  1842107.26k  3656797.87k  4304483.67k  4851985.07k

$ openssl speed -elapsed -evp aes-128-ctr -multi 2
← snip →
OpenSSL 1.0.2k-fips  26 Jan 2017
built on: reproducible build, date unspecified
options:bn(64,64) md2(int) rc4(8x,int) des(idx,cisc,16,int) aes(partial) idea(int) blowfish(idx)
compiler: gcc -I. -I.. -I../include  -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DKRB5_MIT -m64 -DL_ENDIAN -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches    -m64 -mtune=generic -Wa,--noexecstack -DPURIFY -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM
evp            1084422.17k  3297164.48k  7658977.62k 10675766.95k 11560015.19k

まとめ

Intelの「M6i」「C6i」「R6i」に続き、AMDの最新世代プロセッサーを搭載するEC2として「M6a」として利用可能になりました。

第3世代のAMD EPYC プロセッサー、M6iと比較して10%廉価なコストで同等以上の性能で利用できる可能性があります。

X86_64のアーキテクチャのEC2を利用する場合には、「M6a」も候補としてぜひお試しください。