最新の STAC ベンチマークで Google Cloud のティックデータ分析のパフォーマンスが最大 18 倍向上
Google Cloud Japan Team
※この投稿は米国時間 2022 年 5 月 10 日に、Google Cloud blog に投稿されたものの抄訳です。
Securities Technology Analysis Center(STAC®)は対話や調査を通じて金融業界のテクノロジーの調査と評価を改善する組織です。先般、同組織は Google Cloud の STAC-M3™ ベンチマーク スイートの監査を行いました(SUT ID KDB211210)。この企業ティック分析ベンチマークは、市場の履歴データに対してさまざまなコンピューティング負荷の高い I/O 集約型の処理を実行するソリューション スタック(データベース ソフトウェア、サーバー、ストレージなど)の性能を評価するものです。
以前の STAC-M3 ベンチマーク監査(SUT ID KDB181001)を受けて再設計された Google Cloud アーキテクチャは、最新バージョンの kdb+ 4.0(KX の時系列データベース)を利用して、大幅な改善を実現しました。具体的には、ベンチマークの 41 件中 35 件が新しいクラスタで高速化され、Google Cloud の従来の結果よりも最大 18 倍高速になりました。ポイントは次のとおりです。
Google Cloud における以前の STAC-M3 Antuco スイートの結果との比較
平均応答時間ベンチマーク 17 件中 13 件が高速化
キャッシュ保存を可能にする Year-High Bid のバージョンでは、18 倍高速化され、実行時間を 94% 短縮(STAC-M3.ß1.1T.YRHIBID-2.TIME)。これにより、公開されたすべての結果の全体的な記録も塗り替えられました。
Year-High Bid でスループットが 9 倍高速化(STAC-M3.ß1.1T.YRHIBID.MBPS)
Google Cloud における以前の STAC-M3 Kanaga スイートの結果との比較
平均応答時間ベンチマーク 24 件中 22 件が高速化
4 つの Market Snapshot ワークロードがいずれも 10 倍以上高速化(STAC-M3.ß1.10T.YR[2,3,4,5]-MKTSNAP.TIME)
2 年間分のデータを含む Year-High Bid でスループットが 5 倍高速化(STAC-M3.ß1.1T.2YRHIBID.MBPS)
「STAC-M3 の基準は、ティック分析スタックのパフォーマンスを明らかにするために金融業者が設計しました。Google Cloud の最新の STAC-M3 監査で示されたような世代間の改善は、新しいアーキテクチャのパフォーマンスとスケールを評価する企業にとって重要なデータポイントです」と STAC のプレジデント、Peter Nabicht 氏は話します。
上述のパフォーマンス結果は、データ速度が速いマーケットでの即時回答、データや新しい定量的アプローチの追加による研究理論の掘り下げ、クラウド リソースをより迅速にリリースすることによるコスト削減など、実社会でのメリットにつながる可能性があります。これらは静的でコストのかかるオンプレミス環境では簡単ではありません。
STAC-M3: 高速なティック分析
より優れた結果を得るための設計
STAC-M3 監査のテスト対象スタック(SUT)は、独立した計算ノードの間でデータをシャーディングして、クラウドの水平方向のスケーラビリティを活用するように設計されています。12 の Google Compute Engine N2 インスタンスで構成されるクラスタでは Intel Cascade Lake が使用され、各ノードでは 32 個の vCPU、160 GiB のメモリ、9 TiB のローカル NVMe SSD が使用されました。STAC-M3 Antuco および Kanaga の完全なデータセットはクラスタ全体に分割され、kdb+ スクリプトによってクエリがノード間に分散されました。
このアーキテクチャは前述のワークロードに対する最適解でしたが、他のワークロードではノードを 12 に制限する必要はありません。データ シャーディング アルゴリズムは、ワークロードの需要に応じてノード数をスケーリングできます。この方法でクラスタをスケールアウトすると、利用可能なストレージの合計プールが増えます。つまり、このアーキテクチャは、数百ものノード間でペタバイトのストレージにスケールアウトし続けることができます。
数十万ものプロセッサを使用した大規模なクラスタを低コストでオンデマンド生成し、ジョブの完了時にリソースを削除する機能により、大量の財務データセットで計算を実行する際の経済性を変化させるだけではありません。オンプレミスの固定ハードウェアの制約のせいで以前は見過ごされていた新しい種類の問題の解決策を探る機会も得られます。この VM 構成の料金を確認するには、Google Cloud 料金計算ツールをご利用ください。プリエンプティブル VM を使用すれば、コストをさらに削減できます。
新しいクラスタで使用したノードやコア、メモリの総量は、過去に監査されたクラスタと同数でしたが、再設計されたアーキテクチャにより、ローカル NVMe SSD がもつ低レイテンシと高スループットを活用することができました。
オンデマンドのリソース
クラスタは、テストおよび監査時に Terraform と Ansible を使用してオンデマンドで作成されました。Infrastructure as code(IaC)技術で STAC-M3 データセットがフル装備されたクラスタを必要なときに作成し、ベンチマークの完了時に削除できるようになりました。また、クラスタ構成をデプロイごとにコードで適用することで、構成の不一致やずれも解消されました。クラスタを作成するための詳細な IaC 定義は STAC Vault のレポートから入手可能です。
クラスタが作成されるたびに、信頼性が高く安全なオブジェクト ストレージである Google Cloud Storage からローカル SSD に対して、ノードあたり最大 32 Gbps のラインレートでデータがストリーミングされました。57 TiB の STAC-M3 Antuco および Kanaga データ全体が、Cloud Storage からローカルストレージに約 20 分で複製されました。
各ノードは独立しており、独自のデータシャードが割り当てられているため、クラスタサイズを 2 倍にすることで、同期時間が半分に短縮されるか、同じ時間で 2 倍のデータがコピーされます。最大 100 Gbps の高帯域幅オプションを使用すると、比較的小さな追加費用でスループットが 3 倍になる可能性があり、現在の正規価格で約 11%~23% の値上げと引き換えに、データ同期パフォーマンスが 200% 向上します。高速ネットワーキングを利用して、シャーディングされたデータを大規模クラスタに並行してキャッシュに保存することで、大規模なワークロードでも Cloud Storage にバルクデータを保存することが可能になります。
大きなコンピューティング クラスタで膨大なデータセットを処理するクオンツにとって、宣言型コードとしてのインフラストラクチャの詳細な記述や、弾力性のあるリソースのオンデマンド作成、安価なバルク ストレージからのデータの高速なキャッシュへの保存、計算完了時のリソース無効化などの機能は、オンプレミス クラスタの拡大が数か月待たされるのと比べて劇的な変化です。また、クラウド インフラストラクチャを使用する説得力のある理由にもなります。
Google がどのように API ドリブンのクラウド リソース向けのクラスタを設計、最適化したかについては、新しいホワイトペーパーをご覧ください。
STAC-A2™: デリバティブ リスクを計算する
Google は 2018 年、要求水準の高い STAC-M3 ベンチマーク スイートで大規模なティック履歴データセットを分析すると、クラウド インスタンスはベアメタルのパフォーマンスを超える可能性があることを示しました。昨年、Google Cloud のパートナーである Appsbroker は、Google Cloud の STAC-A2 でデリバティブ リスクを計算する場合にも同じことが言えることを示しました。Appsbroker が Google Cloud で記録的な STAC-A2 コンピューティング クラスタを構築した方法については、ブログ投稿をご覧になるか、STAC Report に直接アクセスしてください。ポイントは次のとおりです。
10 台の仮想マシンで構成されるクラスタをベースにした本ソリューションは、一般に報告されている他のすべてのソリューションと比較して、次のような特徴がありました。
最も高いスループット(STAC-A2.β2.HPORTFOLIO.SPEED)
問題のサイズが大きい場合、最速のコールド時間(STAC-A2.β2.GREEKS.10-100k-1260.TIME.COLD)
8 ノードのオンプレミス クラスタを含むソリューションと比較して(SUT ID INTC181012)、この 10 ノードのクラウドベースのソリューションは次の特長があります。
最大パス数が 5 倍(STAC-A2.β2.GREEKS.MAX_PATHS)
スループットが 10% 向上(STAC-A2.β2.HPORTFOLIO.SPEED)
問題のサイズが大きいコールドランで 18% 高速化(STAC-A2.β2.GREEKS.10-100k-1260.TIME)
問題のサイズがベースラインの場合、コールドランで 9% 高速化(STAC-A2.β2.GREEKS.TIME.COLD)
Google Cloud でマーケットにおける競争優位性を見出す
投資管理業界では、どの企業も同じように競争上の優位性を求めています。ところが、独自の機会を見つけ、ますます大規模化するデータセットを管理することは大きな負担になってきています。クラウドは、クオンツが問題に取り組む方法を根本的に変え、同時に、クオンツがリスクを管理し、生み出す利益を増やせるようにします。
数万から数十万ものコアとペタバイト単位のストレージを使用したオンプレミスのコンピューティング クラスタを構築するには、莫大な先行投資に加え、月単位や年単位で測定されるリードタイムが必要です。Google Cloud では、それと同じスケールのものをオンデマンドでプロビジョニング可能で、支払いは使用量に応じた課金制です。さらに重要なのは、クラウド リソースの弾力性により、固定データセンター クラスタでは不可能なアジリティ、つまり、従来よりも速く探索、テスト、反復し、市場に対応できるアジリティが実現する、という点です。
分単位で数万のコアにスケールアウトし、すぐにリソースを削除できるということは、問題に対処できる速さが変わるだけではありません。固定されたオンプレミス ハードウェアの制約から解放され、多くの独立したクラスタでさまざまな種類の質問をより頻繁に、また同時に投げかけられるようになります。
こうした柔軟性や能力こそが、金融サービス企業が大量のデータセットを活用して結果を取得し、大量のデータのバックテストや調査、分析をいつでも必要なときにすばやく実施するための原動力です。
ホワイトペーパーをダウンロードして、最新の STAC-M3 ティック履歴分析ベンチマークの結果と、高速市場データ分析向けのクラウド インフラストラクチャの最適化方法について詳細をご確認ください。
- Google Cloud、テクニカル ソリューション コンサルタント Paul Mibus