RE:INVENT AWS は、「現代のプロセッサは現代のワークロードにはあまり最適化されていない」という確信を持っていた、とクラウド企業のインフラストラクチャ担当上級副社長のピーター・デサンティス氏は、ラスベガスで開催された最新の年次イベント Re:invent で主張した。
デサンティス氏は先週、AWS の Graviton 3 ARM ベース プロセッサについて語り、いわば骨の周りにもう少し肉を添えたと述べている。そして、同氏のコメントでは「モダン」という言葉が大きな役割を果たしている。
ハイパースケール クラウド プロバイダーの観点から見ると、コンピューティングの状況は異なります。重要なのは柔軟性ではなく、徹底的な最適化と予測可能なパフォーマンスです。
カスタムハードウェアは明らかな解決策であり、Amazon は 2015 年にイスラエルのチップ企業 Annapurna Labs を買収しました。Annapurna Labs は現在も AWS 内のチームとして Graviton やその他のカスタム CPU の開発に取り組んでいます。
「AWS が独自のチップの開発に着手したのは Nitro のおかげだ」と DeSantis 氏は語り、Re:invent の聴衆に、多数のフラッシュ RAM チップをストレージ ドライブのように見せながら、その摩耗も最適化する SSD ドライブ上の FTL (Flash Translation Layer) チップの目的について説明した。
AWSは、ベンダー提供の様々なバリエーションを持つFTLを使用すると、パフォーマンスが不安定になり、ガベージコレクションのために時折停止する可能性があることに気付きました。Nitroカードは、この機能をはじめとする様々な役割を引き継ぎ、AWSのパフォーマンスを向上させ、予測可能性を高めました。また、Nitroが管理する暗号化はオーバーヘッドがほぼゼロであるため、保存データを暗号化する必要がある場合でもペナルティが発生しないことも利点です。
Nitroはストレージ、ネットワーク、セキュリティ、ハイパーバイザーといった役割を担っていますが、CPUはどうでしょうか?AWSは2018年後半にGravitonを導入しました。Appleと同様に、Armアーキテクチャの効率性がx86よりも優れていると考えていたからです。Graviton 2は2019年後半に初めてプレビューされました。
同社は現在、まだプレビュー段階だが、Twitterなどの厳選された顧客がすでに試用しているGraviton 3を導入しており、Twitterのプラットフォーム責任者であるニック・トルノウ氏は次のように述べている。「Graviton3ベースのC7gインスタンスは、Graviton2ベースのC6gインスタンスと比較して20~80%高いパフォーマンスを発揮し、テールレイテンシも35%も削減することがわかりました。」
グラビトン3コアの統計
C7g は現在唯一の Graviton 3 VM インスタンスであり、HPC (ハイパフォーマンスコンピューティング) ワークロードなどのアプリケーション向けに他のインスタンスへの低レイテンシー接続を可能にする AWS 拡張ネットワークインターフェイスである Elastic Fabric Adaptor (EFA) をサポートしています。
AWS は Re:invent で、Graviton サーバーには 3 つの Graviton 3 プロセッサを管理できる Nitro カードが搭載されていると述べました。
グラビトン3の仕様
- 2.6GHzのクロック速度
- 最大300 GB/秒のメモリ帯域幅
- DDR5 メモリ
- 64コア
- 7つのシリコンダイチップレットベースの設計
- 256 ビット SVE (スケーラブル ベクトル拡張)
- トランジスタ数 550 億個 (Graviton 2: 300 億個)
デサンティス氏は、コアの統計情報だけでは全体像が分からないことを慎重に説明した。Graviton 2も64コアでクロック速度は2.5GHzだったが、新しいプロセッサはより広い帯域幅を備えており、1クロックサイクルで処理できるデータ量が2倍になり、各コアが同時に処理できる命令数も1サイクルあたり5個から8個に増加している。
Graviton 2 には Arm の Neoverse N1 コアが搭載されていましたが、Graviton 3 に Neoverse N2 が搭載されているかどうか (姉妹誌の The Next Platform が指摘しているように、256 ビットの SVE を搭載していることを考えると納得できます)、または SemiAnalysis が主張するように Neoverse V1 が搭載されているかどうかはまだ明らかではありません。各コアのメモリ帯域幅は Graviton 2 より 50 パーセント広くなっています。
Graviton 3 のもう 1 つの機能は、bfloat16 のサポートです。これは、精度よりも速度が重要な機械学習に最適な、切り捨てられた 32 ビット浮動小数点値です。
新しいポインタ認証機能により、セキュリティも強化されています。
「リターンアドレスはスタックにプッシュされる前に、まず秘密鍵と追加のコンテキスト情報(スタックポインタの現在の値を含む)で署名されます。署名されたアドレスはスタックからポップされる際に、使用前に検証されます。アドレスが有効でない場合は例外が生成されるため、スタックの内容を有害なコードのアドレスで上書きする攻撃をブロックできます」とAWSのエバンジェリスト、ジェフ・バー氏はブログで述べ、コンパイラおよびオペレーティングシステム開発者に対し、この機能の活用方法について問い合わせるよう呼びかけています。
- AWSがクラウドに新たなArm CPUを追加:AppleのM1
- AWS が Rust、Kotlin、Swift、Amplify Studio 向け SDK をプレビューし、迅速なウェブアプリ開発を実現
- VMwareはTanzuの離陸を待ち、顧客が試用する中ガイダンスを上回る
- AWSは無料利用枠を大幅に拡大しデータ転送料金を削減 – ライバルがR2ストレージをプレビューしてから2か月後
仕様が実際のパフォーマンスにどう反映されるかは常に変動します。AWSが発表した数値の中には、Graviton 3は前世代機と比べて60%効率が向上し、浮動小数点演算と暗号化性能が最大2倍、機械学習性能が最大3倍向上しているというものもありました。しかし、全体的なパフォーマンス向上率は25%と控えめです。DeSantis氏が示したスライドでは、Redisアプリケーションでは25%、Nginxでは60%の向上が示されています。
Graviton 2 に対する実際のパフォーマンスの向上は、ワークロードによって異なります。
ユーザーは計算を行い、アプリケーションの互換性があり、コストやパフォーマンスのメリットが大きいGraviton 3に移行するでしょう。そして、実際にそうなっているように見えます。AWSによるカスタムチップへの投資は、x86チップベンダーやコモディティサーバーに依存している競合他社にとって課題となります。
昨年、マイクロソフトがカスタム Arm ベースのプロセッサを計画しているとの噂を報じましたが、GCP (Google Cloud Platform) ではすでに ML 用のカスタム チップが導入されており、3 月にはさらに多くのカスタム ハードウェアが追随すると発表されました。これは、AWS がこの分野で達成した先行を否定するものではありません。®