8
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

AWS GPUインスタンスの性能検証(OpenPoseで実アプリベンチマーク)

Posted at

TL;DR

  • AWSのGPUインスタンスの性能を知りたくなったので,OpenPoseでの姿勢検知で性能評価を行いました
  • 他のg3インスタンスに比べてg3sインスタンスのコストパフォーマンスが約3割,良いことが明らかになりました
  • openposeは並列効果の高いアプリケーションで,GPU数に比例した性能向上が得られました

モチベーション

  • AWS EC2のGPUインスタンスの性能と費用の関係を可視化します

実験概要

実験手順

実験対象データ

  • 1名の人間が,比較的ゆっくりした動作を行う様子を,定点から撮影した動画
  • FHD(1920x1080), 30fps
  • 103 MB
  • 8分53秒(533秒)

計測GPUインスタンスタイプ

インスタンスタイプ vCPU数 GPU数 GPU Model メモリ[GB] 費用[USD/hour]
g3s.xlarge 4 1 Tesla M60 30.5 0.75
g3.4xlarge 16 1 Tesla M60 122 1.14
g3.8xlarge 32 2 Tesla M60 244 2.28
g3.16xlarge 64 4 Tesla M60 488 4.56
  • 費用は,米国東部(バージニア北部)リージョン,オンデマンド料金,Linuxイメージの場合(2019/04/08時点)です
    • [https://aws.amazon.com/jp/about-aws/whats-new/2018/10/introducing-a-new-size-for-amazon-ec2-g3-graphics-accelerated-instances/]
    • VMの稼働コスト以外にも,EBS(ストレージ)の費用,通信費用が掛かりますが,ここでは省略します

実行コマンド

docker run --rm --runtime=nvidia \
    -v ${PWD}:/tmp/ openpose:latest \
    --face --hand --part_candidates \
    --display 0 \
    --model_folder /usr/local/openpose/models \
    --video       /tmp/input.avi \
    --write_json  /tmp/outputJSON \
    --write_video /tmp/output.avi

実行結果

計算時間

  • 計測された計算時間を以下にまとめました.
インスタンスタイプ vCPU数 GPU数 GPU Model メモリ[GB] 費用[USD/hour] 計算時間[sec]
g3s.xlarge 4 1 M60 30.5 0.75 5776.87
g3.4xlarge 16 1 M60 122 1.14 5769.03
g3.8xlarge 32 2 M60 244 2.28 2924.84
g3.16xlarge 64 4 M60 488 4.56 1520.76
  • 上記表の計算時間をグラフ化すると,下図になります.
    • comptime.png

パフォーマンス比

  • g3sを1.0としたときの計算性能のグラフを以下に示します
    • 同じ問題を解くのに要した時間の逆数を取り,g3sを1.0として正規化したグラフです
    • compRatio.png

費用比

  • g3sの費用(0.75USD/hour)と比較して,投入コストあたりで得られるパフォーマンスを示すグラフを以下に示します
    • パフォーマンス比と料金表をもとに,1ドルあたりで得られる性能をもとめ,g3sの性能を1として正規化しました.
    • compCost.png

考察

結果のまとめ

OpenPoseでの重たい計算をするときのコストと性能についてまとめます.

| インスタンスタイプ | vCPU数 | GPU数 | 費用[USD/hour] | 計算時間[sec] | 性能比率 | 費用比率 |
|:---|---:|:---|---:|---:|---:|---:|---:|---:|
| g3s.xlarge | 4 | 1 | 0.75 | 5776.87 | 1.0 | 1.0 |
| g3.4xlarge | 16 | 1 | 1.14 | 5769.03 | 1.001 | 0.659 |
| g3.8xlarge | 32 | 2 | 2.28 | 2924.84 | 1.975 | 0.650 |
| g3.16xlarge | 64 | 4 | 4.56 | 1520.76 | 3.798 | 0.625 |

g3sのコスパが良い

  • 費用比では,g3sの性能がコストがもっとも良いことが示されました
    • g3.4xlargeが活かせる場面は,メモリを多く使用するアプリケーションであり,OpenposeのようなGPU演算がメインの場合は,使用するメリットがほとんどないと言えます
  • 計算性能はGPU数に応じて向上することが示されました
    • 4つのGPUを使用するg3.16xlargeでは,1つのGPUでの実行に比べて約3.8倍と,Openposeは比較的良い並列化効果が得られるアプリケーションであると言えます

その他

  • Openposeのベンチマークは,OpenPose - Maximizing the OpenPose Speedにも説明があります
  • GPUとしてKepler K80を持つP2インスタンスもあるので,こちらの評価も取りたいです.

参考

8
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?