IBM Cloud Virtual Servers VPCで第4世代 Intel® Xeon® processors(Sapphire Rapids)を確認してみた

# 1. はじめに
IBM Cloud docsのVPCにおける[2023年10月12日のrelease notes](https://cloud.ibm.com/docs/vpc?topic=vpc-release-notes&locale=en#vpc-oct23)によると、Intel社の第4世代 インテル® Xeon® スケーラブル・プロセッサー」（開発コード名：Sapphire Rapids）がダラスリージョン(us-south)にて利用可能になった。公式の外部向けブログは[こちら](https://www.ibm.com/blog/announcement/now-live-intel-xeon-processors-on-ibm-cloud-virtual-servers-vpc/)。
IBM Cloud上のプロファイルでは、`xx3d`と記載されている。ややこしいのだが、IBM Cloudとしては、このプロセッサーは新しい世代のプロセッサーを第三世代と呼んでいる。（恐らくSoftLayer/Classic Infrastructureで提供されていたCPU群を第一世代、VPCで提供されていた今までのCPU群を第二世代とみなした上でのカウント方法だと思われる）。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/54e81ef8-3b0e-7ba6-16e0-94d94c8dfbff.png)

今回は、この新世代のCPUをRHEL9+`bx3d-2x10`を使ってプロビジョニングし、その環境情報を確認してみる。


# 2. プロビジョニング＋環境確認

```
[root@rhel-gen3 ~]# dnf update -y
[root@rhel-gen3 ~]# reboot
```

```
[root@rhel-gen3 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux release 9.2 (Plow)

[root@rhel-gen3 ~]# uname -a
Linux rhel-gen3 5.14.0-284.30.1.el9_2.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Aug 25 09:13:12 EDT 2023 x86_64 x86_64 x86_64 GNU/Linux


[root@rhel-gen3 ~]# lscpu
Architecture:            x86_64
  CPU op-mode(s):        32-bit, 64-bit
  Address sizes:         40 bits physical, 57 bits virtual
  Byte Order:            Little Endian
CPU(s):                  2
  On-line CPU(s) list:   0,1
Vendor ID:               GenuineIntel
  BIOS Vendor ID:        QEMU
  Model name:            Intel Xeon Processor (SapphireRapids)
    BIOS Model name:     pc-i440fx-6.2
    CPU family:          6
    Model:               143
    Thread(s) per core:  2
    Core(s) per socket:  1
    Socket(s):           1
    Stepping:            4
    BogoMIPS:            4200.00
    Flags:               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 rep_good nopl xtopology cpuid tsc_known_fre
                         q pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single ssbd i
                         brs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb av
                         x512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves avx_vnni avx512_bf16 wbnoinvd arat avx512vbmi umip pku ospke waitpkg avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bita
                         lg avx512_vpopcntdq la57 rdpid bus_lock_detect cldemote movdiri movdir64b fsrm md_clear serialize tsxldtrk amx_bf16 avx512_fp16 amx_tile amx_int8 arch_capabilities
Virtualization features:
  Virtualization:        VT-x
  Hypervisor vendor:     KVM
  Virtualization type:   full
Caches (sum of all):
  L1d:                   64 KiB (2 instances)
  L1i:                   64 KiB (2 instances)
  L2:                    4 MiB (1 instance)
  L3:                    16 MiB (1 instance)
NUMA:
  NUMA node(s):          1
  NUMA node0 CPU(s):     0,1
Vulnerabilities:
  Itlb multihit:         Not affected
  L1tf:                  Not affected
  Mds:                   Not affected
  Meltdown:              Not affected
  Mmio stale data:       Unknown: No mitigations
  Retbleed:              Not affected
  Spec store bypass:     Mitigation; Speculative Store Bypass disabled via prctl
  Spectre v1:            Mitigation; usercopy/swapgs barriers and __user pointer sanitization
  Spectre v2:            Mitigation; Enhanced IBRS, IBPB conditional, RSB filling, PBRSB-eIBRS SW sequence
  Srbds:                 Not affected
  Tsx async abort:       Not affected
```


# 3. Intel® System Health Inspector を利用したシステムレポート(Sapphire Rapids)

https://github.com/intel/svr-info を参照。

```
[root@rhel-gen3 ~]# curl -sL https://github.com/intel/svr-info/releases/latest/download/svr-info.tgz | tar -xzv
svr-info/
svr-info/LICENSE
svr-info/THIRD_PARTY_PROGRAMS
svr-info/README
svr-info/svr-info
svr-info/USER_GUIDE.pdf
svr-info/RELEASE_NOTES

[root@rhel-gen3 ~]# cd svr-info/

[root@rhel-gen3 svr-info]# ./svr-info
rhel-gen3             ⣷  finished creating report(s)
Reports:
  svr-info_2023-10-13_01-32-21/rhel-gen3.html
  svr-info_2023-10-13_01-32-21/rhel-gen3.xlsx
  svr-info_2023-10-13_01-32-21/rhel-gen3.json

```

この生成されたhtmlファイルを参照すると、例えば以下のようなことがわかる。

- Sapphire Rapids世代のCPUが利用されている。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/77c3a499-1a98-b7ed-9249-70eee762b742.png)

- この新しい世代のCPUでは、AVX, AMX, AES/VAESといった各種featureが有効になっている。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/f9b4b4dc-92aa-84d0-2ceb-56acb360e6e6.png)

- 各種脆弱性も解消されている。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/132dff2d-d116-a62d-9c7c-86162cc8787f.png)


# （参考）: Intel® System Health Inspector を利用したシステムレポート(CascadeLake)

同様にIBM Cloud VPC環境で、CascadeLake+RHEL9を使ったシステムレポートは以下の通り。

- Cascadelake世代のCPUが利用されている。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/016e5ff6-b34c-39a4-dc6a-b834636c8a85.png)

- この世代のCPUでは、AVXの機能の一部や、AMX, VAESといった各種featureが有効になっていない。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/16f5da4b-f5e2-2d82-3559-566fe60a6bc4.png)

- `CVE-2022-40982`に対して脆弱性が残っている。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/7502cc12-2b2d-fc48-5f8a-f7f1e3871eb8.png)