【AWS Podcastを聞くために】#629 Diving into Amazon EC2 M7a, C7a,and R7a instances
【AWS Podcastを聞くために】#629 Diving into Amazon EC2 M7a, C7a,and R7a instances
※こちらのブログは、AWSのPodcastを聞くために前情報として私が調べたことをただ列挙するものであり、
文字起こしや翻訳が書かれているものではございません。
TOEIC400点台、AWSはクラウドプラクティショナーの私が
AWS Podcastを理解するために事前に知識をまとめるブログです。
今回は
#629 Diving into Amazon EC2 M7a, C7a,and R7a instances
説明文
Amazon EC2 M7a, C7a, and R7a instances -- powered by 4th Generation AMD EPYC processors -- deliver up to 50% higher performance compared to the previous gen. Today Hawn is joined by Sinem Gulbay, Senior Product Manager here at AWS, to dive into the benefits of these new instances, their technical specs, and when, why, and how you should leverage them.
【Google翻訳】
第 4 世代 AMD EPYC プロセッサを搭載した Amazon EC2 M7a、C7a、および R7a インスタンスは、前世代と比較して最大 50% 高いパフォーマンスを実現します。 今日は、Hawn にここ AWS のシニアプロダクトマネージャーである Sinem Gulbay が加わり、これらの新しいインスタンスの利点、技術仕様、いつ、なぜ、どのように活用する必要があるのかについて詳しく説明します。
調べる前の予想:
EC2は知っているし、t3.largeみたいなインスタンスファミリーにM7a、C7a、R7aというのが出た。
きっとそれがめっちゃいいんだろう。
まずEC2とは
Amazon Elastic Compute Cloud (Amazon EC2) は、Amazon Web Service (AWS) クラウドでオンデマンドのスケーラブルなコンピューティングキャパシティーを提供します。Amazon EC2 を使用することで、ハードウェアのコストを削減できます。これによりアプリケーションの開発とデプロイを迅速に行うことができます。Amazon EC2 を使用すると、必要な数 (またはそれ以下) の仮想サーバーの起動、セキュリティおよびネットワーキングの構成、ストレージの管理ができます。月次または年次の処理やウェブサイトのトラフィックの急増など、計算量の多いタスクを処理するためのキャパシティーを追加 (スケールアップ) できます。使用量が減った場合は、キャパシティーを再び減らす (スケールダウン) こともできます。
AWSクラウド上に建てるサーバというイメージ。一番AWSの中ではとっかかりやすくて使うサービス。
Elastic Compute Cloud でEC2。Cが2つだから、という理由の略し方に初めて聞いた時は驚きました。
そしてEC2にはAMIと呼ばれる、機能の設定情報を作りインスタンスにコピーして起動する。
このAMIによって何個も同じ設定のインスタンスを作成することができる。
そのAMIの中には、インスタンスタイプと呼ばれるサーバーのスペックを表すものがある。
インスタンスタイプ
以下参照:
Amazon EC2とは?初心者向けに基本情報やメリット・料金体系を解説
https://business.ntt-east.co.jp/content/cloudsolution/column-21.html
初めのCがファミリーと呼ばれていて、機能によって性能が分かれている。
ファミリー | 特徴 | 概要 |
M/T | 汎用タイプ | 汎用性が高く一般用途向け |
C | コンピューティング最適化 | 高性能のCPUが搭載されており、CPU負荷が高いワークロード向け |
R | メモリ最適化 | 汎用タイプと比較して搭載メモリサイズが大きく、メモリ容量を大きく必要とする作業向け |
I | ストレージ最適化 | 大量のオンライントランザクション処理でも低いレイテンシーで利用可能 |
Hpc | HPC最適化 | ハイパフォーマンスコンピューティングでの作業を大規模に実行することが可能 |
7が世代、gが追加機能
インスタンスタイプの中には、追加機能が搭載されているものもあります。追加機能が搭載されているかどうかは、世代の数字の右隣に以下のアルファベットがあるかで判別ができます。
機能 | 特徴 |
a | AMD CPUを搭載している |
b | EBSパフォーマンスが高い |
d | 内蔵ストレージ(インスタンスストア)を付加している |
e | CPUやメモリ搭載量が異なる |
g | AWS Gravitonプロセッサを搭載している |
n | ネットワークスループットが高い |
z | 高周波なコアを搭載している |
で、今回の話は
EC2のインスタンスで新しく出たM7a,C7a,R7a について掘り下げる というもの。
M というのは 汎用タイプ
汎用インスタンスは、コンピューティング、メモリ、およびネットワーキングリソースをバランスよく備えており、広範囲のワークロードに使用できます。
私がよく使うt3.largeとかのTも汎用だけどバーストというのがあるらしく、
これらのインスタンスは、ベースラインレベルの CPU パフォーマンスを維持し、ワークロードの必要に応じてより高いレベルまでバーストすることもできます。無制限インスタンスは、必要なときに、任意の期間にわたって高い CPU パフォーマンスを保持できます。このインスタンスは、以下に最適です。
- ウェブサイトとウェブアプリケーション
- コードリポジトリ
- 開発、ビルド、テスト、およびステージング環境
- マイクロサービス
と汎用と言いながらも色々あるらしい。
こんな記事もあった。
ちょっと待ってください!あなたが使うべきは本当にT系インスタンスですか!?
Cはコンピューティング最適化、Rはメモリ最適化とそれぞれの特徴がある。
追加機能のa
そして、追加機能のaに関しては AMD CPUを搭載している とのこと。
AMD CPU??なんだそれ。
以下参照:
AMDとは?AMDの読み方は?などの基本からAMDの歴史、CPUやGPUなどAMDについてご紹介
AMDとは、Advanced Micro Devices(アドバンスト・マイクロ・デバイセズ)というアメリカ合衆国カリフォルニアに本社を置いている半導体製造会社のこと。
コンピュータの計算などの処理を行うCPUの他、グラフィックの処理を行うGPU、CPUとGPUを1つに統合したAPUなどの製造を行っています。なお、AMDの製造しているCPUは世界トップのIntel(インテル)に次ぐシェア数を誇っており、単にAMDという場合、AMDのCPUを指すことも多いです。
AMD社が作っている、Intelに負けないぞ!と頑張って作っているCPUのことなのね
と軽く理解します。私の頭ではこれが精一杯。
そして、M7aとは
第 4 世代 AMD EPYC プロセッサを搭載した Amazon EC2 M7a インスタンスは、M6a インスタンスと比較して最大 50% 高いパフォーマンスを実現します。これらのインスタンスは、AVX-512、VNNI、および bfloat16 をサポートしており、より多くのワークロードのサポートを可能にし、Double Data Rate 5 (DDR5) メモリを使用してメモリ内のデータへの高速アクセスを可能にし、M6a インスタンスと比較して 2.25 倍のメモリ帯域幅を提供します。
...
これらのインスタンスは、AWS Nitro System 上に構築されており、SQL データベースや NoSQL データベース、ウェブ規模の分散型インメモリキャッシュ、インメモリデータベース、リアルタイムのビッグデータ分析、Electronic Design Automation (EDA) アプリケーションのように、高いパフォーマンスを必要とし、メモリを大量に消費するワークロードに最適です。新着情報 – 第 4 世代 Gen AMD EPYC プロセッサを搭載した Amazon EC2 M7a 汎用インスタンス | Amazon Web Services ブログ
ですってよ。結局公式のリリースが一番詳しいです。
第4世代のAMD EPYCプロセッサを搭載した、第七世代のM?aシリーズというわけか。
AVX-512
https://www.intel.co.jp/content/www/jp/ja/architecture-and-technology/avx-512-overview.html
VNNI
Intel AVX2 Vector Neural Network Instructions (AVX2 VNNI) は整数積和演算の効率化を目的とした拡張命令セットである。AVX-512のサブセットとして導入されたAVX512 VNNIをAVX2 (整数ベクトルレジスタ) へバックポートしている。[int8 | int16]・[非飽和 | 飽和] の組み合わせに対応した4種の整数積和演算(vpdp[bu|ws]sd[|s])からなり、組み込み関数/intrinsicsとしては[XMM (_mm_) | YMM (_mm256_) ] およびAVX512 VNNIとの区別(_avx)をさらに組み合わせた計16個が定義されている。
bfloat16
bfloat16は、米Google(グーグル)が独自に定義したディープラーニング向けの浮動小数点フォーマット。同社のディープラーニングアクセラレーター「TPU」で採用されている形式だ。以前は同社のみが利用していたが、米Intel(インテル)や米Facebook(フェイスブック)がサポートするなど、広がりを見せている。
Intelなどに続きArmもグーグルの「bfloat16」、完全自動運転に向けて業界団体も発足 | 日経クロステック(xTECH)
「ナイトロ」らしいです。
Nitro ハイパーバイザー
- 軽量なハイパーバイザー
- メモリとCPUの割り当て
- ベアメタルのようなパフォーマンス
一般的にベアメタルサーバでは、ハイパーバイザーにリソースを割く必要がない分、そうでないサーバと比較してパフォーマンスが出やすいとされます。
Nitro ハイパーバイザーは、軽量なためにベアメタル同等のパフォーマンスが出るとのことです。
わからないけどわかったぜ。
無理やりまとめてみる
AWSのEC2とはクラウド上に建てるサーバのようなものです。
それには、インスタンスタイプというサーバのスペックを表しているものがあり、
今回はM7a,C7a,R7aというタイプについて掘り下げています。
これは、M,C,Rファミリーの第7世代で、第4世代のAMD EPYCプロセッサを積んでいます。
これは第6世代のファミリーと比べてめっちゃいいぜ!✌️
また、AVX-512、VNNI、bfloat16 などの新しいプロセッサ機能を備えてい るそうです。
これらのインスタンスは、AWS Nitro System 上に構築されて いるそうです。
これくらい単語がわかっていたらいけるんじゃないでしょうか!