日本時間で11月30日から開催されている AWS 最大のイベント re:invent 2021 で、 新しい第3世代の AWS Graviton3 プロセッサを搭載した C7g インスタンスシリーズが 発表されました。
Amazon EC2 C7g instances AWS Graviton Processor
現在プレビューなので、利用するためには事前に申し込みが必要で、価格も 公表されていません。
名前が C で始まるので、主に科学技術計算などの CPU を多く使うワークロードでの 利用が想定されています。
新しい ARM アーキテクチャベースのAWS Graviton3 プロセッサでは Graviton2 と比べて 通常の計算性能で 25% 程度、浮動小数点数演算と暗号化処理で 2 倍程度高速されているそうです。
メモリも DDR5 となりメモリ帯域も前世代の DDR4 と比較して50%程度向上している とのこと。
ネットワーク性能も C6g 世代のインスタンスと比較して 20% 程度向上しているそうです。 また Elastic Fabric Adapter (EFA) をサポートして高速なノード間通信も可能になっています。
なぜ ARM アーキテクチャを選ぶのか
これまで、多くのワークロードが Intel およびその互換アーキテクチャで実行されていました。 IBM 互換 PC の普及によって出荷台数が劇的に増え、高性能化も進みましたが、 搭載している機能が増えまた後方互換性を確保するために非常に複雑になってしまいました。
一方主にスマートフォンの普及に従って、ARM アーキテクチャも劇的に進化しました。 もともと、小型機器向けに設計され、どちらかというと性能面よりも、低消費電力や 比較的少ないメモリ使用量が重視されていました。
また比較的シンプルなアーキテクチャを使用しているので、回路が簡単になり、 半導体チップ面積が小さくなって製造コストが安くなるという特徴があります。
現在では 64 bit 版も提供されるようになり、性能面でもIntel と遜色ないものとなっています。
実際現在世界一の性能を誇る国産スーパーコンピュータ富嶽でも ARM アーキテクチャが 採用されています。
さて ARM アーキテクチャを選択する理由はなんでしょうか。
一つは低消費電力であること。これは従来はデータセンターで利用されるようなサーバ 用途ではそれほど重視されてきませんでしたが、現在では環境意識の高まりとともに 非常に重要なポイントになると思います。
電気代はランニングコストにも影響します。電力消費に従う発熱も問題になり、 冷却などの付随的な費用も増加します。
発熱量が少なければラックあたりの CPU コア搭載数を増加させることも可能になり、 データセンターの利用効率を上げることができます。この点もランニングコストに影響します。
EC2 のような時間あたりで課金されるサービスでは、ランニングコストの低下は価格に 反映されます。現在 C7g インスタンスファミリーの価格は公表されていませんが、 ベストプライスパフォーマンスだと宣伝されています。
コスト面だけでなく SDGs の観点からも低消費電力で炭素排出量の少ないインスタンスを 利用することはメリットがあるとおもいます。
移行すべきか
それでは C7g インスタンスに移行すべきでしょうか。性能面では検証は必要ですが、 多くのワークロードで利用するのに十分な性能があると思います。
RHEL や SUSE、Ubuntu などの主要な Linux ディストリビューションはすでに対応済み なので、利用自体はそれほど違和感がないと思います。もちろん Docker コンテナも利用 できます。
AWS Graviton Ready Program というものも新たに提供されて、Graviton に対応した ソフトウェアを検索できるようになっています。
ただ Intel64 と Aarch64 というアーキテクチャの違いから、AMIやコンテナイメージの 再作成が必要になる点はハードルが高いかと思います。またユースケースによっては、 開発環境やCI/CDパイプラインを別途整備する必要があるかもしれません。