[AWS/GCP] CGレンダリング用のインスタンス選択

急ぎの仕事に気を取られてスケジュール確認していなくて、飲み会の予定をうっかりすっぽかしてしまったので、Blogの更新なぞやっている今日このごろ、皆さんいかがお過ごしでしょうか。

前回Amazon Web Services(AWS)とGoogle Cloud Platform(GCP)のCINEBENCHによるベンチマーク比較をやってみました。

[AWS/GCP] Amazon Web Services とGoogle Cloud Platform のインスタンスのCPU性能をCINEBENCHでベンチマークしてみた

結果としては同一スレッド数ならばAWSが3割ほど性能が良いという、AWSの勝利。
ただ、CGレンダリングとして考えた時に、GCPにも分があるというのが今回のお話。

前回の比較表です。

ThreadsAWSGCPAWS/GCP
2157.6115.61.36
4319.0231.81.38
8633.4461.81.37
161262.01019.81.24

これを見ると、CINEBENCHのスコアが同一スレッドのインスタンスでは約3割性能が良いのがわかります。
これだけならばAWSを選択するということになりますが、実はちょっと落とし穴があります。

AWSのC4インスタンスとGCPのn1-standardとn1-highcpuで価格とスペックを比較してみます。
基本的にスレッド数がいくつでも傾向は同じなので、ここでは16スレッドのインスタンスで比較してみます。
大勢に影響はありませんが、AWSは東京リージョン、GCPはasiaリージョンの価格を使用しています。

AWS C4.4xlargeGCP n1-standard-16GCP n1-highcpu-16
Threads16 1616
Memory 30GB 60GB14.40GB
Price $1.117 $0.880$0.672

これを見ると、GCPの方が価格が結構安いです。
AWSの価格は、n1-standard-16の約1.27倍、n1-highcpu-16の約1.66倍です。
n1-standard-16との比較だとCPU性能比に比例しているだけと考えられますが、n1-highcpu-16との比較だと結構AWS劣勢と言えます。
もっともn1-highcpu-16はメモリ容量がC4.4xlargeの半分以下しかないので、同列に比べてはいけませんが。

ただ、実際のレンダリングにおいて考えると、14.40GBというメモリ容量で困ることはそれほど多くないと思います。
14.40GBのメモリで足りない場合はn1-standard-16を使用すれば良いですし、この場合逆にGCPの方がメモリが2倍になって価格はまだ安いです。

この辺りのバランスがGCPの方がお手頃だなーと思います。
AWSの方もメモリがもうちょい少なくてもいいから安いプランがあれば良かったんですがね…。

AWSにはリザーブドインスタンスがあるじゃん! という声が聞こえてきそうですが、CGレンダリングの仕事の特性を考えると1年間以上の契約というのはちょっと使い勝手が悪いです。
それに、GCPの場合はあらかじめリザーブドインスタンスを購入することをしなくても、継続して使い続けていた場合に最大40%までディスカウントされるSustained use discountというものもあります。

Sustained use discounts

この点でもGCPの方が柔軟性が高い価格体系と言えます。

あと考えられるところとしてはAWSのスポットインスタンスを使用する場合ですが、これも東京リージョンだとGCPのプリエンプティブインスタンスの価格に劣りますね。
USだと若干逆転できるようですが、いずれにしてもスポットインスタンスやプリエンプティブはちょっと使いづらいのが難点です。

結論としてまとめるなら、絶対性能のAWS、コストパフォーマンスのGCPというところでしょうか。
皆さんの現場に応じてこのあたりはよく調べるのが良いと思います。

そんなところで、今日のところはここまで。


コメント