Download DATA-INTENSIVE COMPUTING IN SQL WITH GPUS 10/7/2010

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Entity–attribute–value model wikipedia , lookup

Extensible Storage Engine wikipedia , lookup

Concurrency control wikipedia , lookup

Oracle Database wikipedia , lookup

Tandem Computers wikipedia , lookup

Database wikipedia , lookup

Microsoft Access wikipedia , lookup

Ingres (database) wikipedia , lookup

Microsoft Jet Database Engine wikipedia , lookup

Btrieve wikipedia , lookup

Database model wikipedia , lookup

Team Foundation Server wikipedia , lookup

Relational model wikipedia , lookup

Clusterpoint wikipedia , lookup

Open Database Connectivity wikipedia , lookup

SQL wikipedia , lookup

PL/SQL wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

Transcript
DATA-INTENSIVE COMPUTING
IN SQL WITH GPUS
10/7/2010
Tamás Budavári, Richard Wilton / Johns Hopkins U.
Basic Concept
Tamás Budavári
2
Database server
SQL code
SQL-callable procedure
Out-of-process server
IPC
CUDA functionality
Implement computational functionality in a separate process
from the database server process
 Access through inter-process communication (IPC)

10/7/2010
Why Do It This Way?
3
Tamás Budavári
Database server
SQL code
SQL-callable procedure
Out-of-process server
IPC
CUDA functionality
Avoid DBMS permissions, threading restrictions, etc.
 Encapsulate native-code functionality (CUDA API calls)
 Exploit lower-level APIs to facilitate data movement
between DBMS and CUDA implementation

10/7/2010
SQL Callable Procedure
4
Tamás Budavári
Database server
SQL code
Out-of-process server
IPC
SQL-callable procedure

CUDA functionality
SQLCLR procedure in C#
Fills a shared-memory buffer with a SQL result set
 Signals the out-of-process server and waits for a response
 Returns data from the IPC buffer to the database server

10/7/2010
Out-Of-Process Server
5
Tamás Budavári
Database server
SQL code
SQL-callable procedure
Out-of-process server
IPC
CUDA functionality
Dynamically loads the CUDA implementation
 Invokes a method with a reference to the IPC buffer
 Signals the SQL-callable procedure that data is ready

10/7/2010
Case Study 1: Spatial Statistics
6
Tamás Budavári

Correlation functions
 Histogram

8 bins
State of the art
 Dual-tree

of distances
traversal
High resolution bins?
 Just
like brute force
10/7/2010
Case Study 1: Spatial Statistics
7
Tamás Budavári

Correlation functions
 Histogram

State of the art
 Dual-tree

of distances
800 × 800 bins
8 bins
traversal
High resolution bins?
 Just
like brute force
10/7/2010
User-Defined Functions
8
Tamás Budavári

Pair counts computed on GPU
 Returns

2D histogram as a table (i, j, cts)
Calculate the correlation fn in SQL
10/7/2010
User-Defined Functions
9
Tamás Budavári

Pair counts computed on GPU
 Returns

2D histogram as a table (i, j, cts)
Calculate the correlation fn in SQL
10/7/2010
Async SQL Interface
10
Tamás Budavári
10/7/2010
590 Trillion Galaxy Pairs
11
800
800××800
800bins
bins
Tamás Budavári
Summary
12
Tamás Budavári

New Moore’s law in GPUs – let’s use them!

Novel extension to SQL Server
 Provides
direct access to multiple GPUs
 Inter- and intra-task GPU parallelism
 Also enables distributed parallel queries, MPI…

Scientific applications
 Corr
fn, xmatch, photo-z and gene sequencing…
10/7/2010
13
Tamás Budavári
10/7/2010