メルマガはこちらから

PAGE
TOP

PG-Strom v3.0をリリース

PR TIMES

ヘテロDB株式会社
GPUDirect StorageやGPU版PostGISに対応し、IoT/M2M機器のログ処理や、モバイル機器の位置データ分析をさらに強化

本日、ヘテロDB社を中心とするPG-Strom開発者チームは、NVIDIA GPUDirect Storage対応や、GPU版PostGIS・GiSTインデックス対応などの新機能を搭載した、PG-Strom v3.0をリリースしました。 主要な変更点は以下の通りです。 ・NVIDIA GPUDirect Storageに対応しました。 ・いくつかのPostGIS関数がGPUで実行可能になりました。 ・GiSTインデックスを使用したGpuJoinに対応しました。 ・更新頻度の高いデータ向けにGPUキャッシュ機能を実装しました。 ・ユーザ定義期のGPUデータ型・演算子に対応しました。(実験的) ・ソフトウェアライセンスをGPLv2からPostgreSQLライセンスへと切り替えました。


PG-Stromの概要
PG-StromとはPostgreSQLデータベース向けに設計・開発されたオープンソースの拡張モジュールで、強力な計算能力を有するGPUを活用して、大量データの検索や集計を含むSQL処理を透過的に高速化します。
2012年に最初のプロトタイプが公開されて以来、PG-StromはGPUやNVME-SSDなどハードウェアの進化と軌を一にした機能強化が行われており、2017年以降はヘテロDB社が開発の中核を担っています。

PostgreSQLにPG-Stromをインストールすると、システムで利用可能なGPUを認識し、「GPUでの実行がより合理的」なSQLに対してGPUで実行可能なネイティブコードを自動生成。SQLを透過的にGPUで実行する事で、検索・集計ワークロードの高速化を行います。
PG-Stromはテラバイトを越える大量データ処理を念頭に、GPUとストレージを最短距離で結びつける「GPUダイレクトSQL」機能を有している事が大きな特徴です。これはP2P DMAを用いてNVMEストレージ上のデータを直接GPUへ転送するという機能で、今回、v3.0でNVIDIA GPUDirect Storageに対応した事で、従来からのローカルNVME-SSDだけでなく、リモートのNVME-oFデバイスや、共有ファイル上のデータも利用可能となりました。
これを Apache Arrow 機能と併用する事で、家電や自動車、モバイル機器といったIoT/M2Mデバイスが生成した大量の時系列データを、OSのファイルコピー操作だけで分析系DBにインポートする事ができるようになるため、データ分析の大幅な簡略化が可能となります。

また、v3.0で新たに加わったGPU版PostGIS・GiSTインデックス機能は、自動車や携帯電話など移動体デバイスが時々刻々と生成する位置情報と、広告や渋滞情報などエリア情報との突合といったワークロードにおいて威力を発揮します。
このようにPG-Stromは、とりわけデバイスの生成するログ情報を集積し、これを使い慣れた PostgreSQL のインターフェースやSQL構文を通じて、高速に処理するためのオープンソースソフトウェアです。

新機能 - GPUDirect Storage対応

PG-Stromでは、これまでも専用のLinux kernelドライバを用いて、P2P-DMAによるNVME-SSDからGPUへの直接データ読み出しに対応してきました。
今回、v3.0において、2021年6月29日にNVIDIA社よりリリースされたCUDA Toolkit 11.4の新機能、GPUDirect Storageに対応した事で、これまでのローカルNVME-SSDだけでなく、リモートのNVME-oFストレージや、サードパーティによるSDS(Software Defined Storage)ドライブ、またそれらの上に構築された共有ファイルシステムからの直接データ読み出しに対応しました。
これらの機能強化により、PG-Stromのストレージ層の拡張性や設計の柔軟性が大幅に向上するほか、ログデータの保存・検索に有用なApache Arrowファイル形式を用いてのデータ交換も、従来以上に容易となります。

新機能 - GPU版PostGISとGiSTインデックス

PG-Strom v3.0ではいくつかのPostGIS関数にGPU版を実装し、SQLのWHERE句やJOIN結合条件でこれらの関数を使用できるようになりました。
また、GpuJoinで点や多角形などのジオメトリ要素を用いたテーブル結合を行う際には、GPU側でGiSTインデックス(R木)を参照して高速な絞り込みを行えるようになりました。
PostGISは地理情報分析の分野で広く使用されているPostgreSQL向け拡張モジュールで、20年近くの歴史を持っています。
GPU版PostGISでは、携帯電話や自動車といった移動体デバイスの最新の位置情報(Real-time Location Data)と、市区町村や学区の境界といったエリア情報(Area Definition Data)との間で行われる突合処理を主たるターゲットとして、比較的利用頻度が高いと考えられるPostGIS関数をピックアップし、GPUに移植を行いました。
これらの機能強化は、例えば一定のエリア内に存在する携帯電話に広告を配信したい時、例えば一定のエリア内に存在する自動車に渋滞情報を配信したい時など、位置をキーとして該当するデバイスを検索する処理に効果を発揮します。

------------------------------------------------


PG-Strom v3.0リリースノート

http://heterodb.github.io/pg-strom/ja/release_v3.0/


PG-Stromプロジェクト GitHub

https://github.com/heterodb/pg-strom



HeteroDB株式会社は、PG-Stromのさらなる機能強化や性能改善をはじめとしたソフトウェアの改良にコミットし『オモシロ技術をカタチにする』事にこだわっていくと共に、GPUやPostgreSQL、Linuxといった関連技術を通じてお客様システムの設計、運用、改善をサポートして参ります。

本件に関するお問い合わせ先

ヘテロDB株式会社
メール: contact@heterodb.com
電話: 03-6409-6445
住所: 品川区北品川5-5-15 大崎ブライトコア4F(品川区産業交流施設SHIP内)