見出し
おすすめリスト
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