2015-01-01から1年間の記事一覧

PostgreSQLのデータ構造はなぜ並列プロセッサ向きではないか。

今年もPostgreSQL Advent Calendar 2015に参加しています。前からちょくちょく『PG-StromってXeon Phiだとどーなんですか?』的な質問を受ける事があんですが、データ構造から見て難しいので『勘弁!』という理由を紹介してみたいと思います。PostgreSQLのレ…

Sort by Table Partition?

v9.6向け開発ネタとして思い付いたアイデア。 でも、個人的には他に優先すべき機能*1もあるので、たぶん自分ではできない。誰かヨロシク的な。タイムスタンプをキーとして複数の子テーブルにパーティション化されたテーブルがあるとする。 これは結構一般的…

NVRTCライブラリを使う

GPU

CUDA7.0RCの新機能の一つに、Runtime Compilationというのがある。従来、cuModuleLoad()などでGPU用バイナリをロードして使う際には、nvccを実行してC/C++のソースからPTXなりのバイナリを生成する必要があった。CUDA 7.0RCのRuntime Compilationは、これをO…

GpuNestedLoop

現時点でPG-Stromが対応しているワークロードは以下の4つ。 全件探索 (GpuScan) 表結合 (GpuHashJoin) 集約演算 (GpuPreAgg) ソート (GpuSort) これに、GPU内の計算処理で使うデータ型や関数が対応しているかどうかで、GPUオフロードできるかどうかが決まる…