Room: Palais I-III
Heterogeneous processor architecture is a direction of the recent semiconductor evolution. Major vendors tend to allocate more transistors on GPU cores than before, due to power consumption and dark silicon problems. It also means we are required to design software to pull out hardware capability, for better performance-investment ratio on hardware.
The upcoming PostgreSQL v9.5 has a fantastic functionality - custom-scan/join interface that allows extension to implement its own logic in addition to the built-in plans, like hash-join or nested-loop. We implemented a custom-scan/join provider, named PG-Strom, that off-loads some CPU intensive workloads to GPU processors, for asynchronous and super parallel processing. It shows us a surprising performance improvement up to x10~x20 times faster in the heavy join and aggregation workloads, with no change of SQL query. At the point of submission, it supports full table scan, hash-join, nested-loop and aggregation in GPU side, towards the multiple data types includes variable-length data.
This session will introduce brief features of GPU and CUDA, its implementation and characteristic algorithms, evaluation result towards field workload and our future roadmap.