inVRsion

Incredibuild Cloud on AWSの導入で、VRシミュレーションの高速化とコスト削減を実現

inVRsion

invrsion-logo

inVRsionはイタリアを拠点とするスタートアップで、リテール業界向けのVR用SaaSサービスを提供しています。inVersionのソリューションShelfZone®では、小売スペース、ショールーム、製品、ショッピング体験をシュミレーションでき、アクセンチュア、ネスレ、DIESEL、ペプシコをはじめとする大手小売メーカーから大きな信頼を得ています。

「インストールが終われば、Incredibuildがバックグラウンドで動いていると意識することはありません。全く管理しなくてもオートスケールで分散処理を行います。」

Michele Antolini

inVRsion CTO

課題

「当社のSaaSサービスでは、膨大なスクリプトを使用して仮想店舗の店レイアウトや商品配置のデータを全て取得しています。シミュレーションを行うには、スクリプトのジョブが終了するまで長い時間待たなければなりませんでした」と語るinVRsion社CTOの Michele Antolini (PhD)   氏。

ユーザーの店舗デザインをUnreal Engineプロジェクトに自動的に変換するためには、膨大なスクリプトが実行されます。 特にC++コードやシェーダーのコンパイルやライティングの処理には、演算負荷が高いハイスペックのマシンが必須です。

inVRsion社ではAWS上でSaaSサービスを提供していますが、Unreal Editor上の大型自動ビルドのワークロード処理には、GPU搭載のAWSインスタンスが必要だったため、高性能GPUを搭載したg3.8xlargeタイプをオンデマンドで使用していました。

  • インスタンスの起動時間  –  inVRsionのスクリプトは、g3.8xlargeインスタンス(32コア)の予約から始まります。「g3.8xlargeインスタンスは通常2〜3時間で再利用できるようになりますが、新型コロナのロックダウン中は最長3日かかりました。処理を開始するためだけに長時間待たなければならなかったのです。」(Antolini氏)
  • シミュレーションの時間 – 全てのC++とUnreal Engineのワークロードを1つのg3.8xlargeインスタンスで実行すると、メモリとCPUを目一杯消費して1回のシミュレーションで146分もかかりました。g3.4xlargeでは平均194分 (+30%) でした。
  • AWSのコスト – 処理に時間がかかる上にEC2タイプも高額なため、シミュレーションには莫大なコストがかかりました。

「新型コロナのロックダウン中は、インスタンスの起動に最長3日かかりました。処理を開始するためだけに長時間待たなければならなかったのです。」

Michele Antolini

inVRsion CTO

Incredibuildの導入

  • ボトルネックの解消

inVRsion社にとって、g3.8xlargeマシンはボトルネックでした。あまりにも高額で、可用性が低く、しかもワークロードを処理するには遅すぎます。

Unreal EngineでのGPUの利用は、実際のコンパイル処理ではなく処理開始時のみ必要です。そのため、GPU搭載マシンで処理を開始して、GPU非搭載マシンが実際の処理を行えば処理時間を大幅に短縮できる可能性がありました。

inVRsion社は2014年より、Incredibuildを導入してビルドとCIパイプラインの高速化を行ってきました。今回はIncredibuild Cloud on AWSを利用し、シミュレーションのC++のビルドとUnreal Engineのシェーダーコンパイルをg3インスタンスから切り離し、AWSの仮想「ヘルパー」に分散することにしました。

GPUは処理の開始時しか必要でなくなったので、ビルドを「開始する」マシンは、以前に比べて50%安価なg3.4xlargeにダウングレードできました。

Incredibuildはコードの並列化とシェーダーのコンパイルに必須でした。ライティングのベイク処理(ライトマスCPU処理のSWARM Agent) には、g3.4xlargeインスタンスのCPUでは不充分なため、Incredibuildのヘルパーが不可欠でした。

  • 単一ジョブから並列ジョブへ

ワークロードを分散するヘルパーマシンには、複数のc5.xlインスタンスを使用する方が、1台の高性能インスタンスに頼るよりも可用性と費用対効果が高くなるはずです。さらにIncredibuild Cloudでは、余分なインスタンスは状況に応じて自動的にスピンアップ/ダウンされるので不要なコストを削減できます。

Incredibuild Cloudでは、複数のインスタンスにシームレスかつ並列に処理を分散できます。より安価なAWSインスタンスを使用することで、当初に比べて2倍の数のCPUを確保できました。Incredibuild Cloudの導入で、ほぼゼロの予約時間、納得のいく処理速度、コスト削減、を実現しました。

  • 分散処理のオートスケール

Incredibuild CloudはAWSとシームレスに統合されており、必要な時に必要な数のインスタンスへオートスケール可能です。「インストールが終われば、Incredibuildがバックグラウンドで動いていると意識することはありません。全く管理しなくてもオートスケールで分散処理を行います。」

Incredibuild Cloudのオートスケールとプロジェクト間でのインスタンス共有機能により、CPUを最大活用することが可能になります。また、自動的にスポットインスタンスを利用することで、コストをさらに削減してROIを向上できます。

結果

現在、Incredibuild Cloud on AWSは、同社のSaaSインフラの一部として動作しています。

  • シミュレーション費用48%削減 | € 9,72  >>>  € 5,05
  • コンパイル時間16% 高速化 |  2時間26分 >>> 2時間04分
  • EC2の待機時間の100%解消 | 2〜3時間 >>> 数秒

AWSアドバンスドテクノロジーパートナーズ認定

IncredibuildはAWS Partner Network (APN) プログラムを通じて、AWSアドバンスド テクノロジー パートナーズに認定されました。IncredibuildはAWSにシームレスに連携されており、ワークロード処理の高速化とコストの最適化を実現します。

Incredibuild時間

  • コンパイル時間

    2 hours
    2 hours
  • EC2の起動時間

    0 mins
    3 hours
With Incredibuild
Without Incredibuild