SnowflakeのワーカーノードがGraviton3に!
先日、Snowflakeから「Gen2 スタンダードウェアハウス」が発表されました(リリースノート 2025-05-05-gen2-standard-warehouses)。
以前、こちらの記事と同様の手法で、この新しいGen2環境の内部を調査した。
結論
C7g.2xlargeが使われるようになった。CPU以外に大きな変更はないけれど、CPUレベルで列ストレージ向けに最適化がされたっぽい。
Gen2 (2025年5月現在) の推定マシン構成 (1ノードあたり):
パラメータ | 値 |
---|---|
インスタンスタイプ | C7g.2xlarge |
ディストリビューション | 不明 (inux-5.4.181-99.354.2024082308gcbf50e6+snow+aws+btrfs+arm64.aarch64-aarch64-with-glibc2.34 ) |
CPU コア | 8コア/ノード |
CPU アーキテクチャ | aarch64(arm64) |
CPU モデル (推定) | AWS Graviton3 |
ディスク容量 | 約400GB/ノード (公称) |
詳細
1. OS情報
項目 | Gen1 (旧環境) | Gen2 (新環境) | 備考 |
---|---|---|---|
OS | Linux |
Linux |
変更なし |
ディストリビューション | Linux-5.4.181-99.354.2024082308gcbf50e6+snow+aws+btrfs+arm64.aarch64-aarch64-with-glibc2.34 |
Linux-5.4.181-99.354.2024082308gcbf50e6+snow+aws+btrfs+arm64.aarch64-aarch64-with-glibc2.34 |
変更なし。カスタムLinuxであると推測される。 |
リリース | 5.4.181-99.354.2024082308gcbf50e6+snow+aws+btrfs+arm64.aarch64 |
5.4.181-99.354.2024082308gcbf50e6+snow+aws+btrfs+arm64.aarch64 |
変更なし |
バージョン | #1 SMP Fri Aug 23 08:44:13 UTC 2024 |
#1 SMP Fri Aug 23 08:44:13 UTC 2024 |
変更なし |
Pythonバージョン | 3.9.21 (main, Dec 11 2024, 16:39:34) |
3.9.21 (main, Dec 11 2024, 16:39:34) |
変更なし |
/proc/cpuinfo
より)
2. CPU情報 (ここに大きな変更が入りました。
項目 | Gen1 (旧環境) | Gen2 (新環境) | 備考 |
---|---|---|---|
BogoMIPS | 243.75 |
2100.00 |
大幅に向上 |
CPU implementer |
0x41 (ARM) |
0x41 (ARM) |
変更なし |
CPU architecture | 8 |
8 |
変更なし |
CPU variant | 0x3 |
0x1 |
変更あり |
CPU part |
0xd0c (AWS Graviton2) |
0xd40 (AWS Graviton3) |
最重要ポイント |
Features | fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimdd... |
fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc d... |
変更あり |
論理プロセッサ数 | 8 |
8 |
変更なし (os.sysconf(SC_NPROCESSORS_ONLN) より) |
CPU part
が 0xd0c
から 0xd40
に変更されているのでGraviton 3へのアップグレードはほぼ確定ぽい。
os.sysconf()
より)
3. メモリ情報 (項目 | Gen1 (旧環境) | Gen2 (新環境) | 備考 |
---|---|---|---|
SC_PHYS_PAGES (総物理メモリ) |
4015143 (約 15.32 GB) |
4015143 (約 15.32 GB) |
変更なし。 |
SC_AVPHYS_PAGES (利用可能物理メモリ) |
3034205 (約 11.57 GB) |
140224 (約 0.53 GB) |
大幅に減少。 |
SC_AVPHYS_PAGES
の値が下がったのは謎だが、1つのインスタンスを大量に使い回すために予約するメモリ量を下げたとかかも。
過去の環境との比較まとめ
これまでの調査結果
項目 | 2022年11月 (C5d.2xlarge相当 - 過去記事より) | 2024年1月 (C6g.2xlarge相当 - Gen1) | 2025年5月 (C7g.2xlarge相当 - Gen2) |
---|---|---|---|
インスタンスタイプ | C5d.2xlarge | C6g.2xlarge | C7g.2xlarge |
OSバージョン (カーネル) | 不明 |
Linux Kernel 5.4.181 ( Linux-5.4.181-...-with-glibc2.34 ) |
Linux Kernel 5.4.181 ( Linux-5.4.181-...-with-glibc2.34 ) (変更なし) |
コア数 | 8コア/ノード | 8コア/ノード | 8コア/ノード (変更なし) |
アーキテクチャ | x86_64 | aarch64(arm64) | aarch64(arm64) (変更なし) |
ディスク容量 (推定) | 200GB/ノード | 400GB/ノード | 約400GB/ノード (変更なし) |
CPU Part ) | (不明) |
0xd0c (Graviton2) |
0xd40 (Graviton3) |
BogoMIPS | (不明) | 243.75 |
2100.00 |
おまけ CPUの違いと、それが何に影響するか?
結局今回のアップデートは
Neoverse N1
Neoverse V1
の違いに収束するので、それを調べると良さそう。
ちょっと調べたところ下のような感じらしい。
項目 |
Neoverse N1 (Ares, 2019) |
Neoverse V1 (Zeus, 2020) |
影響するワークロード |
---|---|---|---|
ISA 世代 | Arm v8.2-A + LSE + FP16 等 | Arm v8.4-A + LSE + SVE 256bit / bfloat16 | SIMD/AI 命令対応の差 |
SIMD 幅 | NEON 128 bit ×2 | SVE 256 bit ×2(可変長) | HPC・ベクトル演算・暗号・ML |
典型 IPC 向上 | ― | +50 %(SPECint/fp 換算)([Arm][1], [AnandTech][2]) | 単一スレッド性能 |
コア構造 | A76 派生、11-stage パイプライン | Cortex-X1 派生、投機幅・バッファ拡大 | 分岐性能・O3 窓サイズ |
L1/L2 キャッシュ | 64 KB I + 64 KB D / L2 1 MB | 64 KB I + 64 KB D / L2 2 MB | キャッシュヒット率向上 |
あまりCPUに詳しくないけど感想。
SVE 256 bitは Scalable Vector Extensionの略で、従来 NEON 128 bit の 2 倍の演算幅 を持つらしい。列のように独立したデータを倍の帯域で処理出来るみたいな感じだと理解している。parquetのような列フォーマットの優位性がますます出てきそう。
bfloat16は多少の精度を犠牲に素早く計算する仕組み。AI系の時系列予測関数とかが早くなるかも?
IPCが25%増加しているので、シンプルに単位時間当たりにこなせる命令が増えてそう。
暗号化用のハードウェアがあるので、HashやSha2が爆速になりそう。
L1/L2キャッシュも拡大しているので、巨大なテーブルのJOINとかは確かに早くなりそう。
実際の速度面は、さがらさんが検証されてます。
まとめ
暗号化が多発するユースケースと、横や縦に広いユースケースで特に早くなりそう。(DataVaultのSurrogate Keyとかね)
Gen2は1.35倍のクレジット消費となるが、巨大なタスクではコストメリットがあるはず。
処理データが巨大で1時間近くかかっているタスクがあるなら、1つサイズを落としてGen2にしてみても良さそう。

Snowlfake データクラウドのユーザ会 SnowVillage のメンバーで運営しています。 Publication参加方法はこちらをご参照ください。 zenn.dev/dataheroes/articles/db5da0959b4bdd
Discussion