2024年3月15日に開催された『「GPUを活用したビッグデータ分析基盤を構築しよう」PG-Strom v5リリース記念』イベントでお話をしてきました。
bakusokudb.connpass.com
15分の枠の予定だったのですが、公開された動画を見ると23分あるので、どうやら23分話していたようです(笑)。
PG-Strom
最近は仕事としてPG-Stromの検証をして、皆さんに使ってもらうためのノウハウを溜めたりしています。 PG-Stromは一部の人からは強い興味関心の対象となっていますが、まだまだ広く知られているとは言えないかな、と思っています。
簡単に書くと
- PG-Strom は RDBMSです。PostgreSQLの extension として動作します。使い勝手はPostgreSQLそのものです。
- フツーのRDBMSは処理にCPUだけを使うものが多いですが、PG-StromはGPUのパワーを使います。5000とか8000並列なのでハマる処理は相当速いです。
- 日本で開発。機会あれば開発者に日本語で疑問点を尋ねたりできます(今回みたいに)。
という感じ。(内部でのデータ転送を少しでも速くする工夫とか、無駄なものを転送に乗せないようにする工夫とか他にも色々仕掛けがあります)
たくさんの参加御礼
そんなPG-Stromが、昨年末の12月に Version 5 として大幅にバージョンアップしました。一つ前のバージョンが version 3 だったので、約1.7倍!(そこを計算で比較するのは適切ではない)
version 3 で今ひとつイケてなかった仕組みを大量に設計しなおして、より使いやすくより高速になったバージョンです。
そのリリース記念として、初めてこういうイベントを開催しました。
まぁこんな感じなので、誰も来てくれないんじゃないか、せめて知り合いが2,3人でも来てくれれば、動画公開用の「公開収録」くらいのつもりで話せばいいか、なんて思っていました。
ところが!ですよ。
蓋を開けてみれば会場に14人(登壇者3名含む)。はじめましての方も、遠くから来てくださった方も、旧知の方では「この人が興味を持ってくれるんだ!嬉しい!」という方も。
ご参加ありがとうございました。
私の発表
私からは、PG-Strom を用いたスタースキーマベンチマーク(ssb)の結果を紹介しました。 初めて紹介する場だったので、ややssb自体の説明をじっくりとやることにしました。ベンチーマークの性質、データ規模等について理解いただけたのではないかと思います。パフォーマンス測定結果は、PostgreSQLの標準のテーブル(heap)に乗ったままのデータを、PG-Stromを使って、つまりGPUで処理させることでどれくらい変化するのかをお伝えしました。実は、もっと速くする方法があるので、またの機会に紹介したいと思います(Apache Arrowファイルを用いる方法です。Arrowファイルを使っても速くなるものとあまり効果が得られないものがあるので、そんな話も追々)。
開発者海外さんの発表
PG-Stromの歴史を辿りながら PG-Strom v5 の工夫のポイントを紹介してくれました。私が v3 で不満に感じていた部分が v5 で解消されている話などもありました(件数少ない時に、むしろPG-Stromを使わないほうが速かった件など)。GPUの内部をイメージし切れていないので「連続状態のデータとなるように」と言われても未だに分からない部分も多いのですが、ひとつひとつ課題やアイデアの実現などを重ねて、このバージョンができあがったことがよく分かるお話でした。こういう話は(細かいところがわからなくても)聞いていてワクワクしますね。
資料と動画公開
当日の発表動画は、YouTube の『爆速DB「PG-Strom」』チャンネルで公開しています。チャンネル登録してぜひご覧ください。
https://www.youtube.com/@bakusokuDB
私の発表資料は Speakerdeckで公開しています:
speakerdeck.com
今後
終了後の交流会も、短い時間ながら大変盛り上がりました。大崎の夜は早い(笑)。あと1時間くらいお話したいところでしたね。
PG-Stromの話題に興味を持ってくれる人がたくさん居ることもわかったので、おそらくまた2回目、3回目を開催していくと思います。ぜひまたご参加ください。今回参加叶わなかった方も次回は会場でお会いしましょう!
Speakerdeckで公開したスライドでは画像がツブれている可能性があるので、Star Schema Benchmark のクエリの早見表をこちらにも貼っておきます。実は途中から記述方針を変えたのでよく見ると首尾一貫していない記述方があるのですが、ご愛敬という事で。