AWS GPUインスタンスの性能検証(OpenPoseで実アプリベンチマーク)
TL;DR
- AWSのGPUインスタンスの性能を知りたくなったので,OpenPoseでの姿勢検知で性能評価を行いました
- 他のg3インスタンスに比べてg3sインスタンスのコストパフォーマンスが約3割,良いことが明らかになりました
- openposeは並列効果の高いアプリケーションで,GPU数に比例した性能向上が得られました
モチベーション
- AWS EC2のGPUインスタンスの性能と費用の関係を可視化します
実験概要
実験手順
- AWSのGPUを持つインスタンスタイプで,Openposeの姿勢検知処理を実行し,計算時間を計測しました
- 処理は,OpenPoseをコンテナ実行するDockerfileで実行しました
実験対象データ
- 1名の人間が,比較的ゆっくりした動作を行う様子を,定点から撮影した動画
- FHD(1920x1080), 30fps
- 103 MB
- 8分53秒(533秒)
計測GPUインスタンスタイプ
- AWS EC2のGPUインスタンスの性能と費用の関係を可視化します
実験概要
実験手順
- AWSのGPUを持つインスタンスタイプで,Openposeの姿勢検知処理を実行し,計算時間を計測しました
- 処理は,OpenPoseをコンテナ実行するDockerfileで実行しました
実験対象データ
- 1名の人間が,比較的ゆっくりした動作を行う様子を,定点から撮影した動画
- FHD(1920x1080), 30fps
- 103 MB
- 8分53秒(533秒)
計測GPUインスタンスタイプ
- 処理は,OpenPoseをコンテナ実行するDockerfileで実行しました
インスタンスタイプ | 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(ストレージ)の費用,通信費用が掛かりますが,ここでは省略します
実行コマンド
-
OpenPoseをコンテナ実行するDockerfile に書かれた,動画解析コマンド
- 顔検出,手検出,パーツ推定オプション込み
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 |
パフォーマンス比
費用比
- g3sの費用(0.75USD/hour)と比較して,投入コストあたりで得られるパフォーマンスを示すグラフを以下に示します
考察
結果のまとめ
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インスタンスもあるので,こちらの評価も取りたいです.
参考
Author And Source
この問題について(AWS GPUインスタンスの性能検証(OpenPoseで実アプリベンチマーク)), 我々は、より多くの情報をここで見つけました https://qiita.com/myoshimi/items/86a60a92adc343712e2b著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .