Another Word For It Patrick Durusau on Topic Maps and Semantic Diversity

January 31, 2012

PGStrom (PostgreSQL + GPU)

Filed under: CUDA,GPU,PGStrom,PostgreSQL — Patrick Durusau @ 4:32 pm

PGStrom

From the webpage:

PG-Strom is a module of FDW (foreign data wrapper) of PostgreSQL database. It was designed to utilize GPU devices to accelarate sequential scan on massive amount of records with complex qualifiers. Its basic concept is CPU and GPU should focus on the workload with their advantage, and perform concurrently. CPU has much more flexibility, thus, it has advantage on complex stuff such as Disk-I/O, on the other hand, GPU has much more parallelism of numerical calculation, thus, it has advantage on massive but simple stuff such as check of qualifiers for each rows.

The below figure is a basic concept of PG-Strom. Now, on sequential scan workload, vanilla PostgreSQL does iteration of fetch a tuple and checks of qualifiers for each tuples. If we could consign GPU the workload of green portion, it enables to reduce workloads of CPU, thus, it shall be able to load more tuples in advance. Eventually, it should allow to provide shorter response-time on complex queries towards large amount of data.

Requires setting up the table for the GPU ahead of time but performance increase is reported to be 10x – 20x.

It occurs to me that GPUs should be well suited for graph processing. Yes? Will have to look into that and report back.

1 Comment

  1. […] PGStrom, PostgreSQL. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own […]

    Pingback by PGStrom (PostgreSQL + GPU) « Another Word For It | Programmer Solution — January 31, 2012 @ 4:59 pm

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

Powered by WordPress