EC2のP2インスタンス~大きな分類から辿る~

はじめに

本記事では、AWS(Amazon Web Services)が提供しているサービスEC2(Elastic Compute Cloud)の選択インスタンスタイプの中から、P2インスタンスをはじめとした、その分類についてご紹介していきたいと思います。

P2インスタンスの起源

AWSがP2インスタンスの提供を開始したのは2016年でした。これは、より大規模な並列不動小数点演算の性能の要求が高まり、その必要性が求められたため、実現に向けて発表されたものとされています。そのため、このP2インスタンスは比較的規模の大きな機械学習や科学や工学といったジャンルでの分析やシミュレーションなどに活用されることを想定し、作られたインスタンスです。以降からは、そんなP2インスタンスを広い分類から順に追ってみていきます。まずは、P2も含まれているGPUインスタンスから解説します。

GPUインスタンスとは?

GPUとは、Graphics Processing Unit(グラフィックスプロセッシングユニット)といって、3Dグラフィックス等の画像処理をおこなう際に必要となってくる計算処理のための半導体チップのことを言います。主にグラフィックスの処理を多くおこなうアプリケーションに利用されるとともに、その他にも計算処理を多くおこなうアプリケーションや、AIアプリケーションにも適しており、様々な問題を解決に導くことができます。PCやサーバーに搭載される半導体チップとしてはGPUの他にCPUというものもありますが、どちらかというとCPUのほうが一般的によく耳にするものではありますよね。GPUとCPUはどちらも、送られてきた0と1からなる問題を受け取り、計算処理をすることに違いはありません。

しかしここでなにが違うのかというと、その中に搭載されているコアの数に違いがあります。コアというのは、内部で実際に処理をおこなう部品のことで、例えるならば工場の従業員のようなものでしょうか。コアが多ければ多いほど、”同時に”解くことができる問題数が多くなるわけです。こうやって見るとGPUのほうがはるかに良いものに見えてしまいますが、ここで更に重要なのは、GPUにコア数が多いからといって、なんでも高速で処理をできる万能なものだとは言い切れないという事です。

なぜかというと、GPUは”並列計算”といって、簡単で似た問題処理を同時におこなう事を得意としており、突出して難解な問題をひとつひとつのコアがさばいていく事には向いていないからです。先述の例えのように、GPUは大きな工場で、コアはその中で働く、単純な作業を大勢で処理する従業員たちのようなものというイメージが分かりやすいかと思います。そして、GPUインスタンスだからといって、内部にGPUしか搭載されていないわけではありません。単純で膨大な量の計算はGPUに、その他の処理はCPUに、という事で、インスタンス内部にはCPUとGPUのどちらも搭載されているわけです。

AWSのGPUインスタンス

さて、GPUインスタンスを知ったうえで、ここからはAWSで提供されているGPUインスタンスの種類について紹介していきたいと思います。GPUインスタンスでは大きく分けて【Pシリーズ】と【Gシリーズ】があり、そのなかでそれぞれ『P2』『P3』、『G3』『G4』という種類に分類されます。Gシリーズのインスタンスでは主に、3Dレンダリングや動画のエンコーディングなどのグラフィック系の処理を多用するアプリケーションに向けたものとなっており、その後に提供されはじめたPシリーズについては機械学習や金融工学、分子モデルのシミュレーションなどの処理向けに提供されており、GPUならではの並列計算を活用した用途向けものとなっています。

Pシリーズ内のインスタンス

それではここからは、【Pシリーズ】インスタンスのなかでも『P2』と『P3』インスタンスの違いについて紹介していきましょう。まず、”P”のあとの2と3の数字は何かというと、世代の値を表しています。そのため、『P3』がPシリーズの最新の世代だということになります。これらの大きな違いは、搭載されているGPUの種類が変わったことです。

P2インスタンスの搭載GPUは『NVIDIA K80 GPU』、P3インスタンスは『NVIDIA Tesla V100 GPU』で、Intelが開発するGPUもまた更新されているのに伴い、インスタンスに搭載されるGPUもより新しいものに改善されています。内容としてはコア数が飛躍的に多く設けられている点などが挙げられますが、それにより、更に大量の計算処理が集約された用途に向けたニーズに応えているインスタンスがP3だと言えます。そしてその分、コストも高価にはなってしまいます。

P2インスタンスについて

さて、ここではP2インスタンスがメインですので、P2インスタンスについて詳しく見ていきましょう。先述の通り、P2には『NVIDIA K80』というGPUが搭載されています。このGPUは、2496個の並列処理コアと12GiBのメモリが設けられています。そんなP2インスタンスですが、その中でまたどのような種類があるのか見ていきましょう。

ここまで説明してきたP2やP3などのワードは、AWSのインスタンスタイプと呼ばれるインスタンスの名称の中でも『インスタンスファミリー』という部分でした。例えば、【p2.xlarge】というインスタンスタイプがあれば、ドット(.)より前にある”p2”がインスタンスファミリーです。ドット(.)以降に示されている部分では、インスタンスサイズという内容で更に区別させることができます。多くの場合、インスタンスサイズにはmicroやsmall、mediulやlargeなどがありますが、P2インスタンスには下記のようなlargeの3種類が用意されています。

p2.xlarge

GPUの数:1
vCPUの数:4
メモリ(GiB):61
GPUメモリ(GiB):12
ネットワークパフォーマンス:高
価格:0.900 USD

p2.8xlarge

GPUの数:8
vCPUの数:32
メモリ(GiB):488
GPUメモリ(GiB):96
ネットワークパフォーマンス:10ギガビット
価格:7.200 USD

p2.16xlarge

GPUの数:16
vCPUの数:64
メモリ(GiB):732
GPUメモリ(GiB):192
ネットワークパフォーマンス:20ギガビット
価格:14.400 USD

※価格は米国東部 (バージニア北部)、及び米国西部 (オレゴン) の価格

インスタンスサイズが増えるとその分CPUやメモリの量が増えるため、料金もそれに伴い増加します。
このように現在もP2インスタンスは提供され続けていますが、AWSでは世代の新しいものの使用を薦めています。ただし、P3インスタンスはP2インスタンスに比べ処理速度も速く性能がはるかに高い事に伴い、コストが高いのが難点です。インスタンスタイプを選ぶ際は、コストパフォーマンスも是非考慮しながら各インスタンスを比べてみてください。

おわりに

いかがでしたでしょうか。今回はP2インスタンスと、そこまでの大まかなインスタンスの分類について触れていきましたが、この他にも様々な面でのパフォーマンスに特化したインスタンスが多く提供されています。本記事で少しでもインスタンスタイプについて参考にしていただければ幸いです。最後まで読んでいただきありがとうございました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です