推奨ツール: GPU 用に特別に構築された高性能ホイール

6 年前

見出し

おすすめリスト

Dao Wei

特色图像

超神経質で

GPU とデータベースにはそれぞれ独自の強みがあります。GPU は機械学習などのタスクの処理に適していますが、データベースは複雑な結合計算など、特定の要件を伴う計算に適しています。

現在、おなじみの MapD や Kinetica など、GPU アクセラレーションを提供するデータベース ソリューション製品がいくつかあります。今日は、若いオープン ソース製品である BlazingSQL を紹介します。

BlazingSQL は、RAPIDS 上に構築された GPU 高速データベース クエリ ツールです。BlazingSQL は RAPIDS を拡張し、ユーザーが GPU メモリ内の Apache Arrow で直接 SQL クエリを実行できるようにします。

他の同様の製品よりもはるかに高速な GPU への適応性と速度に加えて、ほとんどの SQL データ ウェアハウスでは企業がデータを独自に抽出してコピーする必要がありますが、BlazingDB は Apache Parquet から直接データを読み取ることができるため、データ チャネル アーキテクチャが簡素化されます。また、高パフォーマンスのワークロードもサポートできます。

さらに重要なことは、BlazingSQL は NVIDIA および Samsung からも投資を受けており、NVIDIA と非常に良好な協力関係を維持していることです。

性能評価

ツール間のパフォーマンスを比較する場合は、比較ベンチマーク テストを実行し、最初にエンドツーエンド分析ワークロードを実行する必要があります。

* 手順は次のとおりです: データ レイク > FTL 機能エンジニアリング > XGBoost トレーニング

* Apache Spark と BlazingSQL をそれぞれ使用して、GCP 上に同じ価格の 2 つのクラスターを構築しました。

* 最終的な結果は、BlazingSQL が Apache Spark よりも 5 倍高速に実行されることです。

(新しいバージョンは、同じワークロード上で Apache Spark よりも 20 倍高速に実行されます。)

良い馬には良い鞍がある

Blazing SQL が効率的な実行結果を達成できるのは、安価でありながら強力なパフォーマンスを備えた新しいエントリーレベルの GPU である GCP の T4 GPU を使用しているためです。

新しい T4 GPU を使用することでコストが半分になり、価格を安定させるために Apache Spark クラスターを 4 CPU ノードに削減しました。

しかし、最終的な結果として、たとえ GPU メモリが半分になったとしても、ワークロード全体は大幅に高速化されます。

Blazing SQL エンジニアは、「SIMD Expression Interpreter」と呼ばれる、GPU DataFrames (GDF) 専用に構築された GPU 実行カーネルも開発しました。

SIMD 式インタプリタについて説明すると多くのスペースが必要になるため、ここでは、SIMD 式インタプリタがどのように動作するのか、またなぜこのようなパフォーマンスの向上がもたらされるのかについて、簡単に詳細を説明します。

SIMD 式インタープリターのパフォーマンス向上は、主に次の重要な手順によって行われます。

1. このマシンは複数の入力をサポートしています。これらの入力は、GDF 列、テキスト、または関数です。

2. これらの入力をロードすると、SIMD 式インタープリターは GPU 上のレジスタの割り当てを最適化します。これにより、GPU の使用率が増加し、最終的にパフォーマンスが向上します。

3. さらに、仮想マシンはこれらの入力を処理し、複数の出力を同時に生成します。たとえば、次の SQL クエリがあるとします。 SELECTcolA +colB * 10, sin(colA) — cos(colD) FROM tableA